Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CheckBox и ini файлы [D6, WinXP]


moor38 ©   (2006-02-03 12:53:00) 

Вопрос:
 Сохраняю так

var
 Ini:TIniFile;
begin
 Ini:=TIniFile.Create(papka+'\DR.INI');
 Ini.WriteBool('Prazd','Ezhegod',CheckBox1.Checked);
 Ini.WriteBool('Prazd','Plav',CheckBox2.Checked);
 Ini.UpdateFile;
 Ini.Free;
end;

Читаю так:
var
 Ini:TIniFile;
begin
 Ini:=TIniFile.Create(papka+'\DR.INI');
 Form1.CheckBox1.Checked:=Ini.ReadBool('Prazd','Ezhegod',true);
 Form1.CheckBox2.Checked:=Ini.ReadBool('Prazd','Plav',true);
 Ini.WriteBool('Prazd','Ezhegod',CheckBox1.Checked);
 Ini.Free;

а в итоге при считывании ini файла все данные изменяется на true? Почему и как исправить это?


moor38   (2006-02-03 13:43:00) [1]

таже петрушка получается


ЮЮ   (2006-02-03 13:21:00) [2]

Замени на Read(White)Integer - в Bool всё-таки какая-то неодназначность:

Ini.WriteInteger('Prazd','Ezhegod',Integer(CheckBox1.Checked));
CheckBox1.Checked:=Ini.ReadInteger('Prazd','Ezhegod', 0) = 1;


moor38   (2006-02-03 13:13:00) [3]

блин, все записывает в ини-файлы, а при считывании изменяет их назад


ЮЮ   (2006-02-03 13:05:00) [4]


> В том-то и дело, есть и при считывании их изменяются


они изменятся, ели их и нет.
убедись, что что-то есть:

TCustomIniFile.ValueExists, хотя бы


moor38   (2006-02-03 13:05:00) [5]

Нет на первой форме, на одной и той же


ЮЮ   (2006-02-03 13:01:00) [6]

может CheckBox-ы на разных формах?


> Form1.CheckBox1.Checked:=Ini.ReadBool('Prazd','Ezhegod',
> true);
>  Form1.CheckBox2.Checked:=Ini.ReadBool('Prazd','Plav',true);
>
>  Ini.WriteBool('Prazd','Ezhegod', CheckBox1.Checked);


moor38   (2006-02-03 12:58:00) [7]

В том-то и дело, есть и при считывании их изменяются


jack128   (2006-02-03 12:56:00) [8]

ты сам файл посмотри. Там данные то есть??
ЗЫ
Ini:=TIniFile.Create(papka+'\DR.INI');
try
  Ini.WriteBool('Prazd','Ezhegod',CheckBox1.Checked);
  Ini.WriteBool('Prazd','Plav',CheckBox2.Checked);
  Ini.UpdateFile;
finally
  Ini.Free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо