powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Передача параметров процедуре
7 сообщений из 7, страница 1 из 1
Передача параметров процедуре
    #34982651
Использую Builder.
На форме имется ComboBox1, ComboBox2, ComboBox3, ComboBox4.
Их следует заполнить значениями из БД.
Хочу использовать одну процедуру на все ComboBox.

Процедура типа:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
void Form1::Fill_Combo(TComboBox combo_name, AnsiString SQLQuery_txt){
   TComboBox *combo = new TComboBox(combo_name);

   SQLQuery1->SQL->Text = SQLQuery_txt;
   SQLQuery1->Active = true;
   DataSource1->DataSet->First();

   combo->Items->Clear();
   while (!DataSource1->DataSet->Eof){
      combo->Items->Add(DataSource1->DataSet->FieldByName("name")->AsString);
      DataSource_main_inf->DataSet->Next();
   }
}

Вызываю процедуру несколько раз
Код: plaintext
1.
2.
Fill_Combo(ComboBox1, "SELECT name FROM tbl_city");
Fill_Combo(ComboBox2, "SELECT name FROM tbl_city");
Fill_Combo(ComboBox3, "SELECT name FROM tbl_city");

Кто нить подскажет, что я делаю не так ?
...
Рейтинг: 0 / 0
Передача параметров процедуре
    #34982662
Рафаэль ГафаровИспользую Builder.
На форме имется ComboBox1, ComboBox2, ComboBox3, ComboBox4.
Их следует заполнить значениями из БД.
Хочу использовать одну процедуру на все ComboBox.

Процедура типа:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
void Form1::Fill_Combo(TComboBox combo_name, AnsiString SQLQuery_txt){
   TComboBox *combo = new TComboBox(combo_name);

   SQLQuery1->SQL->Text = SQLQuery_txt;
   SQLQuery1->Active = true;
   DataSource1->DataSet->First();

   combo->Items->Clear();
   while (!DataSource1->DataSet->Eof){
      combo->Items->Add(DataSource1->DataSet->FieldByName("name")->AsString);
      DataSource_main_inf->DataSet->Next();
   }
}

Вызываю процедуру несколько раз
Код: plaintext
1.
2.
Fill_Combo(ComboBox1, "SELECT name FROM tbl_region");
Fill_Combo(ComboBox2, "SELECT name FROM tbl_city");
Fill_Combo(ComboBox3, "SELECT name FROM tbl_street");

Кто нить подскажет, что я делаю не так ?
...
Рейтинг: 0 / 0
Передача параметров процедуре
    #34983015
man_555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем вот это: TComboBox *combo = new TComboBox(combo_name); ? Тем-более без delete?

Просто передавай указатель на ComboBox на форме.
...
Рейтинг: 0 / 0
Передача параметров процедуре
    #34983500
Как передавать указатель ?
Опишите код пожалуста
...
Рейтинг: 0 / 0
Передача параметров процедуре
    #34983632
man_555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-идее вот так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
void Form1::Fill_Combo(TComboBox *combo, AnsiString SQLQuery_txt)
{
   SQLQuery1->SQL->Text = SQLQuery_txt;
   SQLQuery1->Active = true;
   DataSource1->DataSet->First();

   combo->Items->Clear();
   while (!DataSource1->DataSet->Eof){
      combo->Items->Add(DataSource1->DataSet->FieldByName("name")->AsString);
      DataSource_main_inf->DataSet->Next();
   }
}
...
Рейтинг: 0 / 0
Передача параметров процедуре
    #34983867
Спасибо. Блин... сам не знаю почему не дотюкался. Совсем просто. :)
...
Рейтинг: 0 / 0
Передача параметров процедуре
    #34983919
VladimirP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно, это твои замыслы, но чем не подходит класс TDBComboBix
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Передача параметров процедуре
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]