![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
From... [D6, WinXP]
DJ X © (2002-01-16 16:36:00)Я использую в своей проге INI-файл. Почему, когда я читаю значение из INI в переменную, получаю в переменной всегда значение по умолчанию, даже если значение в файле существует? Если использовать ShowMessage, где в качестве параметра выступает функция чтения (из INI, конечно), то получаем, то что надо.
Digitman (2002-01-22 14:46:00) [1]Тогда изучи и следуй примеру, любезно предоставленного тебе by <panov>
DJ X (2002-01-22 14:41:00) [2]Секция "General" и в ней непустой ключ "StartPage" действительно существуют (я специально создал тестовый файл).
Digitman (2002-01-22 14:08:00) [3]"Умные" люди молчат, потому что не занимаются , как правило, слепым перебором подходящих инструментов по принципу "авось сработает" .. то, что ты делаешь, похоже на ситуацию "сварил суп, че-то дерьмовый на вкус, может вместо соли сахар добавить ? а , может, песку речного ? авось получится".
"Умные" люди также предпочитают избегать использования сторонних, подозрительных, неотлаженных и слабодокументированных компонентов для реализации простейшей (стандартной !) задачи, если она реализуется встроеннымии и достаточно проверенными компонентами.
Поэтому убирай свой LMDTools, возвращай на место IniFiles и ищи ошибку в коде, использующем стандартный TIniFiles.
Кстати, а секция "General" и в ней непустой ключ "StartPage" действительно существуют в ini-файле твоем ? Есть в этом уверенность у тебя ?
panov (2002-01-22 13:53:00) [4]Посмотри примеры работы с TIniFile:
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;
dimsfdf (2002-01-22 13:53:00) [5]:)
sStartPage:STRING ???
попробуй
sStartPage.Assign(INI.ReadString("General","StartPage","default"))
DJ X (2002-01-22 13:47:00) [6]Я и TRegIniFile и TIniFile использовал - они несработали, поэтому я и решил попробовать компонент.
Какие есть соображения?
aus (2002-01-22 12:18:00) [7]Не мудри, возьми простой TRegIniFile и не мучайся.
panov (2002-01-22 11:58:00) [8]>DJ X © (22.01.02 11:28)
Там, где ты это компонент взял.
DJ X (2002-01-22 11:28:00) [9]Где умныелюди?!
DJ X (2002-01-18 06:46:00) [10]Так, я испльзую компонент для работы с реестром и INI из комплекта LMDTools. Извините, я неправильный исходный текст дал.
Настоящий текст:INI.IniFile := ExtractFilePath(Application.ExeName) + "file.ini";
sStartPage := INI.ReadString("General","StartPage","default"); {sStartPage = default}
ShowMessage(INI.ReadString("General","StartPage","default"));{OK}
Неuses IniFiles;, неvar Ini: TINIFile;я не использовал. I"m sorry...
Юрий Федоров (2002-01-17 17:47:00) [11]Что-то странное.
я не нашел в справке св-ва TINIFile.IniFile
Насколько я помню, имя файла передается как параметр в конструкторе :
ini:=TIniFile.Create(ExtractFilePath(Application.ExeName) + "file.ini");
>DJ X
Покажи место кода, где создается экземпляр класса, и где производится запись
DJ X (2002-01-17 17:24:00) [12]
uses IniFiles;
var Ini: TINIFile;
INI.IniFile := ExtractFilePath(Application.ExeName) + "file.ini";
sStartPage := INI.ReadString("General","StartPage","default"); {sStartPage = default}
ShowMessage(INI.ReadString("General","StartPage","default"));{OK}
IronHawk (2002-01-16 17:07:00) [13]>>> DJ X ©
Дай нам код исходный ..
и мы те скажем где у тя упущение !
Turalyon (2002-01-16 17:03:00) [14]Привиди пожалуйста исходный текст программы, точнее то метсо где ты считываешь данные из ini - файла.
DJ X (2002-01-16 16:58:00) [15]Не понял???
Юрий Федоров (2002-01-16 16:55:00) [16]Код в студию