Главная страница
    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.49 MB
Время: 0.032 c
1-1089310020
enreas_
2004-07-08 22:07
2004.07.25
Клавиатура


1-1089290412
Дмитрий 2004
2004-07-08 16:40
2004.07.25
как организовать поиск в диапазоне 2 дат?


4-1087200407
kalishenko
2004-06-14 12:06
2004.07.25
Иконка ассоциируемого приложения.


1-1089450222
Pafnuty
2004-07-10 13:03
2004.07.25
Программно вставить текст в TRxRichEdit


3-1088680527
Miguel1
2004-07-01 15:15
2004.07.25
Использование оперативной памяти при работе с ADO





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский