Чтение файлов Delphi ini - PullRequest
       29

Чтение файлов Delphi ini

0 голосов
/ 03 октября 2018

Я застрял и прошу вашей помощи, чтобы получить решение для чтения моего 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 Ответ

0 голосов
/ 03 октября 2018

Использование 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;
...