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

Вниз

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

Наверх





Память: 0.46 MB
Время: 0.009 c
1-1149500016
Kolan
2006-06-05 13:33
2006.07.16
Как использовать только часть массива?


2-1151549788
PenguinX
2006-06-29 06:56
2006.07.16
Дин.массив в классе = траблы, ГОРЮ!


2-1151585789
Ja Rule
2006-06-29 16:56
2006.07.16
преобразовать форму в фрейм


6-1141999988
guru-ru
2006-03-10 17:13
2006.07.16
Как правильно отправлять запрос на сервер через idHTTP?


6-1141982670
vlv
2006-03-10 12:24
2006.07.16
Связь WebModule с TServerSocket





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