Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ComboBox в качестве параметра процедуры/функции / 12 сообщений из 12, страница 1 из 1
16.06.2020, 19:45
    #39969931
Sensor230
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
Программисты, помогите кто чем может.
при создании формы список ComboBox.Items создается програmмно из SQL-запроса
Так как ComboBox-ов на форме несколько и все их надо заполнять, хочу засунуть это в процедуру или функцию
что то типа
Код: pascal
1.
procedure AddItemsCombo (Collum, Table, ComboBox: string);


Collum - Столбец в таблице из которого формируется Items
Table - таблица БД в которой этот столбец находится (для формирования SQL-запроса)
ComboBox - в который надо засунуть созданый список Items.

Сейчас работает в цикле с перебором и проверкой на дубликаты, как то так:
Код: pascal
1.
ComboBox1.Items.Add(ADOQuery1.FieldByName(Collum).AsString);


Подскажите как в этой строчке поменять ComboBox1 на другой, например ComboBox2.
Писать отдельный (одинаковый) блок на заполнение каждого ComboBox наверное не правильно.
Можно передавать процедуре/функции кроме параметров в какой таблице и из какого столбца создавать Items, ещё и в имя ComboBox-a в который этот Items будет записываться? спс.
...
Рейтинг: 0 / 0
16.06.2020, 20:00
    #39969935
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
Sensor230
...
Можно передавать процедуре/функции кроме параметров в какой таблице и из какого столбца создавать Items, ещё и в имя ComboBox-a в который этот Items будет записываться? спс.

Можно имя, а можно комбобокс (ссылку на комбобокс).

Код: pascal
1.
procedure AddItemsCombo(const aColumn, aTableName: string; aComboBox: TComboBox);



Код: pascal
1.
aComboBox.Items.Add(ADOQuery1.FieldByName(aColumn).AsString);



Вызов
Код: pascal
1.
AddItemsCombo('username', 'users', ComboBox1);
...
Рейтинг: 0 / 0
16.06.2020, 20:10
    #39969936
Sensor230
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
s62,
Здесь самые программистые программисты! )))) СПАСИБО!!! Работает!!!
...
Рейтинг: 0 / 0
16.06.2020, 21:24
    #39969955
энди
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
Лучше все же передавать не сам компонент, а его Items :)
Тогда не только в комбобокс данные пихать можно будет :)
...
Рейтинг: 0 / 0
16.06.2020, 22:31
    #39969970
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
энди
Лучше все же передавать не сам компонент, а его Items :)
Тогда не только в комбобокс данные пихать можно будет :)
Кстати да, согласен. TStrings передавать.
...
Рейтинг: 0 / 0
16.06.2020, 23:00
    #39969976
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
энди
Лучше все же передавать не сам компонент, а его Items :)
Тогда не только в комбобокс данные пихать можно будет :)

Лучше передавать Компонент, тогда можно заполнять не только TStrings
...
Рейтинг: 0 / 0
17.06.2020, 10:31
    #39970062
mkr
mkr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
Sensor230,

мне кажется, лучше не колонку и таблицу, а SQL запрос.
да и id, не помешал бы (но тут уже dbcombobox нужен)

p.s. сбросьте уже текст AddItemsCombo на код-ревью)
...
Рейтинг: 0 / 0
17.06.2020, 11:03
    #39970074
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
mkr
Sensor230,

мне кажется, лучше не колонку и таблицу, а SQL запрос.
да и id, не помешал бы ( но тут уже dbcombobox нужен )

p.s. сбросьте уже текст AddItemsCombo на код-ревью)

А чем обычный ComboBox не устраивает?
...
Рейтинг: 0 / 0
17.06.2020, 11:13
    #39970080
mkr
mkr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
Gerasimenko
mkr
Sensor230,

мне кажется, лучше не колонку и таблицу, а SQL запрос.
да и id, не помешал бы ( но тут уже dbcombobox нужен )

p.s. сбросьте уже текст AddItemsCombo на код-ревью)

А чем обычный ComboBox не устраивает?


"из коробки" нет механизма прямого добавления keyvalue значений, поэтому необходима немногим более сложная логика добавления и работы с keyvalue.
...
Рейтинг: 0 / 0
17.06.2020, 11:16
    #39970085
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
mkr
Gerasimenko
пропущено...

А чем обычный ComboBox не устраивает?


"из коробки" нет механизма прямого добавления keyvalue значений, поэтому необходима немногим более сложная логика добавления и работы с keyvalue.
AddItem вам в руки
...
Рейтинг: 0 / 0
17.06.2020, 11:51
    #39970109
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
Gerasimenko
AddItem вам в руки

С AddItem() у компонентов, кстати, была какая-то засада. ЕМНИП, он не может запоминать значение -1, потому что оно внутри используется как маркер "нет значения"...
...
Рейтинг: 0 / 0
17.06.2020, 11:53
    #39970110
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox в качестве параметра процедуры/функции
alekcvp
Gerasimenko
AddItem вам в руки

С AddItem() у компонентов, кстати, была какая-то засада. ЕМНИП, он не может запоминать значение -1, потому что оно внутри используется как маркер "нет значения"...
id = -1 суровая у Вас БД
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ComboBox в качестве параметра процедуры/функции / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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