Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

(Часть 1) (*Закрыта*)Я начинающий, подскажите пожалуйста, как...

1
11 ноября 2005 года
kot_
7.3K / / 20.01.2000
Уважаемый ALL!
Если вы только начинаете осваивать среду разработки ВСВ - предлагаю возникающие вопросы размещать в данной теме. Не создавайте пожалуста отдельные темы - типа "Как мне запустить свое приложение на другом компьютере", "Как перевести String в char*" и тому подобное. Такие темы будут закрываться с отсылку в эту. Не обижайтесь.
Кроме того, не брезгуйте плиз, пользоваться поиском хотя бы, по нескольким критериям. Иногда бывает так, вопрос который возник у вас не столь оригинален - вполне возможно, кто то уже спрашивал его до вас :) Поверьте, отвечать на одни и теже вопросы тоже не всегда интересно.
Если вы задаете свой вопрос на форуме - что бы получить наиболее эффективный ответ - следуйте пожалуйста несложным правилам. Они просты:
0. Опишите чего вы хотели добиться.
1. Опишите ошибку которая у вас возникла, по возможности с текстом самой ошибки.
2. Если вы считаете это необходимым - приведите фрагмент(пожалуста не помещайте в свой вопрос весь листинг) кода, на который жалуется компилятор, коротко описав переменные которые используются, и как они инициализируются. Исходники высылайте или выкладывайте только в том случае, если вас об этом просят.
3. Если проблема связана с функцией какой либо библиотеки - не стесняйтесь залезть в хелп и найти там ее описание. То чтовы не рубите в английском, зато читаете Рабле в оригинале - отнюдь не оправдание. Людей для которых английский - родной, здесь немного. Пользуйтесь словарем, это дает результаты :)
4. Не забывайте - может быть ВСВ и имеет раширения по сравнению со стандартом - но тем не менее это С++. Не забывайте проверить, что в ваш проект подключены все необходимые заголовочные файлы, а так же файлы библиотек.
5. Если вы задали вопрос один раз - не нужно его повторять или дублировать, или размещать посты типа "Ну что никто не знает" и т.д. Вы рискуете узнать много разных путей, но так и не получить нужный вам ответ.
6. Форум - дело сугубо добровольное. Здесь ни кто НЕ ОБЯЗАН искать ответы на ваши вопросы. Если вам отвечают - то это только исключительно из любви к вам. :)
7. Исходя из выше сказанного, если вам не отвечают - ну возможно вас не любят :)
8. Для тех, кому нужно написать курсовую, программу, решить контрольную или тому подобное - существует раздел форума Студентам
Размещайте, плиз, свои посты там. Сообщения размещенные в данной теме - не будут перемещаться - они будут удаляться.
9. Если вы хотите пообщаться, обсудить тему, не связанную с ВСВ - милости просим: В "Отдохнем". Флуд в данном разделе не приветствуется.
Ну вроде все. Если что забыл - или не так - поправьте.
Удачи.

1020 ответов / показаны 801 - 839

Страницы:
92
17 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
запутано как-то всё у тебя ))))

скажи лучше как происходит вот это

[QUOTE=Knopa]во второй форме Label1 принимает значение Label12(из второй формы)[/QUOTE]
263
17 апреля 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Knopa
Постараюсь обьяснить получше:
Суть программы в следующем:
Есть определенные характеристики которые выбирает пользователь,
Пользователь выбирает 3 характеристики,
после этого этот запрос отправляется в БД и по этим трем хар-кам выбирается число, которое затем записывается в Label12(допустим 18)
На первой форме есть кнопка,
По нажатию этой кнопки открывается вторая форма и Я по нажатию этой кнопки хочу взять значенние из Label12(=18) на первой форме и записать в Label1 на второй форме,
в первой форме я пишу(по событию нажатие клавиши):
void __fastcall TForm1::Button3Click(TObject *Sender)
{Form2->Label1->Caption=Form1->Label12->Caption;
Form2->Show();}
во второй форме я пишу:
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
Form2->Label2->Caption=Form2->Label1->Caption;
Form2->label2->Caption=Form2->label1->Caption;}
При запуске программы происходит следующее:
на форме 2 значения становятся такими:
Label1=18
Label2=Label1
А я хочу чтоб Label2=18!и сделать это не могу;


Так ты не в конструкторе формы присваивай значения:D , а в событии OnShow!!

22K
20 апреля 2007 года
Ardolix
14 / / 13.04.2007
Цитата: Evgeni
Извините, что задаю свой вопрос сдесь.
Не подскажете ли литературу по сетевому программированию, для начало хотелось бы сделать подобие чата.
Дайте плиз ссылочки!



http://www.codenet.ru/progr/bcb/Light-Chat.php

22K
20 апреля 2007 года
Ardolix
14 / / 13.04.2007
Есть 2 формы. Создаются по умальчанию (Auto create). Не допускается использовать с главной содержимое второй:
Form2->Image1->Picture->Graphic - выдает Access Violation error :(

Как можно решить проблему?
22K
20 апреля 2007 года
Ardolix
14 / / 13.04.2007
Разобрался. Это Касперки мешает. После выключения антивируса все работает.
28K
23 апреля 2007 года
Doal
4 / / 23.04.2007
Здравствуйте!!! помоги пожалуйста, я создал бд, в ней таблицы типа Paradox, вот как мне их перенести на другой комп, где не установлен BDE. хоть ссылочку на ресурс, где это может быть описано. заранее спасибо!!!
263
24 апреля 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Doal
Здравствуйте!!! помоги пожалуйста, я создал бд, в ней таблицы типа Paradox, вот как мне их перенести на другой комп, где не установлен BDE. хоть ссылочку на ресурс, где это может быть описано. заранее спасибо!!!


http://forum.codenet.ru/showthread.php?t=33957

1.8K
24 апреля 2007 года
Evgeni
188 / / 14.06.2006



Я просил литературу, а не исходники

29K
28 апреля 2007 года
Nikolay_vl
1 / / 28.04.2007
Подскажите пожалуйстат можно ли русифицировать все сообщения и диалоги Builderа. Я имею ввиду изменить надписи на кнопках диалогов. Например диалог в котором две кнопки "Yes" и "No". Мне нужно что бы было написано Да и Нет. Например солово Confirmation - мне нужно слово "подтверждение". Я хотел сделать как в Delphi - заменил все слова в Consts.pas с английского на русский и перекомпелировал модули. Теперь у меня в делфи все сообщения и ошибки на русском.
Хотелось бы и в Builder было то же самое. Пробовал поменять слова в pas файлах и перекомпелировать типа bcc32 consts.pas но выдаются ошибки при компиляции в каждой строке consts.pas .
Помогите разобраться.
Спасибо.
22K
02 мая 2007 года
Ardolix
14 / / 13.04.2007
Как можно сделать полосу прокрутки для отдельной панели?
246
02 мая 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: Ardolix
Как можно сделать полосу прокрутки для отдельной панели?



Наверно установить стиль (WS_HSCROLL|WS_VSCROLL)?

22K
02 мая 2007 года
Ardolix
14 / / 13.04.2007
Цитата: GIZMO
Наверно установить стиль (WS_HSCROLL|WS_VSCROLL)?



Вроде для TPanel не доступны такие стили. Если это не так, подскажите как сделать.

22K
02 мая 2007 года
Ardolix
14 / / 13.04.2007
Сделал посредством элемента TScrollBox.
29K
14 мая 2007 года
Hysteria
2 / / 14.05.2007
Здравствуйте)
Программа по заполнению шаблонов.В входном файле находит слова в квадратных скобках и заменяет их на то, что нужно.
Например.Шаблон: Меня зовут [name], мне [years] лет.Вводим в форме только Вася, 12, все расставляется по местам.Шаблон, а следственно, и количество слов в скобах изменяется (пользователь указывает это число в первой форме).И все вроде бы работает, НО.В выходном текстовом файле указывает то "Меня зовут Вася 12, мне Вася 12 лет", то еще какю-нибудь гадость.У меня глаз совсем замылился, так что

Прошу помочь исправить ошибку в коде!Пожалуйста.
Спасибо)

Код:
while (st[n])
 {
    if (st[n] != '[')
    fprintf(in, "%c", st[n]);
    else
    {
             for(int i=0; i<=Form2->ControlCount; ++i)
        {
        TEdit *ctrl = dynamic_cast<TEdit *>(Form2->Controls);
        if(ctrl)
        {
       fprintf(in, " %s ", ctrl->Text.c_str());
       while( (st[n]!=']') && (st[n]!='\0') )
          n++;
     }} }
     n++;
 }
1
14 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: Hysteria

Код:
while (st[n])
 {
    if (st[n] != '[')
    fprintf(in, "%c", st[n]);
    else
    {
        for(int i=0; i<=Form2->ControlCount; ++i)
        {
        TEdit *ctrl = dynamic_cast<TEdit *>(Form2->Controls);
        if(ctrl)
        {
       fprintf(in, " %s ", ctrl->Text.c_str());
       while( (st[n]!=']') && (st[n]!='\0') )
          n++;
     }} }
     n++;
 }


Ошибка в этой строке

 
Код:
for(int i=0; i<=Form2->ControlCount; ++i)


Точнее это не ошибка а не правильная вложенность цикла. У тебя при нахождении шаблона происходит обработка обоих эдитов. Соответственно перебор необходимо вынести выше и проблема исчезнет.

Цитата: Hysteria

[SIZE="3"]Прошу помочь исправить ошибку в коде!Пожалуйста.Желательно до завтрашнего вечера.[/SIZE]


не надо писать большим шрифтом и ставить сроки

29K
14 мая 2007 года
Hysteria
2 / / 14.05.2007
Спасибо большое!я больше не буду)
Но я выносила выше, после while st[n], и ничего.
1
14 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: Hysteria
Спасибо большое!я больше не буду)
Но я выносила выше, после while st[n], и ничего.


Ну во первых, я бы организовал это так (это только пример)

 
Код:
for(int i=0; i<=Form2->ControlCount; ++i)
        {
        TEdit *ctrl = dynamic_cast<TEdit *>(Form2->Controls);
        if(ctrl)
        {
          //Здесь производится необходимая замена
         ...
        }
       }

в таком случае мы получаем последовательную обработку полей. И необходимо переработать код поиска - в такой форме как сейчас он ищет и заменяет не первый шаблон а оба. Сложного ничего нет просто писать пример нет времени.
21K
15 мая 2007 года
alex_kart
14 / / 17.03.2007
Почему не работает следующий код
 
Код:
int d, m, y;
DecodeDate(Date(),y, m, d);

переменные d, m, у не изменяются
стандартная функция DecodeDate определена так
DecodeDate(const System::TDateTime DateTime, Word &Year, Word &Month, Word &Day);
следовательно передавать надо сами переменные, а не указатели. Или я что то не так понимаю?
1
15 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: alex_kart
Почему не работает следующий код
 
Код:
int d, m, y;
DecodeDate(Date(),y, m, d);

переменные d, m, у не изменяются
стандартная функция DecodeDate определена так
DecodeDate(const System::TDateTime DateTime, Word &Year, Word &Month, Word &Day);
следовательно передавать надо сами переменные, а не указатели. Или я что то не так понимаю?



 
Код:
WORD d, m, y;
1
15 мая 2007 года
kot_
7.3K / / 20.01.2000
ты передаешь в функцию знаковое 32-разрядное, а требуется беззнаковое 16-разрядное.
21K
15 мая 2007 года
alex_kart
14 / / 17.03.2007
Цитата: kot_
ты передаешь в функцию знаковое 32-разрядное, а требуется беззнаковое 16-разрядное.


Спасибо, действительно так работает. Я просто думал, что оно само преобразовывает типы при передаче

1
15 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: alex_kart
Спасибо, действительно так работает. Я просто думал, что оно само преобразовывает типы при передаче


Нет преобразования не происходит. Что вобщем то правильно.
Но если вы передадите беззнаковое 16 - то все отработает. т.е.

 
Код:
unsigned short int d, m, y=0;

тоже верно и нормально.
309
15 мая 2007 года
el scorpio
1.1K / / 19.09.2006
[quote=Alex_kart]Я просто думал, что оно само преобразовывает типы при передаче[/quote]
Естественно, производит - только потом в функцию передаются ссылки на приведённые объекты, которые не имеют имён. После завершения функции, эти объекты просто удаляются из стека :(.

Во избежание подобного, включите в компиляторе в настройках проекта "предупреждения" (warnings) с номерами w8028-w8032.
Тогда, при компиляции будет выведено предупреждение "Temporary used..." (использование временной переменной).
Естественно, его нужно будет исправить, указав подходящий тип данных :D
1
15 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: el scorpio
Естественно, производит - только потом в функцию передаются ссылки на приведённые объекты, которые не имеют имён. После завершения функции, эти объекты просто удаляются из стека :(.


Кста иллюстрация происходящего в стеке перед выходом из функции

В стеке по адресу 12F510 - 18 расположены пременные которые переданы в функцию. Красным выделены три переменные которые содержат текущую дату.

7.9K
16 мая 2007 года
user13
66 / / 07.11.2006
Народ где мона найти статью как написать прогу для учёта трафика через Proxy, срочно нада будет благодарен !!!
22K
17 мая 2007 года
Ardolix
14 / / 13.04.2007
Пытаюсь вывести на Canvas Текст который вводится с клавиатуры (в реальном времени). Использую Canvas->TextOut(i, j, key); Возникает масса недоумений. Надо проверить раскладку клавиатуры.
Подскажите как лучше ето делать.
497
17 мая 2007 года
IL84
267 / / 24.04.2003
Ardolix, смотри функции GetKeyboardLayout, GetKeyboardLayoutName.
10K
18 мая 2007 года
Etar
24 / / 12.07.2006
Здраствуйте.
Подскажите пожалуйста, как это можно сделать.
Т.е. к примеру, чтобы добавить в Memo какой-нибудь текст можно сделать так:
Memo->Add("Text1");
Memo->Add("Text2");
Memo->Append("Text3");
в таком случае текст в Memo будет выглядеть так:
---
Text1
Text2
Text3
---
а нужно чтобы было вот так:
---
Text1Text2Text3
---
подскажите пожалуйста, как можно это сделать (для RichEdit например),
пробовал через += и Memo->Insert, но у меня вообще текст не появлялся даже!
Спасибо.
1
18 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: Etar
Здраствуйте.
Подскажите пожалуйста, как это можно сделать.
Т.е. к примеру, чтобы добавить в Memo какой-нибудь текст можно сделать так:
Memo->Add("Text1");
Memo->Add("Text2");
Memo->Append("Text3");
в таком случае текст в Memo будет выглядеть так:
---
Text1
Text2
Text3
---
а нужно чтобы было вот так:
---
Text1Text2Text3
---
подскажите пожалуйста, как можно это сделать (для RichEdit например),
пробовал через += и Memo->Insert, но у меня вообще текст не появлялся даже!
Спасибо.


 
Код:
Memo1->Text = Memo1->Text+"Text1";
 Memo1->Text = Memo1->Text+"Text2";
...
11K
23 мая 2007 года
zheka3
27 / / 28.11.2006
Компонента TVirtualStringTree в проекте создается динамически, естественно надо присвоить процедуры, но это у меня не совсем выходит :(
При присвоении, например, события OnResize к VT, компилятор не придирается :)

 
Код:
VT->OnResize = VTResize;


А если пытаюсь присвоить таким же способом событие, например, OnBeforeCellPaint, то возникает ошибка :(

 
Код:
VT->OnBeforeCellPaint = VTBeforeCellPaint;


Ошибка:
[C++ Error] Main.cpp(1049): E2034 Cannot convert 'void (_fastcall * (_closure )(TBaseVirtualTree *,TCanvas *,TVirtualNode *,int,TRect &))(TBaseVirtualTree *,TCanvas *,TVirtualNode *,int,TRect &)' to 'void (_fastcall * (_closure )(TBaseVirtualTree *,TCanvas *,TVirtualNode *,int,const TRect &))(TBaseVirtualTree *,TCanvas *,TVirtualNode *,int,const TRect &)'

Что здесь исправить?
Помогите, пожалуйста :D
1
23 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: zheka3
Компонента TVirtualStringTree в проекте создается динамически, естественно надо присвоить процедуры, но это у меня не совсем выходит :(
При присвоении, например, события OnResize к VT, компилятор не придирается :)

 
Код:
VT->OnResize = VTResize;




А если пытаюсь присвоить таким же способом событие, например, OnBeforeCellPaint, то возникает ошибка :(

 
Код:
VT->OnBeforeCellPaint = VTBeforeCellPaint;


Ошибка:
[C++ Error] Main.cpp(1049): E2034 Cannot convert 'void (_fastcall * (_closure )(TBaseVirtualTree *,TCanvas *,TVirtualNode *,int,TRect &))(TBaseVirtualTree *,TCanvas *,TVirtualNode *,int,TRect &)' to 'void (_fastcall * (_closure )(TBaseVirtualTree *,TCanvas *,TVirtualNode *,int,const TRect &))(TBaseVirtualTree *,TCanvas *,TVirtualNode *,int,const TRect &)'

Что здесь исправить?
Помогите, пожалуйста :D



Скорей всего проблема в том что ты объявляешь константную ссылку.

 
Код:
'void (_fastcall * (_closure )(TBaseVirtualTree *,TCanvas *,TVirtualNode *,int,const TRect &))(TBaseVirtualTree *,TCanvas *,TVirtualNode *,int,const TRect &)'
29K
23 мая 2007 года
umkasumka
2 / / 23.05.2007
Доброго времени суток уважаемые.
Есть форма, в ней есть обьект TMediaPlayer *Player, есть метод который работает с этим плеером:
 
Код:
void __fastcall TForm1::Play(AnsiString nazvanie)
{
        Player->FileName = nazvanie;
        Player->Open();
        Player->Play();
}

Если я вызываю этот метод с одной мелодией, а вслед за этим еще раз его же, но уже с другой, то поигрываеться мелодия которая была вызвана второй. Такое звучанее мне и требуеться.
Ежели я вызываю вторую мелодию через поток, у меня звучат паралельно сразу две мелодии, и первая и вторая. Видимо происходит пересоздание обьекта плеер для потока. Как этого избежать?
Заранее благодарен.
30K
31 мая 2007 года
ISerferVit
1 / / 31.05.2007
Народ! Плиз! похелпайте.
Надо текстовый файл занести в массив, что бы каждый элемент массива содержал в себе символ из файла.
Как это можно сделать?
Если можно кусок текста проги....:)
30K
06 июня 2007 года
AlexFly
3 / / 06.06.2007
Люди, нужна помощь.
Я в програмировании новичёк. Подскажите, как оптимизировать компиляцию, а то написал программу - блокнот, а она 700kb весит.
497
06 июня 2007 года
IL84
267 / / 24.04.2003
Можно собрать с runtime-пакетами, но тогда их надо будет таскать за собой (~2Мб веса). А 700 кил exe-файл на Builder'e это нормально, можно использовать упаковщики (UPX и т.п.) - уменьшишь размер в 2-2.5 раза.
30K
06 июня 2007 года
AlexFly
3 / / 06.06.2007
Но ведь есть же маленькие програмки, которые веся 30kb. На билдере такое не реально сделать?
497
07 июня 2007 года
IL84
267 / / 24.04.2003
"Проблема" Builder'a в VCL, в которой приходится расплачиваться размером исполняемого файла за счет удобства и быстроты разработки. Основной вес дает объект TApplication (модуль Forms). Если делать без него (например консольное приложение), то размер exe'шника получиться маленький, а если еще пожать :)

Есть еще вариант использовать KOL (альтернативная библиотека, обсуждалась в форуме Delphi).

Совсем маленькие программы получаться на ассемблере или на С++ с использованием чистого WinAPI.
13K
07 июня 2007 года
Heart1ess
84 / / 26.04.2007
ой) не туда напсил сорри
Удалите пост.
30K
07 июня 2007 года
Shiksa
1 / / 07.06.2007
Если кто знает подскажите:
Как масштабировать HTML страничку в CppWebBrowser я нашёл код на
Delphi
WebBrowser1.OleObject.Document.Body.Style.Zoom := 0.75;
но как это изобразить на билдере ?
19K
09 июня 2007 года
spravochnaia
11 / / 08.12.2006
драсте:P
раньше писал только консольники большими количествами, начал разбирать как писать оконные в билдере, столкнулся с проблемой - как в компонент вида TEdit, TStaticText или TMemo с помощью виртуальной клавиатуры(компоненты TButton) вводить в одну строку символы:? у меня получается ввод по одному символу, когда каждый последующий введённый символ затирает предидущий а не записывается вторым в строку..Заранее благодарю:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог