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

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

ini файл


Страницы:   1 2

ZX48 ©   (2006-08-14 13:11:00) 

Здаствуйте все! Подскажите плиз, как мне сделать запись в текстовый файл ini, а затем считать обратно эти данные. Причем нужно что бы определенные параметры записывались в отдельных строках, например что-то в этом роде:
[ini file]
Folder=c:\my folder
Param1=12
Text='rect'


ZX48   (2006-08-15 12:31:00) [1]

Вопрос снят. Разобрался.


ZX48   (2006-08-15 12:13:00) [2]

Вопрос. При запуске приложение выдает ошибку "Не выполнена проверка подлиности". В чем может быть проблема?


DprYg   (2006-08-14 19:13:00) [3]

Просто мне надо читать справку, а не некоторые неумные книги...


Anatoly Podgoretsky   (2006-08-14 18:56:00) [4]

DprYg ©   (14.08.06 16:55) [19]
Так справку надо читать, а не гадать.


StriderMan   (2006-08-14 18:41:00) [5]


> Loginov Dmitry ©   (14.08.06 18:11) [23]

хм.. да, в хэлпе так написано. Если честно никогда не пробовал, всегда указывал полный путь.


Loginov Dmitry   (2006-08-14 18:11:00) [6]

> тут уж как фишка ляжет.


Почему то она всегда ложится в папку Windows


ZX48   (2006-08-14 17:38:00) [7]

Всем спасибо! Со всем разобрался!


Плохиш   (2006-08-14 17:21:00) [8]


> DprYg ©   (14.08.06 16:55) [19]
> Ее причина была в том, что при вызове ini := TIniFile.Create('x.
> dat') этот файл создается в папке Windows, а не в текущей.

1. Как это относится к [14]?
2. Это документировано.


StriderMan   (2006-08-14 17:19:00) [9]


> DprYg ©   (14.08.06 16:55) [19]
> Ее причина была в том, что при вызове ini := TIniFile.Create('x.
> dat') этот файл создается в папке Windows, а не в текущей.
>

тут уж как фишка ляжет.

конечно лучше явно сказать где инишник открывать.


DprYg   (2006-08-14 16:55:00) [10]

Ее причина была в том, что при вызове ini := TIniFile.Create('x.dat') этот файл создается в папке Windows, а не в текущей.


DprYg   (2006-08-14 16:50:00) [11]

Действительно, не очень удачная шутка...


Anatoly Podgoretsky   (2006-08-14 16:47:00) [12]

Неудачно пошутил.


StriderMan   (2006-08-14 16:34:00) [13]


> DprYg ©   (14.08.06 14:11) [14]
> Плохиш ©   (14.08.06 14:19) [15]
> Правда?

нет, пошутил он :)


Плохиш   (2006-08-14 14:19:00) [14]


> DprYg ©   (14.08.06 14:11) [14]
> И еще: при обращении к Create файл уже должен существовать.

Правда?


DprYg   (2006-08-14 14:11:00) [15]

И еще: при обращении к Create файл уже должен существовать. Поэтому функцией FileExists нужно сначала проверить есть ли он. Если нет - создать (AssignFile, Rewrite, CloseFile).


SergP.   (2006-08-14 13:48:00) [16]

> [4] ZX48 ©   (14.08.06 13:16)


ini - файл - это не значит что у него обязательно расширение должно быть .ini
В данном случае подразумевался формат а не расширение...


ZX48   (2006-08-14 13:43:00) [17]

Спасибо! Разберусь!


rebroff   (2006-08-14 13:39:00) [18]

Привожу кусок кода из своей программы. Разберёшься?

Часть файла  prov.тхт:
[mail]
auth=1
email={почтовый адрес}
host=smtp.mail.ua
port=25
login={логин}
pass={пароль}

Читаем:B>
procedure TForm1.FormCreate(Sender: TObject);
var
ini:tinifile;
begin
ini:=tinifile.create('c:\Program Files\Borland\Delphi7\Projects\sms\prov.txt');
//контролы на форме заполн из ini-файла 'prov.txt'
auth.Checked :=ini.readbool('mail','auth',true);  email.Text:=ini.readstring('mail','email','default');
host.Text:=ini.readstring('mail','host','default');
port.Text:=ini.readstring('mail','port','default');
login.Text :=ini.readstring('mail','login','default');
pass.Text:=ini.readstring('mail','pass','default');
provider.Items.CommaText:=ini.readstring('main','provider_list','');
ini.free;
end;

Пишем:
ini.writebool('mail','auth',auth.Checked);
ini.writestring('mail','email',email.Text);
ini.writestring('mail','host',host.Text);
ini.writestring('mail','port',port.Text);
ini.writestring('mail','login',login.Text);
ini.writestring('mail','pass',pass.Text);
ini.free;


ZX48   (2006-08-14 13:39:00) [19]

Спасибо Джо. Про декларацию сам нашел :) Плохо что здесь редактировать нельзя посты


StriderMan   (2006-08-14 13:38:00) [20]

uses
 ...inifiles

...

var
 ini: TIniFile
begin
 ini := TIniFile.Create;
 try
   //Здесь пишешь/читаешь
 finally
   ini.Free;
 end;
end;


Страницы:   1 2

Наверх

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