Главная страница
    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
2-1151304985
Neket
2006-06-26 10:56
2006.07.16
DBGrid


2-1151630252
NigthSkif
2006-06-30 05:17
2006.07.16
Tedit


15-1150282525
dexis
2006-06-14 14:55
2006.07.16
Что-та типа splitterа, раскрывающий/скрывающий панель оним кликом


9-1131902146
XCoder
2005-11-13 20:15
2006.07.16
После установки WindowsXP SP2 OpenGL стала тормозит


10-1121901725
nippo
2005-07-21 03:22
2006.07.16
Значение property COM-сервера





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