Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.03;
Скачать: CL | DM;

Вниз

ini файл   Найти похожие ветки 

 
ZX48 ©   (2006-08-14 13:11) [0]

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


 
Плохиш ©   (2006-08-14 13:11) [1]

TIniFile + F1


 
ZX48 ©   (2006-08-14 13:12) [2]

Не понял как редактировать пост - Delphi7, WinXP SP2


 
TUser ©   (2006-08-14 13:14) [3]

> Не понял как редактировать пост

никак


 
ZX48 ©   (2006-08-14 13:16) [4]

Ну не обязательно ini файл - это я к примеру привел. Может и расширение свое потом придется подставлять. Так что не покатит... Сейчас у меня вот что сделано:
...
begin
fn:= GetCurrentDir;
if FileExists("cfg.ini") then
   begin
   AssignFile(F, "cfg.ini");
   Reset(F);
   Readln(F,t);
   CloseFile(F);
   end;
...

Вот как здесь можно поступить?


 
StriderMan ©   (2006-08-14 13:30) [5]

да чем тебе INI не понравился? Для справки, ему можно дать любое расширение. Ответ дан в [1]


 
ZX48 ©   (2006-08-14 13:31) [6]

Спасибо!


 
ZX48 ©   (2006-08-14 13:35) [7]

А как TIniFile задекларировать?


 
Джо ©   (2006-08-14 13:37) [8]

> [7] ZX48 ©   (14.08.06 13:35)
> А как TIniFile задекларировать?

А вот так и задекларировать:
var
 IniFile: TIniFile;


 
StriderMan ©   (2006-08-14 13:38) [9]

uses
 ...inifiles

...

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


 
ZX48 ©   (2006-08-14 13:39) [10]

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


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

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

Часть файла  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:43) [12]

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


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

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


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


 
DprYg ©   (2006-08-14 14:11) [14]

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


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


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

Правда?


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


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

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


 
Anatoly Podgoretsky ©   (2006-08-14 16:47) [17]

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


 
DprYg ©   (2006-08-14 16:50) [18]

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


 
DprYg ©   (2006-08-14 16:55) [19]

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


 
StriderMan ©   (2006-08-14 17:19) [20]


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

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

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


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


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

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


 
ZX48 ©   (2006-08-14 17:38) [22]

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


 
Loginov Dmitry ©   (2006-08-14 18:11) [23]

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


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


 
StriderMan ©   (2006-08-14 18:41) [24]


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

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


 
Anatoly Podgoretsky ©   (2006-08-14 18:56) [25]

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


 
DprYg ©   (2006-08-14 19:13) [26]

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


 
ZX48 ©   (2006-08-15 12:13) [27]

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


 
ZX48 ©   (2006-08-15 12:31) [28]

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



Страницы: 1 вся ветка

Текущий архив: 2006.09.03;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.048 c
15-1154952780
ПЛОВ
2006-08-07 16:13
2006.09.03
Проблемы с сервисом


2-1154699080
imbalacedees
2006-08-04 17:44
2006.09.03
USB


1-1153406793
oleggar
2006-07-20 18:46
2006.09.03
чтение из реестра


15-1151658614
TUser
2006-06-30 13:10
2006.09.03
Не наметить ли в Новосибирске ...


2-1155455345
Triton
2006-08-13 11:49
2006.09.03
Union 2