Чтение/запись файла в Delphi
2816
13
Есть файл con.fig. следующего формата
name = sysdba
passwd = lol
..............
Как мне считывать и записывать в переменыые делфи эти значения?
CoolUser
Да можно и без Ini-файла обойтись, обыкновеннным StringList, использовать свойство Values
craxx
есть проект. как написать чтоб он считал из файла в вышеупомянутом топике параметры в переменные. т.е. запускается проект. ему нуно соедениться с бд и этот проект смотрит в файл и с него читает логин/пароль.
splashman
Тебе же уже сказали, Юзай ini - файлы. Если это тебе ни о чем не говорит, поищи здесь . Там была неплохая статейка по теме :спок:
splashman
проще всего разместить на форме TRichEdit или TMemo дать ему Visible:=false, WordWrap:=false (чтобы от размера поля не переносились части строк)
Далее открывать файл например RichEdit1.LoadFromFile('C:/Temp/myproga.txt'),
(Но перед этим сделать RichEdit1.clear) а потом читать по строкам param:=RichEdit1.Lines.Strings[0]
param2:=RichEdit1.Lines.Strings:1:

Я так делаю всегда, а файл с текстовыми значениями параметров можно хоть *.ini хоть *.txt называть:улыб:
ЗЫ я мог ошибиться в синтаксисе.
Господин Уэф!
В это случае необходимо следить за стркутурой файла, либо просто не говорить юзверю о его существовании :спок:
Господин Уэф!
Замечательный способ, натюрлих....
Еще можно через 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 строковый параметр
Еще можно через OLEAutomation запускать Exel (естественно в скрытом режиме), закачивать туда файл, и из нужных ячеек выдяргивать нужную информацию.
:улыб:Понимаю скептицизм. Но предложи другой вариант в ситуации скажем такой. Есть прога в регистратуре куда должны подать свое расписание в электронном виде на некоторый период скажем на месяц 20-30 врачей. Причем понятно нет никакой возможности усадить самого врача в регистратуру чтобы он забивал расписание напрямую в прогу. половина из них вообще делает его дома. Так в чем прикажете забивать расписание как не в Excel? А от туда выковыривать его через COM или OLE
splashman
Есть файл con.fig. следующего формата
Есть файл con.fig. следующего формата
name = sysdba
passwd = lol
..............
Как мне считывать и записывать в переменыые делфи эти значения?
Моя плакать...
Может еще переменные объявлять научить?
Egor_M
Какой умный и гордый. Сам будто никогда не задавал простых вопросов.
Господин Уэф!
Задавал, чего греха таить.
Но в основном не на форумах, да и давно бросил это занятие))).

Где-то в инете есть статья "How to read the [censored] manual". На RSDN есть ее перевод на русский. Автору топика надо ее почитать...