|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] сохранение значений ComboBox |
|
Delphi - [решено] сохранение значений ComboBox
|
Новый участник Сообщения: 29 |
Профиль | Отправить PM | Цитировать Ситуация состоит в следующем:
Есть ComboBox1 с внесенными данными в Items. Корректировка данных для пользователя запрещена. Пользователь открыл программу выбрал нужный вариант из ComboBox1 например из Strings[3] ... закрыл программу. Можно ли что бы при следующем открытии программы в ComboBox1 открывалась Strings[3] ? Проще говоря, открывались те варианты, которые пользователь выбрал в прошлый раз при работе с программой. Нашел решение этой задачи на FoxPro но мне нужно на Delphi Заранее благодарен. |
|
Отправлено: 22:15, 11-09-2011 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать сохранить значение в ini файл при выходе
|
Отправлено: 23:30, 11-09-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 295
|
Профиль | Отправить PM | Цитировать Текущее значение комбобокса хранится в свойстве ItemIndex, которое можно как считывать, так и записывать. А куда записывать - решай сам: можно в реестр, можно во временный файл, а можно и в память пользователя
А считывать нужно перед показом формы, т.е. в обработчике события OnShow. |
Отправлено: 17:42, 12-09-2011 | #3 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Любезный ты навел меня на мысль то что мне хотелось я решил, присвоив в инспеторе обьектов нужный ItemIndex который отображается при загрузке.
Но все же, для общего развития не могу вкурить как именно сохранить(загрузить) текущий индекс. Как записать(считать) весь итем - понятно, а вот текущий индекс не пойму. Как запомнить а потом загрузить то, что было выбрано пользоватилем хоть убей Если не лень кинь кодом с записью в реестр или временный файл. Ну нет же такого понятия Current Index |
Отправлено: 21:57, 12-09-2011 | #4 |
Старожил Сообщения: 295
|
Профиль | Отправить PM | Цитировать Блин... Фигня ведь. ItemIndex - это число, номер текущего пункта. А текст пункта - это Items [ItemIndex] или (только для чтения) ComboBox.Text.
Код писать не буду, но на мысль наведу. Создай TStringList, присвой свойству Text этого стринглиста значение ItemIndex, преобразованное в строку, а затем методом SaveToFile сохрани его во временный файл. Ну и соответственно не забудь уничтожить этот стринглист. Насчёт реестра - поищи в сети работу с классом TRegistry. Ну и также инфу, в каких разделах нужно создавать ключи. Цитата:
|
||
Отправлено: 22:52, 12-09-2011 | #5 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Любезный Спасибо! проблему решил сохранением в *.ini файл весь код писать не буду напишу кусок для записи
... procedure TForm1.ReadParams; Var IniFile:TIniFile; begin IniFile:=TIniFile.Create('path.ini'); {создаем переменную} ComboBox1.ItemIndex:=IniFile.ReadInteger('FORM1','ComboBox1ItemIndex',ComboBox1.ItemIndex); {сохраняем выбранный пункт, то над чем я ломал голову} IniFile.Free; {убиваем переменную} end; ... но при таком варианте path.ini сохраняется в папке Windows но это уже пол беды. |
Последний раз редактировалось camope3, 12-09-2011 в 23:48. Отправлено: 23:41, 12-09-2011 | #6 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать |
Отправлено: 23:50, 12-09-2011 | #7 |
Идиот Сообщения: 1125
|
Профиль | Сайт | Отправить PM | Цитировать Я на делфи лет эдак 10 не писал уже, но я помню, там есть что-то вроде
ComboBox1.Items.SaveToFile('Имя_Файла') |
------- Отправлено: 14:11, 14-09-2011 | #8 |
Старожил Сообщения: 295
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
Отправлено: 19:19, 14-09-2011 | #9 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Всем спасибо за участие в помощи.
|
Отправлено: 22:45, 15-09-2011 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Delphi - [решено] Присвоение имени из ComboBox при копировании файла | OkSherd | Программирование и базы данных | 2 | 07-09-2011 13:29 | |
Нужна помощь по ComboBox | sacredboy | AutoIt | 17 | 09-09-2009 15:07 | |
[решено] Можно ли сделать ComboBox с иконками | malev | AutoIt | 11 | 26-06-2009 08:24 | |
Тяжёлый вопрос про COMBOBOX (WinApi) | pva | Программирование и базы данных | 9 | 16-07-2004 15:24 | |
ComboBox в VB6 | Vitki | Программирование и базы данных | 1 | 12-05-2004 10:08 |
|