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

Вниз

Чтение из ини-файла   Найти похожие ветки 

 
Swolota   (2003-02-26 11:41) [0]

Народ такая вот сложность имеется процедура чтения из ини файла:
procedure Tform3.ReadIniFile(Asection,AString: String):String;
var
sIniFile: TIniFile;
AValue: string;
sPath : String[60];
begin
GetDir(0,sPath);
sIniFile := TIniFile.Create(sPath + "\bla-bla-bla.INI");
Result := sIniFile.ReadString(ASection, AString, Avalue);
sIniFile.Free;
end;

Вопрос вызывает сам параметр Avalue - я же правильно задал его переменной, но в итоге при считывании необходимой мне строчки из файла - пустое значение, а если задать его явно, константой к примеру, то на выходе получаю всегда результат равный этой константе. Подскажите, как обойти...


 
Digitman ©   (2003-02-26 11:48) [1]


> Подскажите, как обойти


Оч.просто - в момент выполнения строчки sIniFile.ReadString() в INI-файле в секции ASection ключ AString должен существовать. В противном случае результатом ф-ции будет Avalue (что, собственно, ты и наблюдаешь)


 
Swolota   (2003-02-26 11:59) [2]

В том то и дело, что сам ключик существует
[9898]
tree=1
break=true
table=desk
к примеру мне необходимо считать чему равен параметр break, так вот нав выходе мне выдают либо ничего, если AValue просто переменная, либо ее значение, если предварительно я задал чему она равна... :(((, но отнюдь не необходимЫцщдщефое мне true...


 
Digitman ©   (2003-02-26 12:11) [3]

покажи, как вызываешь ф-цию ReadIniFile(), кие факт.параметры передаешь для вышеуказанного примерного содержимого ini-файла


 
Darrin ©   (2003-02-26 12:12) [4]

Странно, у меня все нормально читается.
Вот код:

function Tform1.ReadIniFile(Asection,AString: String):string;
var
sIniFile: TIniFile;
AValue: string;
sPath : String[60];

begin
GetDir(0,sPath);
sIniFile := TIniFile.Create(sPath + "\1.INI");
Result:=sIniFile.ReadString(ASection, AString, Avalue);
sIniFile.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
var a:string;
begin
a:=ReadIniFile("9898","break");
if a="1" then
end;

По нажатию кнопки то что нужно оказывается в переменной "а".


 
han_malign ©   (2003-02-26 12:13) [5]

GetDir - ну-ну...
скорее уж: ExtractFilePath(ParamStr(0))+"bla-bla-bla.INI"
( up to and including the colon or backslash)


 
Swolota   (2003-02-26 12:26) [6]

Спасибо, разобрался, обнаружил, что кусок старого кода указывает на несуществующий файл, вот там то он и искал, после правки путей все чудно заработало...
Спасибо...



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
7-30154
SeF
2003-01-13 03:39
2003.03.10
завершение процесса


1-29910
Sectey
2003-02-26 19:24
2003.03.10
Словари в MsOffice


1-29796
Андрусь
2003-02-27 18:06
2003.03.10
Как получить текст сообщения об ошибке,возникшей внутри try excep


7-30170
Rammst
2003-01-06 16:03
2003.03.10
Путь к каталогу


9-29690
Vitas2
2002-10-09 11:58
2003.03.10
OpenGL