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

Вниз

From...   Найти похожие ветки 

 
DJ X   (2002-01-16 16:36) [0]

Я использую в своей проге INI-файл. Почему, когда я читаю значение из INI в переменную, получаю в переменной всегда значение по умолчанию, даже если значение в файле существует? Если использовать ShowMessage, где в качестве параметра выступает функция чтения (из INI, конечно), то получаем, то что надо.


 
Юрий Федоров   (2002-01-16 16:55) [1]

Код в студию


 
DJ X   (2002-01-16 16:58) [2]

Не понял???


 
Turalyon   (2002-01-16 17:03) [3]

Привиди пожалуйста исходный текст программы, точнее то метсо где ты считываешь данные из ini - файла.


 
IronHawk   (2002-01-16 17:07) [4]

>>> DJ X ©


Дай нам код исходный ..
и мы те скажем где у тя упущение !




 
DJ X   (2002-01-17 17:24) [5]

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}


 
Юрий Федоров   (2002-01-17 17:47) [6]

Что-то странное.
я не нашел в справке св-ва TINIFile.IniFile
Насколько я помню, имя файла передается как параметр в конструкторе :
ini:=TIniFile.Create(ExtractFilePath(Application.ExeName) + "file.ini");
>DJ X
Покажи место кода, где создается экземпляр класса, и где производится запись


 
DJ X   (2002-01-18 06:46) [7]

Так, я испльзую компонент для работы с реестром и 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...


 
DJ X   (2002-01-22 11:28) [8]

Где умные люди?!


 
panov   (2002-01-22 11:58) [9]

>DJ X © (22.01.02 11:28)
Там, где ты это компонент взял.


 
aus   (2002-01-22 12:18) [10]

Не мудри, возьми простой TRegIniFile и не мучайся.


 
DJ X   (2002-01-22 13:47) [11]

Я и TRegIniFile и TIniFile использовал - они несработали, поэтому я и решил попробовать компонент.
Какие есть соображения?


 
panov   (2002-01-22 13:53) [12]

Посмотри примеры работы с 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) [13]

:)
sStartPage:STRING ???

попробуй
sStartPage.Assign(INI.ReadString("General","StartPage","default"))


 
Digitman   (2002-01-22 14:08) [14]

"Умные" люди молчат, потому что не занимаются , как правило, слепым перебором подходящих инструментов по принципу "авось сработает" .. то, что ты делаешь, похоже на ситуацию "сварил суп, че-то дерьмовый на вкус, может вместо соли сахар добавить ? а , может, песку речного ? авось получится".
"Умные" люди также предпочитают избегать использования сторонних, подозрительных, неотлаженных и слабодокументированных компонентов для реализации простейшей (стандартной !) задачи, если она реализуется встроеннымии и достаточно проверенными компонентами.
Поэтому убирай свой LMDTools, возвращай на место IniFiles и ищи ошибку в коде, использующем стандартный TIniFiles.

Кстати, а секция "General" и в ней непустой ключ "StartPage" действительно существуют в ini-файле твоем ? Есть в этом уверенность у тебя ?


 
DJ X   (2002-01-22 14:41) [15]

Секция "General" и в ней непустой ключ "StartPage" действительно существуют (я специально создал тестовый файл).


 
Digitman   (2002-01-22 14:46) [16]

Тогда изучи и следуй примеру, любезно предоставленного тебе by <panov>



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

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

Наверх




Память: 0.5 MB
Время: 0.012 c
3-18703
MEgo
2002-01-08 17:48
2002.02.07
Вопрос для реальных знатоков: BLOB -> Oracle <= 32 K?


1-18789
Виктор
2002-01-24 02:13
2002.02.07
Есть ли секреты у Hint


14-18977
neodiX
2001-12-19 11:49
2002.02.07
Darova. A voobsce, kakoi samyi bystryi sposob sohranenija desktop a (izobrazenija) v TBitMap?


14-18962
yuger
2001-12-17 16:39
2002.02.07
Как правильно организовать Trial версию программы?


1-18871
XPcoder
2002-01-22 20:47
2002.02.07
Распечатка Рапорта...