Форум: "Основная";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];
ВнизComboBox Найти похожие ветки
← →
Qwer (2004-07-15 16:38) [0]В ComboBox представление значения записываю в Items. Подскажите куда мне записать само значение , допустим ID.
Спасибо !!!
← →
Гаврила © (2004-07-15 16:43) [1]ComboBox1.Items.Objects[I]
← →
clickmaker © (2004-07-15 16:43) [2]Items.AddObject
← →
Qwer (2004-07-15 16:57) [3]Извените не понял
представление я записываю так :
ComboBox3.Items.Add(ADODataSet1.FieldByName("Comp").AsString);
а как Id записать ? (строка)
и как его потом получить ?
Спасибо !!!
← →
clickmaker © (2004-07-15 17:04) [4]
> Qwer (15.07.04 16:57) [3]
Id у тебя строка? А не число типа integer?
Тогда такtype
TID = record
ID: string;
end;
var Rec: ^TID;
GetMem(Rec, SizeOf(TID));
Rec.ID := ADODataSet1.FieldByName("Id").AsString;
ComboBox3.Items.Add(ADODataSet1.FieldByName("Comp").AsString, TObject(Rec));
потом не забудь FreeMem(Rec) для всех Items
← →
clickmaker © (2004-07-15 17:05) [5]Маленькая поправка:
TID = record
ID: ShortString;
end;
или юзать class вместо record
← →
infom © (2004-07-15 17:07) [6]а помоему надо просто использовать DB компонент
← →
Qwer (2004-07-15 17:09) [7]clickmaker
Спасибо , а как потом получить этот ИД текущей строки ?
← →
Qwer (2004-07-15 17:11) [8]DB компонент не пойдет , так как запрос все время разный , а там надо постоянно фиксировать колонку !
← →
clickmaker © (2004-07-15 17:11) [9]type PID: ^TID;
s := PID(ComboBox.Items.Objects[ComboBox.ItemIndex]).ID;
← →
Qwer (2004-07-15 17:12) [10]DB компонент не пойдет , так как запрос все время разный , а там надо постоянно фиксировать колонку ! (разный по существу а не по данным)
← →
Qwer (2004-07-15 17:23) [11]clickmaker
Извени что с получением ИДа не так !
type PID: ^TID --- ошибка
← →
Ega23 © (2004-07-15 17:28) [12]Не изобретай велосипед, тебе LookupComboBox нужен, там уже всё реализовано.
← →
Qwer (2004-07-15 17:41) [13]В LookupComboBox с конкретными значениями работает, а они у меня появляются по в процесе работы ! (
← →
Ega23 © (2004-07-15 17:43) [14]В LookupComboBox с конкретными значениями работает, а они у меня появляются по в процесе работы ! (
С какими КОНКРЕТНЫМИ значениями? Чё ты несёшь?
← →
LM2 (2004-07-15 17:50) [15]Попробуй так, у меня вроде работает
1) чтоб запихнуть ID
var
ID: string;
begin
ID := "10";
ComboBox1.AddItem("Первая строка", TObject(str));
end;
2)чтоб достать ID
ShowMessage(String(ComboBox1.Items.Objects[ComboBox1.ItemIndex]));
← →
LM2 (2004-07-15 17:51) [16]Ошибся, вместо str, ID поставь
← →
Гаврила © (2004-07-15 20:07) [17]>>LM2 (15.07.04 17:51) [15, 16]
Это лажа, поимеем проблемы с памятью
если строка, надо в объекты ставить PChar
при этом грамотно управляя выделением \ освободлением памяти
и не парить мозги.
Если же ID - Integer, то памятью управлять вообще не надо, достаточно типизации под TObject и обратно под Integer.
Исключение составляет случай для ID = -1
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c