Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.04 c
1-1089491813
dido
2004-07-11 00:36
2004.07.25
Как занести данные из текстового файла в массив?


3-1088514199
Sonnik
2004-06-29 17:03
2004.07.25
Пользовательский интерфейс.


14-1089009723
DimKa
2004-07-05 10:42
2004.07.25
Проблема с компом


1-1089379025
DelphiNew
2004-07-09 17:17
2004.07.25
Не раскрывается TreeView


6-1085670241
half_litre
2004-05-27 19:04
2004.07.25
Причина ClientDisconnect ??





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский