На информационном ресурсе применяются cookie-файлы. Оставаясь на сайте, вы подтверждаете свое согласие на их использование.
Чтение/запись файла в Delphi
3012
13
splashman
activist
Есть файл con.fig. следующего формата
name = sysdba
passwd = lol
..............
Как мне считывать и записывать в переменыые делфи эти значения?
name = sysdba
passwd = lol
..............
Как мне считывать и записывать в переменыые делфи эти значения?
Да можно и без Ini-файла обойтись, обыкновеннным StringList, использовать свойство Values
есть проект. как написать чтоб он считал из файла в вышеупомянутом топике параметры в переменные. т.е. запускается проект. ему нуно соедениться с бд и этот проект смотрит в файл и с него читает логин/пароль.
Тебе же уже сказали, Юзай ini - файлы. Если это тебе ни о чем не говорит, поищи здесь . Там была неплохая статейка по теме 

проще всего разместить на форме TRichEdit или TMemo дать ему Visible:=false, WordWrap:=false (чтобы от размера поля не переносились части строк)
Далее открывать файл например RichEdit1.LoadFromFile('C:/Temp/myproga.txt'),
(Но перед этим сделать RichEdit1.clear) а потом читать по строкам param:=RichEdit1.Lines.Strings[0]
param2:=RichEdit1.Lines.Strings
Я так делаю всегда, а файл с текстовыми значениями параметров можно хоть *.ini хоть *.txt называть
ЗЫ я мог ошибиться в синтаксисе.
Далее открывать файл например RichEdit1.LoadFromFile('C:/Temp/myproga.txt'),
(Но перед этим сделать RichEdit1.clear) а потом читать по строкам param:=RichEdit1.Lines.Strings[0]
param2:=RichEdit1.Lines.Strings

Я так делаю всегда, а файл с текстовыми значениями параметров можно хоть *.ini хоть *.txt называть

ЗЫ я мог ошибиться в синтаксисе.
Сибиряк
old hamster
В это случае необходимо следить за стркутурой файла, либо просто не говорить юзверю о его существовании 

Сейчас читают
Летний дозор.
78137
1000
Дозор дневной.
82387
1007
Как вам Обское море? Какое оно сейчас?
15420
94
Замечательный способ, натюрлих....
Еще можно через OLEAutomation запускать Exel (естественно в скрытом режиме), закачивать туда файл, и из нужных ячеек выдяргивать нужную информацию.
var
a: TStrings;
begin
a := TStringList.Create;
try
a.LoadFromFile('c:\config.txt');
ShowMessage(a.Value['param1']);
ShowMessage(a.Value['param2']);
finally
a.Free();
end;
end;
Еще можно через OLEAutomation запускать Exel (естественно в скрытом режиме), закачивать туда файл, и из нужных ячеек выдяргивать нужную информацию.
var
a: TStrings;
begin
a := TStringList.Create;
try
a.LoadFromFile('c:\config.txt');
ShowMessage(a.Value['param1']);
ShowMessage(a.Value['param2']);
finally
a.Free();
end;
end;
Принцип тот же. Просто у меня уже юзается RichEdit в проге под разные нужды и поэтому пользую его и для этого.
Предыдущий вариант я пользовал на этапе разработки и прогонки проги. Править *.txt проще. Если параметры постоянны можно их запихать в реестр
uses Registry;
......
reg:TRegistry;
......
Reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKeyReadOnly('\Software\MyProga');
ParamSG:=Reg.ReadString('Type');
flMaster:=ParamSG='master';
if flMaster then begin
sFrom:=Reg.ReadString('From');
sTo := Reg.ReadString('To');
end
else begin sFrom:=''; sTo :='' end;
except begin flMaster:=false; sFrom:=''; sTo:=''; end;
end;
Reg.Free;
где Type, From, To строковый параметр
Предыдущий вариант я пользовал на этапе разработки и прогонки проги. Править *.txt проще. Если параметры постоянны можно их запихать в реестр
uses Registry;
......
reg:TRegistry;
......
Reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKeyReadOnly('\Software\MyProga');
ParamSG:=Reg.ReadString('Type');
flMaster:=ParamSG='master';
if flMaster then begin
sFrom:=Reg.ReadString('From');
sTo := Reg.ReadString('To');
end
else begin sFrom:=''; sTo :='' end;
except begin flMaster:=false; sFrom:=''; sTo:=''; end;
end;
Reg.Free;
где Type, From, To строковый параметр
Еще можно через OLEAutomation запускать Exel (естественно в скрытом режиме), закачивать туда файл, и из нужных ячеек выдяргивать нужную информацию.

Есть файл con.fig. следующего форматаМоя плакать...
Есть файл con.fig. следующего формата
name = sysdba
passwd = lol
..............
Как мне считывать и записывать в переменыые делфи эти значения?
Может еще переменные объявлять научить?
Какой умный и гордый. Сам будто никогда не задавал простых вопросов.
Egor_M
experienced
Задавал, чего греха таить.
Но в основном не на форумах, да и давно бросил это занятие))).
Где-то в инете есть статья "How to read the [censored] manual". На RSDN есть ее перевод на русский. Автору топика надо ее почитать...
Но в основном не на форумах, да и давно бросил это занятие))).
Где-то в инете есть статья "How to read the [censored] manual". На RSDN есть ее перевод на русский. Автору топика надо ее почитать...
ТОП 5
3