Главная страница
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.032 c
4-30173
Vasily Terekhov
2003-01-18 14:05
2003.03.10
LoadKeyboardLayout для активного окна


6-29970
Aleksey_SV
2003-01-16 17:55
2003.03.10
Консоль и ServerSocket


14-30132
michael_b
2003-02-23 20:54
2003.03.10
Что делают на подобных сайтах профессионалы???


3-29770
Sherbacov
2003-02-17 18:00
2003.03.10
Обновление у клиентов


3-29747
roadrunner
2003-02-19 10:17
2003.03.10
Помогите разобраться с АДО и БДЕ