Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CheckBox и TIniFile, запись состояния checkboxa в inifile 
V
    Опции темы
zarogon
Дата 4.11.2006, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 4.11.2005
Где: Украина, Киев

Репутация: нет
Всего: нет



Доброго времени суток. Скажите плиз как можно сохранять состояние checkboxa в inifile и потом загружать эти данные.


Заранее спасибо.
PM MAIL ICQ   Вверх
Zlo
Дата 5.11.2006, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.9.2004

Репутация: 1
Всего: 1



сохранение
Код

IniFile.WriteBool('options', 'Play', Form1.CheckBox3.Checked);


загрузка
Код

Form1.CheckBox1.Checked:=IniFile.ReadBool('options','Explorer',true);

PM MAIL   Вверх
zarogon
Дата 5.11.2006, 01:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 4.11.2005
Где: Украина, Киев

Репутация: нет
Всего: нет



Вот рисунок на нем все написано что мне надо 



user posted image
PM MAIL ICQ   Вверх
s0neg
Дата 5.11.2006, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


under constraction



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.9.2006
Где: Behind You

Репутация: 1
Всего: 1



Дык, по нажатию на CheckBox, свойство Checked оставшихся СheckBox ставь в false. А в чем проблема сохранения? Сохраняй и загружай значения _всех_ CheckBox`ов , как показал Zlo  smile 
 
P.S. Это у тебя Мини КР 2?  smile 

PM MAIL   Вверх
zarogon
Дата 5.11.2006, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 4.11.2005
Где: Украина, Киев

Репутация: нет
Всего: нет



Да это типа мини КР2)) дальше после создания игрока нагружаем корабль всяким оборудыванием. Просто я думал что сдесь "Form1.CheckBox1.Checked:=IniFile.ReadBool('options','Explorer',true);"  загружаеться значание чекбокса как true, а мне надо чтоб значение загружалось в зависимости true или false. Или я чего не понимаю  smile 

Это сообщение отредактировал(а) zarogon - 5.11.2006, 02:08
PM MAIL ICQ   Вверх
s0neg
Дата 5.11.2006, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


under constraction



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.9.2006
Где: Behind You

Репутация: 1
Всего: 1



Нет не понимаешь ). 
Код

  Form1.CheckBox1.Checked := IniFile.ReadBool('options', 'Explorer', true)
 
3-й параметр, это то значение, которая вернет функция, если не получиться считать значение из файла. Например, ты первый раз запускаешь игру и ini файлик еще не создан, то значение CheckBox1.Checked будет равно true.

 smile 

Это сообщение отредактировал(а) s0neg - 5.11.2006, 02:32
PM MAIL   Вверх
Zlo
Дата 5.11.2006, 03:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.9.2004

Репутация: 1
Всего: 1



Constructor Create('d:\test.INI'); 
Создать экземпляр объекта и связать его с файлом. Если такого файла нет, то он создается, но только тогда, когда произведете в него запись информации. 

WriteBool(const Section, Ident: string; Value: Boolean); 
Присвоить элементу с именем Ident раздела Section значение типа boolean 

WriteInteger(const Section, Ident: string; Value: Longint); 
Присвоить элементу с именем Ident раздела Section значение типа Longint 

WriteString(const Section, Ident, Value: string); 
Присвоить элементу с именем Ident раздела Section значение типа String 

ReadSection (const Section: string; Strings: TStrings); 
Прочитать имена всех корректно описанных переменных раздела Section (некорректно описанные опускаются) 

ReadSectionValues(const Section: string; Strings: TStrings); 
Прочитать имена и значения всех корректно описанных переменных раздела Section. Формат : 
имя_переменной = значение 

EraseSection(const Section: string); 
Удалить раздел Section со всем содержимым 

ReadBool(const Section, Ident: string; Default: Boolean): Boolean; 
Прочитать значение переменной типа Boolean раздела Section с именем Ident, и если его нет, то вместо него подставить значение Default. 

ReadInteger(const Section, Ident: string; Default: Longint): Longint; 
Прочитать значение переменной типа Longint раздела Section с именем Ident, и если его нет, то вместо него подставить значение Default. 

ReadString(const Section, Ident, Default: string): string; 
Прочитать значение переменной типа String раздела Section с именем Ident, и если его нет, то вместо него подставить значение Default. 

Free; 
Закрыть и освободить ресурс. Необходимо вызвать при завершении работы с INI файлом 

Property Values[const Name: string]: string; 
Доступ к существующему параметру по имени Name

Пример:
Код

Procedure TForm1.FormClose(Sender: TObject); 
var 
 IniFile:TIniFile; 
begin 
  IniFile := TIniFile.Create('d:\test.INI'); { Создали экземпляр объекта } 
  IniFile.WriteBool('Options', 'Sound', True); { Секция Options: Sound:=true } 
  IniFile.WriteInteger('Options', 'Level', 3); { Секция Options: Level:=3 } 
  IniFile.WriteString('Options' , 'Secret password', Pass);  
   { Секция Options: в Secret password записать значение переменной Pass } 
  IniFile.ReadSection('Options ', memo1.lines); { Читаем имена переменных} 
  IniFile.ReadSectionValues('Options ', memo2.lines); { Читаем имена и значения } 
  IniFile.Free; { Закрыли файл, уничтожили объект и освободили память } 
end; 


PM MAIL   Вверх
Guedda
Дата 5.11.2006, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



А что, если пользоваться не CheckBoxes, а RadioButtons?


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
zarogon
Дата 5.11.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 4.11.2005
Где: Украина, Киев

Репутация: нет
Всего: нет



Цитата(Guedda @ 5.11.2006,  09:08)
А что, если пользоваться не CheckBoxes, а RadioButtons?

А можно примерчик  smile 
PM MAIL ICQ   Вверх
Reptile
Дата 6.11.2006, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 30.9.2006
Где: Украина, Первомай ск

Репутация: нет
Всего: 3



Guedda имел ввиду использовать RadioButtons, т.к. потом не нужно будет остальные RadioButtons.Checked делать false. А записывать и считывать значения так-же как написал Zlo. 
 
PM MAIL   Вверх
zarogon
Дата 6.11.2006, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 4.11.2005
Где: Украина, Киев

Репутация: нет
Всего: нет



Ага  smile  Спасибо за ответы. Буду пробовать   smile 

Это сообщение отредактировал(а) zarogon - 6.11.2006, 19:09
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0558 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.