Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.21;
Скачать: CL | DM;

Вниз

ComboBox и дополнительное поле   Найти похожие ветки 

 
TRSteep ©   (2009-12-14 13:45) [0]

В ComboBox вносятся текстовые поля, у каждого поля есть дополнительный цифровой параметр.
Есть ли какие то стандартные методы хранения этого поля?

Например

2 Поле
4 Лес
7 Поляна
9 Лес

Т.е. текстовые поля могут повторятся.

Пока в голову приходит мысль только создать 2 динамических массива
и заносить и выбирать поле в combobox по порядковой позиции в массиве


 
RWolf ©   (2009-12-14 13:49) [1]

Objects[]


 
RWolf ©   (2009-12-14 13:52) [2]

пример:
ComboBox1.AddObject("строка",Pointer(42));
ShowMesage(IntToStr(Integer(ComboBox1.Items.Objects[0])));


 
TRSTeep ©   (2009-12-14 14:11) [3]

Я так понимаю ComboBox.Items.Objects, а как его использовать?
Не нашел примера в справке.


 
TRSTeep ©   (2009-12-14 14:12) [4]

о! пока искал уже написали пример - спасибо!


 
Leonid Troyanovsky ©   (2009-12-14 22:02) [5]


> TRSteep ©   (14.12.09 13:45)  

> В ComboBox вносятся текстовые поля, у каждого поля есть
> дополнительный цифровой параметр.
> Есть ли какие то стандартные методы хранения этого поля?

Цифровой vs аналоговый?
Хотя, в любом случае, стандартных нет.
Однако, для любых случаев полезен стиль csOwnerDraw*&etc.

> Пока в голову приходит мысль только создать 2 динамических
> массива
> и заносить и выбирать поле в combobox по порядковой позиции
> в массиве

Почему 2?
Почему по порядковой?

> Не нашел примера в справке.

А он и не спасет ОРД, если исходная постановка верна.

--
Regards, LVT.


 
Германн ©   (2009-12-15 00:41) [6]


> Leonid Troyanovsky ©   (14.12.09 22:02) [5]

Как-то мне нужно было хранить в TCheckListBox помимо самих строк ещё и 3 числа. Я бы пошел через использование Objects, но была задача иметь возможность сортировки строк по значениям этих чисел. И самым простым оказался путь через OwnerDraw.


 
KilkennyCat ©   (2009-12-15 08:53) [7]

хранение через OwnerDraw? Как прекрасен и удивителен этот мир, полный любви т. д....


 
TRSteep ©   (2009-12-18 11:02) [8]


> Почему 2?
> Почему по порядковой?

2 потому что первый содержит ID, второй под тем же порядковым номером String
реализвать проще чем один с двумя вложенными.


> И самым простым оказался путь через OwnerDraw

Не знаю даже что это :)

а вообще задача решилась благодаря первому примеру:

ввод


ZQuery.SQL.Text := "SELECT * FROM " + ZConnection.Database + ".Member";
ZQuery.Open;

cbb_Contact.Items.Clear;
while not ZQuery.eof do
begin
   cbb_Contact.items.AddObject(ZQuery.fieldbyname("Member_Surname").AsString,
                     Pointer( ZQuery.fieldbyname("Member_ID").AsInteger ));
   ZQuery.next;
end;
ZQuery.SQL.Clear;
ZQuery.Close;


и вывод:
Integer(cbb_Contact.Items.Objects[cbb_Contact.itemindex])



Страницы: 1 вся ветка

Текущий архив: 2010.02.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
11-1211446971
Vinum
2008-05-22 13:02
2010.02.21
"Оптимизировать" загрузку картинки


4-1229186518
SCL
2008-12-13 19:41
2010.02.21
Как мне запретить завершение моего процесса из диспетчера задач?


15-1260368206
medic357
2009-12-09 17:16
2010.02.21
Задачки


2-1261234069
serhiyiv
2009-12-19 17:47
2010.02.21
TListView


2-1261409951
JohnKorsh
2009-12-21 18:39
2010.02.21
API для беспроводных сетей.