Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2010, 17:47   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
Вопрос Сохранить ItemIndex ComboBox

Как сохранить ItemIndex выбранной записи в ComboBox и вообще возможно ли это?
Shouldercannon вне форума Ответить с цитированием
Старый 05.06.2010, 18:02   #2
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

Конечно возможно. Вот тебе пример.
Код:
procedure TForm2.ComboBox1Change(Sender: TObject);
begin
  Label1.Caption := 'В прошлый раз ItemIndex был ' + IntToStr(Combobox1.Tag);
  Combobox1.Tag :=  Combobox1.ItemIndex;
end;

procedure TForm2.FormCreate(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to 10 do
    ComboBox1.Items.Add(IntToStr(i));
end;
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 08.06.2010, 00:55   #3
Miha85193
Delphi, OpenGL API
Форумчанин
 
Аватар для Miha85193
 
Регистрация: 29.03.2010
Сообщений: 152
По умолчанию

Если вам нужно сохранить ItemIndex в файл, то можно воспользоваться TStringList.
Miha85193 вне форума Ответить с цитированием
Старый 08.06.2010, 01:06   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

зачем ради 4 байт(integer) заводить TStringList?
что иначе текст писать не умеем?

а так же есть типизированные файлы и бинарные файлы, что экономнее текста.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.06.2010, 19:40   #5
Miha85193
Delphi, OpenGL API
Форумчанин
 
Аватар для Miha85193
 
Регистрация: 29.03.2010
Сообщений: 152
По умолчанию

Цитата:
зачем ради 4 байт(integer) заводить TStringList?
что иначе текст писать не умеем?

а так же есть типизированные файлы и бинарные файлы, что экономнее текста.
Ну во первых у TStringList имеютсь методы SaveToFile и LoadFromFile, что упрощает код. Во вторых TStringList и применяют для сохранения и инициализации параметров приложений так, как помимо ItemIndex туда можно записать массу других параметров (BfInit.Add('Value=любой параметр') и тп.). В третьих всегда легко просмотреть все сохраненные параметры так, как это обыкновенные текстовые файлы. И это еще не все.

Ну а если наш уважаемый кодер решил сэкономить память то ему подойдет файловая переменная типа Integet.
Miha85193 вне форума Ответить с цитированием
Старый 08.06.2010, 20:23   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну ему надо сохранить itemIndex, а не еще кучу текста в придачу.(так что методы TStringList в этом случае не нужны)
лучше ini в таком случае.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.06.2010, 21:59   #7
Miha85193
Delphi, OpenGL API
Форумчанин
 
Аватар для Miha85193
 
Регистрация: 29.03.2010
Сообщений: 152
По умолчанию

Цитата:
ну ему надо сохранить itemIndex, а не еще кучу текста в придачу.(так что методы TStringList в этом случае не нужны)
В таком случае надо
Код:
var 
  InitF: file of integer;
.
Цитата:
лучше ini в таком случае.
А что
Код:
StringList.SaveToFile('Parameters.ini')
это не ini?
Miha85193 вне форума Ответить с цитированием
Старый 08.06.2010, 22:06   #8
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
А что

StringList.SaveToFile('Parameters.i ni')

это не ini?
Упс то ли я чего-то не понимаю, то ли действительно лажа какая-то...ведь работа с ini файлами идет по другому...
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 08.06.2010, 22:30   #9
Miha85193
Delphi, OpenGL API
Форумчанин
 
Аватар для Miha85193
 
Регистрация: 29.03.2010
Сообщений: 152
По умолчанию

Цитата:
Цитата:
А что

StringList.SaveToFile('Parameters.i ni')

это не ini?

Цитата:
Упс то ли я чего-то не понимаю, то ли действительно лажа какая-то...ведь работа с ini файлами идет по другому...
Вот как ini загружается в TStringList:
Код:
StringList.LoadFromFile('Parameters.ini');
А вот так считывается параметр:
Код:
Parameter := StringList.Values['Value1'];
Parameter в данном случае String.

И в чем лажа?
Miha85193 вне форума Ответить с цитированием
Старый 08.06.2010, 22:34   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в том что в ini есть еще и секции помимо значений.(внутри разных секций, имена значений могут совпадать).
и всякож INI.ReadInteger удобнее?(особенно учитывая параметр по умолчанию)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматический выбор ItemIndex в ComboBox Kib Общие вопросы Delphi 8 01.06.2011 19:06
LISTBOX и ItemIndex Alex2009 Помощь студентам 9 15.03.2010 18:55
Combobox itemindex beemoto Общие вопросы Delphi 28 06.05.2009 14:09
Проблема с ComboBox.ItemIndex Селезин Общие вопросы Delphi 3 27.10.2007 16:42