Вниз
Скачать: CL | DM;

Как считать любой ini-файл?   Найти похожие ветки 

← →
Den   (2003-04-10 06:57) [0]

Как считать любой ini-файл? Делаю так:
===========================================================
procedure TForm1.N2Click(Sender: TObject);
var
ini: TIniFile;
dir, fname: String;
begin
od1.Execute;
dir:=extractfiledir(opendialog1.Files.Text);
fname:=extractfilename(opendialogd1.Files.Text);

ini:=TIniFile.Create(dir+"\"+fname);
ini.ReadSections(memo1.Lines);
ini.Free;
end;
===========================================================
Файл не открывается, если написать:

ini:=TIniFile.Create("c:\temp\new.ini");

Файл считывается нормально


← →
крот ©   (2003-04-10 07:31) [1]

А почему нельзя написать Ini := TIniFile.Create(od1.FileName) ?


← →
Palladin ©   (2003-04-10 08:01) [2]

Религия не позволяет...


← →
sniknik ©   (2003-04-10 08:18) [3]

до чего дошол прогресс!!! вместо минутной трассировки ложиш код на форум и работают другие. :о))
ты че не можеш посмотреть как раскладывается путь? возможнно у тебя получается
ini:=TIniFile.Create(dir+"\"+fname); = ini:=TIniFile.Create("c:\temp\"+"\"+"new.ini");


← →
крот ©   (2003-04-10 09:23) [4]


> sniknik © (10.04.03 08:18)
> до чего дошол прогресс!!! вместо минутной трассировки ложиш
> код на форум и работают другие. :о))
> ты че не можеш посмотреть как раскладывается путь? возможнно
> у тебя получается
> ini:=TIniFile.Create(dir+"\"+fname); = ini:=TIniFile.Create("c:\temp\"+"\"+"new.ini");


Бей его, ребята!! :-)))


← →
Palladin ©   (2003-04-10 09:46) [5]


> sniknik © (10.04.03 08:18)

ну на самом деле понятие директории и понятие пути различаются.
то что с "\" в конце это path, то что без - это dir

парень слегка ошибается потому что при ExtractFileName из Files (который TStringList) к имени цепляется еще и #13#10.
CRLF добавляется при формировании TStringList.Text
потому то и не работает...


← →
sniknik ©   (2003-04-10 10:53) [6]

Palladin © (10.04.03 09:46)
зачем ответил? пусть бы подумал немного. потрассировал.

(хотя и это неправильно(ну или не все), посмотри на код внимательно поймеш)


← →
Palladin ©   (2003-04-10 11:08) [7]

хм..
и что же именно у меня не правильно?


← →
sniknik ©   (2003-04-10 11:27) [8]

ну не не неправильно а это не все (не так выразился). ошибка (основная в другом)


← →
sniknik ©   (2003-04-10 11:30) [9]

хотя (тоже вариант) возможно что это и не ошибка а логика такая программы (раскладывать не то что открыли), тогда примите мои извинения.


← →
Anatoly Podgoretsky ©   (2003-04-10 13:04) [10]

Действительно не понятно, зачем делать вычитание, а потом обратно складывать. Какой то дурдом.


← →
Palladin ©   (2003-04-10 13:37) [11]

Ну а это уже вопросы к мышлению парня, может ему нравится дурью маятся :)


← →
panov ©   (2003-04-10 16:24) [12]

function GetIniName: String;
begin
Result := Application.ExeName;
Result := ChangeFileExt(Result, ".ini");
end;

procedure GetParmSection(const aSec: String;var t: TStringList);
var
tIni: TIniFile;
begin
tIni := TIniFile.Create(GetIniName);
tIni.ReadSectionValues(aSec,t);
tIni.Free;
end;

function GetParm(const aSec,aParm: String): String;
var
tIni: TIniFile;
begin
tIni := TIniFile.Create(GetIniName);
Result := tIni.ReadString(aSec,aParm,"");
tIni.Free;
end;

procedure WriteParm(const aSec,aParm,aValue: String);
var
tIni: TIniFile;
begin
tIni := TIniFile.Create(GetIniName);
tIni.WriteString(aSec,aParm,aValue);
tIni.Free;
end;



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.013 c
7-67573
Vladimir1
2003-02-28 09:36
2003.04.21
серийный номер утсройства...


14-67553
copyr25
2003-03-31 18:40
2003.04.21
---|Ветка была без названия|---


7-67594
StAL
2003-03-04 10:06
2003.04.21
Как узнать, когда документ отправлен на принтер?


3-67140
Юров Владимир
2003-04-03 10:11
2003.04.21
MS SQL + Delphi


1-67383
Гость
2003-04-10 12:08
2003.04.21
Число строк в Memo1




   Наверх