Форум: "Основная";
Текущий архив: 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.035 c