Чтение файла Delphi ini
Я застрял и прошу вашей помощи, чтобы получить решение для чтения моего INI-файла обратно и поместить его в мою форму memo1 с помощью кнопки.
Это в моем текстовом файле:
[Filename]
Work Time=03-10-2018 15:11
Вот часть кода, с которым я работаю.
var
aWorkTime: string;
procedure TForm1.button2(Sender: TObject):
begin
Memo1.Lines.Clear;
IniFile := TIniFile.Create(GetCurrentDir+'\Filename.ini');
try
aWorkTime := IniFile.ReadString('Filename', 'Work Time', <'none'>);
finally
IniFile.Free;
end;
end
Я надеюсь, что это достаточно информации, если нет, пожалуйста, скажите мне, что вы от меня не хватает
1 ответ
Решение
Ваше использование GetCurrentDir
проблематично. Текущий каталог может измениться, и он не обязательно должен совпадать с каталогом, в котором находится файл .exe. Скорее использовать ExtractFilePath(Application.ExeName)
Кроме того, вместо того, чтобы читать элементы по одному, чтобы прочитать весь файл .ini в заметку, сделайте что-то вроде:
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile(ExtractFilePath(Application.ExeName) + 'FileName.ini');
end;
Если вам нужно только рабочее время, то ваш код почти готов:
var
aWorkTime: string;
IniFile: TIniFile;
begin
Memo1.Lines.Clear;
IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FileName.ini');
try
aWorkTime := IniFile.ReadString('Filename', 'Work Time', '<none>');
Memo1.Lines.Add('Work Time=' + aWorkTime);
finally
IniFile.Free;
end;
end;