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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2013, 12:53   #1
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию ComBox IniFiles

Как сделать сохранение положения ComBox в Ini а так же его загрузку?
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 26.12.2013, 13:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Запись
Код:
with Ini do begin
 WriteInteger('Combo1','top',ComBox1.Top);
 WriteInteger('Combo1','left',ComBox1.left);
 WriteInteger('Combo1','hight',ComBox1.hight);
 WriteInteger('Combo1','width',ComBox1.width);
end;
Чтение
Код:
with Ini do begin
 ComBox1.Top:=ReadInteger('Combo1','top',0);
 ComBox1.left:=ReadInteger('Combo1','left',0);
 ComBox1.hight:=ReadInteger('Combo1','hight',0);
 ComBox1.width:=ReadInteger('Combo1','width',0);
end;
Где ini:TInifile.

P.S. Есть и другие методы сериализации, но не для ини файлов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.12.2013, 13:30   #3
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Запись
Код:
with Ini do begin
 WriteInteger('Combo1','top',ComBox1.Top);
 WriteInteger('Combo1','left',ComBox1.left);
 WriteInteger('Combo1','hight',ComBox1.hight);
 WriteInteger('Combo1','width',ComBox1.width);
end;
Чтение
Код:
with Ini do begin
 ComBox1.Top:=ReadInteger('Combo1','top',0);
 ComBox1.left:=ReadInteger('Combo1','left',0);
 ComBox1.hight:=ReadInteger('Combo1','hight',0);
 ComBox1.width:=ReadInteger('Combo1','width',0);
end;
Где ini:TInifile.

P.S. Есть и другие методы сериализации, но не для ини файлов.
Вы меня наверно не много неправильно поняли, я имел ввиду вот я выбираю скин через ComBox мне нужно запоминать выбор.
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 26.12.2013, 13:45   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Так запоминай ItemIndex. При восстановлении не плохо проверить - соответствует ли он возможностям комбобокса
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.12.2013, 13:48   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В чем проблема? Хелп не запускается?
Почитать про методы TIniFiles не удается?
По аналогии с WriteInteger есть WriteString, и ReadString.
Цитата:
запоминай ItemIndex.
Это если 100% гарантия что содержимое не меняется никогда. А так лучше строку запоминать, а потом после считывания ее находить методом IndexOf() в списке.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.12.2013, 14:31   #6
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Код:
t.WriteBool('Programs','skins',sComboBox1.ItemIndex);
В чем ошибка?
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 26.12.2013, 14:44   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В попытке не почитав хелп сделать торт Наполеон без коржей.
Читай внимательно про WriteBool (подсказка: bool это логический тип) и анализируй что ты третьим параметром ему передаешь (подсказка: Число в паскалевских языках не является булевым значением)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.12.2013, 14:49   #8
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В попытке не почитав хелп сделать торт Наполеон без коржей.
Читай внимательно про WriteBool (подсказка: bool это логический тип) и анализируй что ты третьим параметром ему передаешь (подсказка: Число в паскалевских языках не является булевым значением)
Что то типа так:

t.WriteString('Programs', 'skins', scombobox1.Text);

А загрузка тогда как будет? Так не работает:

Код:
scombobox1.Text:=t.WriteString('Programs','skins');
Сделал так:

Код:
t.WriteInteger('', 'skins', scombobox1.Items.Count);
Ну почему то не загружает
99% ошибок компьютера сидит в полуметре от монитора.

Последний раз редактировалось Stilet; 26.12.2013 в 15:05.
Fahman вне форума Ответить с цитированием
Старый 26.12.2013, 15:08   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ну почему то не загружает
Бесполезно...
Может стоит бросить все пока не поздно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.12.2013, 15:11   #10
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Бесполезно...
Может стоит бросить все пока не поздно?
Я понял в чем ошибка
Сохраняю одно, а пытаюсь загрузить другое...
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
combox + ShellExecute zingo Помощь студентам 3 12.06.2012 19:09
Как передать данные из БД в ComBox uni Microsoft Office Excel 8 22.07.2011 08:20
Работа с INIFILES Mont1k Помощь студентам 1 13.01.2011 02:29
Inifiles IGoDoVaN Общие вопросы Delphi 5 15.06.2008 06:41