Combobox jak przechowywać dwie wartości id i value

Combobox jak przechowywać dwie wartości id i value
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam serdecznie,
Mam nadzieje ze takiego pytania nie było :)

Sprawa z punktu widzenia prosta, ale przez to że jestem początkującym delphi'arzem a wczesniej działałem w php/html mam pewien problem.

Mam dane typu: id i nazwa (np. dla id=act nazwa=aktywny; id=inact nazwa=nieaktywny.
Chciałbym aby po wybraniu z combobox'a np. nieaktywny, moc dostac id dla niego czyli inact.

--
Dziekuje za pomoc i sorka za takie proste (trudne :)) zadanie.

b0bik
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1114
0

Było.

Jeśli klucz i wartość to string'i to chyba zostaje Ci przechowywanie obu w jednym polu z jakimś separatorem + ownerdraw. Jakbyś zechciał użyć integer + String to jest właściwość Objects.

Chyba że w ogóle nie wiesz o właściwości ItemIndex : )

a : array [0..1] of String = ('act','inact')

a[ComboBox1.ItemIndex]

b

b0bik
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1114
Misiekd
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7923
0

TStrings oprócz liczb może przechowywać obiekty.
http://delphi.about.com/cs/adptips2002/a/bltip0602_2.htm
i tej zasadzie możesz przechowywać co chcesz

pelsta
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 819
0

Proponuję coś takiego

Kopiuj
//...
  ComboBox.Items.Add('act=aktywny');
  ComboBox.Items.Add('inact=nieaktywny');
//...
//w zdarzeniu OnClick ComboBox'a
  var id:string;
//...
  id:=ComboBox.Items.Names[ComboBox.ItemIndex];

Jeżeli chcesz aby ComboBox wyświetlał tylko nazwy (zamiast id=nazwa) to ustaw Style:=csOwnerDrawFixed i oprogramuj zdarzenie OnDrawItem.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.