Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: CL | DM;

Вниз

Пабота с ComboBox   Найти похожие ветки 

 
Паша666   (2006-06-24 22:09) [0]

Здравствуйте
Суть такая
Необходимо в комбобокс загрузить некий список из файла
В файле в каждой строке стоит
"то что должно отобразиться в комбобоксе"="значение передаваемое в программу при выборе данного элемента комбобокса"
Как правильно и оптимально организовать это ?
Спасибо


 
Loginov Dmitry ©   (2006-06-24 22:17) [1]

Например с помощью TStringList:

List := TStringList.Create
with List do
begin
 LoadFromFile(your_file_name);
 for I := 0 to Count - 1 do
   ComboBox.Items.Add(Names[I])
end;


 
Desdechado ©   (2006-06-24 22:20) [2]

если "значение передаваемое в программу при выборе данного элемента комбобокса" - целочисленное, то я би использовал AddObject

Loginov Dmitry ©   (24.06.06 22:17) [1]
имхо, эффективнее было бы ComboBox.Items.Assign


 
Паша666   (2006-06-24 22:38) [3]


> если "значение передаваемое в программу при выборе данного
> элемента комбобокса" - целочисленное, то я би использовал
> AddObject

Можно поподробнее и если не трудно кусочек кода.......
Файл вида

Иванов=100
Петров=101
Сидоров=130
Цифра это айди человека
При выборе фамилии человека в комбобоксе например в едите на форме должен выводиться айди человека.....


 
Desdechado ©   (2006-06-24 22:41) [4]

AddObject позволяет в специальное поле типа Pointer что-то записать
можно сделать так
AddObject( "Иванов", Pointer( 100 ) );
А при выборе узнается код где-то так
n := Integer( combo.items.objects[ combo.itemindex ] );


 
Паша666   (2006-06-24 23:08) [5]

A как из файла данные грузить
Маску делать при загрузке ?


 
Loginov Dmitry ©   (2006-06-25 11:53) [6]

> имхо, эффективнее было бы ComboBox.Items.Assign


Неужели? А строку ComboBox.Items.Add(Names[I]) видели?


> A как из файла данные грузить
> Маску делать при загрузке ?


Слегка модифицирую [1]:

List := TStringList.Create;
with List do
begin
LoadFromFile(your_file_name);
for I := 0 to Count - 1 do
  ComboBox.Items.AddObject(Names[I], Pointer(StrToInt(Values[Names[I]])));
 Free;
end;


Далее смотреть [4]


 
Паша666   (2006-06-25 12:18) [7]

Спасибо все понял................ :)))


 
Паша666   (2006-06-27 13:12) [8]

Извиняюсь, но выяснилось что значение не соответствует условию


> если "значение передаваемое в программу при выборе данного
> элемента комбобокса" - целочисленное, то я би использовал
> AddObject


Т.е. значение есть текст.
Как быть ?


 
Loginov Dmitry ©   (2006-06-27 13:36) [9]

> Т.е. значение есть текст.
> Как быть ?


Пример текста???


 
Паша666   (2006-06-27 13:49) [10]

Иванов Иван Иванович=слесарь


 
Loginov Dmitry ©   (2006-06-27 14:47) [11]

Ясно. Тогда немодифицированный [1]

А при OnSelect вот что:

Str := List.Values[ComboBox.Text];



Страницы: 1 вся ветка

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.051 c
2-1151426032
fast2
2006-06-27 20:33
2006.07.16
Как сразу (не построчно) очистить StringGrid?


15-1150386238
kaif
2006-06-15 19:43
2006.07.16
Футбол. Наемники. Кто как относится к этой практике?


15-1150315516
Mr tray
2006-06-15 00:05
2006.07.16
ГДЕ достать visual studio какой нибудь, начиная с 6-ого?


2-1150997721
аматор
2006-06-22 21:35
2006.07.16
свойство parent


2-1151323955
lobach
2006-06-26 16:12
2006.07.16
Cgi