Текущий архив: 2003.04.21;
Скачать: 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 вся ветка
Текущий архив: 2003.04.21;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.039 c