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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2010, 11:42   #1
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
По умолчанию Где ошибка?

Здесь произходит загрузка настроек из файла в окно редактирования:
Код:
procedure TForm3.FormShow(Sender: TObject);
begin
if fileexists('c:\settings.ini') then
begin
f:=tstringlist.Create();
f.LoadFromFile('c:\settings.ini');
if f.Strings[0] = 'true' then checkbox1.Checked:=true;
if f.Strings[1] = 'true' then checkbox2.Checked:=true;
if f.Strings[2] = 'true' then checkbox3.Checked:=true;
if f.Strings[3] = 'true' then checkbox4.Checked:=true;
edit2.Text:=f.Strings[4];
edit3.Text:=f.strings[4];
if f.Strings[5] = 'true' then radiobutton1.Checked:=true;
if f.Strings[6] = 'true' then radiobutton1.Checked:=true;
f.Free;
end;
end;

А здесь, сохраненение новых настроек в файл
Код:
procedure TForm3.Button1Click(Sender: TObject);
begin
f:=tstringlist.Create();
f.LoadFromFile('c:\settings.ini');
if checkbox1.Checked then f.Strings[0]:='true' else f.Strings[0]:='false';
if checkbox2.Checked then f.Strings[1]:='true' else f.Strings[1]:='false';
if checkbox3.Checked then f.Strings[2]:='true' else f.Strings[2]:='false';

if checkbox4.Checked then
begin
if (edit2.Text)=(edit3.Text) then
begin
f.Strings[3]:='true';
f.Strings[4]:=edit3.Text;
if  radiobutton1.Checked then f.Strings[5]:='true';
if radiobutton2.Checked then f.Strings[5]:='true';
f.Free;
form3.Close;
end
else showmessage('пароли не совпадают!!'); abort;
end
else
f.Strings[3]:='false';
end;
При работе программы, не записывается в 3ю строчку ничего, также не сохраняется пароль в 4ю строчку --> при загрузке настроек там пусто.

Последний раз редактировалось Stilet; 10.02.2010 в 11:59.
T-dayne вне форума Ответить с цитированием
Старый 10.02.2010, 12:48   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

А может легче ини файлы использовать а не стринглист

Код:
uses IniFiles;
.....
procedure TForm1.FormCreate(Sender: TObject);
 var Ini:TIniFile;
begin
 try
  Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Setting.ini');
  checkbox1.Checked:=Ini.ReadBool('Секция1','key1',false);
  checkbox2.Checked:=Ini.ReadBool('Секция1','key2',false);
  checkbox3.Checked:=Ini.ReadBool('Секция1','key3',false);
  checkbox4.Checked:=Ini.ReadBool('Секция1','key4',false);
 finally
  Ini.Free;
 end;
end;
и т.д только Секции и key лулше придать смысловую нагрузку

Последний раз редактировалось SERG1980; 10.02.2010 в 12:59.
SERG1980 вне форума Ответить с цитированием
Старый 10.02.2010, 16:52   #3
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
По умолчанию

Почему то не работает загрузка из ини файла:
Код:
Var
  Ini : TIniFile;
Begin
  Ini := TIniFile.Create('c:\windows\settings555.ini');
  checkbox1.Checked:=Ini.ReadBool('main','1',false);
вот тело файла ини:
Цитата:
[main]
1=true
???
T-dayne вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
где ошибка? О.о ConChita Общие вопросы C/C++ 2 23.11.2009 10:45
Где ошибка: Egik_net Microsoft Office Access 6 26.10.2009 00:43
Где ошибка? Константин1985 HTML и CSS 3 30.09.2009 17:35
Где ошибка? [Smarik] Общие вопросы Delphi 5 01.04.2008 09:56