Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2017, 14:41   #1
GTeeam
 
Регистрация: 12.07.2014
Сообщений: 3
По умолчанию Combobox и TstringList

Всем привет, наверное глупый вопрос,но сделать что бы индекс в combobox был равен индексу в TstringList, заранее спасибо
GTeeam вне форума Ответить с цитированием
Старый 02.12.2017, 19:07   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Заполнить комбик из стринглиста:

Код:
for i := 0 to StringList.Count - 1 do
begin
  ComboBox1.Items.Add(StringList.Strings[i]);
end;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 02.12.2017, 20:06   #3
GTeeam
 
Регистрация: 12.07.2014
Сообщений: 3
По умолчанию

не, чуть не так. Такая ситуация, есть бд, в комбо бокс я вытягиваю наименование, а в стринглист прячу id. когда пользователь выбирает что то в комбе, я в запрос хочу подставить соответствующие значение из стринга, но вот только не получается сделать что бы индексы соответствовали друг другу
GTeeam вне форума Ответить с цитированием
Старый 02.12.2017, 20:10   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от GTeeam Посмотреть сообщение
не, чуть не так. Такая ситуация, есть бд, в комбо бокс я вытягиваю наименование, а в стринглист прячу id. когда пользователь выбирает что то в комбе, я в запрос хочу подставить соответствующие значение из стринга, но вот только не получается сделать что бы индексы соответствовали друг другу
look it
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 02.12.2017, 21:44   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от GTeeam Посмотреть сообщение
не, чуть не так. Такая ситуация, есть бд, в комбо бокс я вытягиваю наименование, а в стринглист прячу id. когда пользователь выбирает что то в комбе, я в запрос хочу подставить соответствующие значение из стринга, но вот только не получается сделать что бы индексы соответствовали друг другу
Ну вообще-то комбобокс - это всего лишь элемент отображения данных, а не сами данные. Как правило, данные находятся в DataSource. Так что Вам лучше использовать TDBComboBox, как выше и посоветовали.

Но если сильно принципиально извращаться и дальше со стринглистами и Дельфи версией выше, чем семёрка, то рекомендую обратить внимание на такую штуку, как класс TDictionary.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 03.12.2017, 08:59   #6
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Цитата:
Сообщение от GTeeam Посмотреть сообщение
индекс в combobox был равен индексу в TstringList
У TStringList нет индекса! Есть только IndexOf

Цитата:
Сообщение от GTeeam Посмотреть сообщение
есть бд, в комбо бокс я вытягиваю наименование, а в стринглист прячу id. когда пользователь выбирает что то в комбе, я в запрос хочу подставить соответствующие значение из стринга
Только один выход:
Код:
sl[ComboBox1.ItemIndex]
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 03.12.2017 в 09:03.
newerow1989 вне форума Ответить с цитированием
Старый 03.12.2017, 09:52   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
в комбо бокс я вытягиваю наименование, а в стринглист прячу id.
наименование и ID в одном флаконе
Код:
newID:=...
newname:=....
combobox1.items.addobject(newname, TObject(newID) );
Код:
j:=combobox1.CurrentIndex;
currID:=integer(combobox1.Items.Data[j]));
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 03.12.2017, 11:03   #8
GTeeam
 
Регистрация: 12.07.2014
Сообщений: 3
По умолчанию

Всем огромное спасибо=)
GTeeam вне форума Ответить с цитированием
Старый 03.12.2017, 11:49   #9
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 19.10.2018, 20:49   #10
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

При завершении работы программы Combobox1 сам уничтожит все добавленные объекты (addobject) или их надо вручную высвобождать?
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TStringList royun БД в Delphi 4 04.04.2016 11:36
TStringList vasyaRyzhyi Общие вопросы Delphi 0 07.03.2011 11:01
Webbrowser и combobox: сделать чтобы в combobox-е оставалась история посещенных сайтов uasya2 Общие вопросы Delphi 6 06.03.2011 20:24
TStringList adr Общие вопросы Delphi 0 05.11.2010 18:29
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45