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

Вниз

Как мне к каждому итемсу комбоБокса прицепить уникальный номер??   Найти похожие ветки 

 
Relaxxx   (2004-07-13 15:21) [0]

Я с БД выбираю список людей, например, и записываю их в КомбоБокс, но как мне к каждому челове еще и привязать уникальный номер человека???


 
KSergey ©   (2004-07-13 15:29) [1]

ComboBox1.Items.Objects[i]

Пример:

Val: Integer;
...
ComboBox1.Items.Objects[i] := TObject(Val);  // сохранили Val
...
Val := Integer(ComboBox1.Items.Objects[i]);  // прочитали Val


Надеюсь ничего не напутал.


 
REA ©   (2004-07-13 15:30) [2]

procedure AddItem(Item: String; AObject: TObject);

Который AObject - это связанный человек. Можно туда Integer засунуть вместо TObject.
А лучше используй DBLookupComboBox.


 
ЮрийК ©   (2004-07-13 15:30) [3]

comboBox.Items[i] := sFIO + #0 + IntToStr(nUniq);


 
KSergey ©   (2004-07-13 15:32) [4]

>  [3] ЮрийК ©   (13.07.04 15:30)

Ой, вот так я бы не стал рекомендовать делать, хотя работать, конечно, видимо будет.


 
Digitman ©   (2004-07-13 15:32) [5]


> к каждому челове еще и привязать уникальный номер челове


мощно задвинул, ришпекты

станд.справка - перед носом, однакыть читать ее от корки до корки - не царское дело


 
evvcom ©   (2004-07-13 15:34) [6]

Вообще-то такой вопрос в базы. Кроме "обычных" компонент есть в Delphi также и DB-компоненты. Именно ими и удобнее пользоваться в таких случаях. Причем DB-компоненты "заполняются" сами, позиционируют они курсор тоже сами. Таким образом, если в таблице имеется ключ (уникальный номер), то его тоже не придется цеплять. Он будет связан курсором.


 
Ega23 ©   (2004-07-13 15:49) [7]

TLookupComboBox поможет. Только ему набор данных нужен...


 
Relaxxx   (2004-07-13 17:03) [8]

ЧТо то этот TLookupComboBox глюкнутый, мне больше подуше стандартный ComboBox. Вот только одна проблема, вот так я заполняю комбобокс

 ComboBox1.Clear;

 ListDS.DataSet.First;
 while not ListDS.DataSet.Eof do
 begin
  ComboBox1.AddItem(ListDS.DataSet.FieldByName("NAME").AsString, TObject(ListDS.DataSet.FieldByName("KEY_POLE").AsInteger));

  ListDS.DataSet.Next;
 end;
 ComboBox1.ItemIndex:=0;


вот так я записываю, а вот прочитать это кей_прле у меня не получается пишет ошибку при работе с памятью
читаю я так:
ShowMessage(String(ComboBox1.Items.Objects[ComBobox1.ItemIndex]))

что я делаю не так, почему ошибка???


 
VMcL ©   (2004-07-13 17:11) [9]

>>Relaxxx   (13.07.04 17:03) [8]

>что я делаю не так, почему ошибка???

ComboBox1.AddItem(ListDS.DataSet.FieldByName("NAME").AsString, TObject(ListDS.DataSet.FieldByName("KEY_POLE").AsInteger));
// ...
ShowMessage(String(ComboBox1.Items.Objects[ComBobox1.ItemIndex]))


То, за что нужно руки отрывать, выделено жирным.


 
Relaxxx   (2004-07-13 17:26) [10]

Тю, сделал все как мне посоветовал
> KSergey ©   (13.07.04 15:29) [1]

и чтоя сделал не так, как мне записать правельно, почему выскакивает ошибка с памятью?


 
Sergey Vorobyev   (2004-07-13 17:30) [11]

ShowMessage(IntToStr(Integer(ComboBox1.Items.Objects[ComBobox1.ItemIndex])))

Только на всякий случай надо проверку на ComBobox1.ItemIndex<>-1, а то опять будет ошибка


 
Digitman ©   (2004-07-13 17:31) [12]

Удалено модератором


 
Digitman ©   (2004-07-13 17:34) [13]

Удалено модератором


 
Sergey Vorobyev   (2004-07-13 17:36) [14]

Удалено модератором


 
Digitman ©   (2004-07-13 17:37) [15]

Удалено модератором


 
Digitman ©   (2004-07-13 17:40) [16]

Удалено модератором


 
Digitman ©   (2004-07-13 17:42) [17]

Удалено модератором


 
Relaxxx   (2004-07-13 17:47) [18]

Удалено модератором


 
Digitman ©   (2004-07-13 17:52) [19]

Удалено модератором


 
pasha_golub ©   (2004-07-13 18:14) [20]

Удалено модератором


 
Digitman ©   (2004-07-13 18:17) [21]

Удалено модератором


 
Digitman ©   (2004-07-13 18:23) [22]

Удалено модератором


 
Digitman ©   (2004-07-13 18:29) [23]


> pasha_golub


кей_прле = KEY_POLE ?!

я , ты, все мы здесь обязаны телепатировать ? вникать в кажную фразу, выкидывая далеко не ОЧЕПЯТКИ (!!) и экстраполируя "гениальную" по изобретательности мысль автора ?! ..



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

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

Наверх




Память: 0.51 MB
Время: 0.024 c
1-1089147829
AndrewVolkov
2004-07-07 01:03
2004.07.25
:=nil; Free; Destroy


14-1089166782
Aldor_
2004-07-07 06:19
2004.07.25
Восстановление стертой информации (NTFS)


3-1088763135
Alexa
2004-07-02 14:12
2004.07.25
Добавление вычисляемого поля в Query


6-1085369766
maDByte
2004-05-24 07:36
2004.07.25
Проверка состояния HTTP и FTP серверов


1-1089709068
Ross
2004-07-13 12:57
2004.07.25
Форма загружена?