Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Anzeigen des Inhalts von .txt oder .ini-files (https://www.delphipraxis.net/91418-anzeigen-des-inhalts-von-txt-oder-ini-files.html)

Honigdachs 4. Mai 2007 17:16


Anzeigen des Inhalts von .txt oder .ini-files
 
Hallo,

ich bin gerade an einer Delphi-Entwicklung dran und möchte in dem Programm eine zuvor (manuell und nicht per Delphi) geschriebene Textdatei (.txt oder .ini) in einer Listbox oder Memo anzeigen lassen.

Ich habe folgendes versucht:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ini: TIniFile;
begin
  if
    Application.MessageBox('Datei anzeigen lassen?', 'Dialog zur Anzeige', MB_YESNO) = id_yes
  then
    ini:=TIniFile.Create(extractfilepath(paramstr(0)) + 'X.ini/.txt');
    Listbox1.items.text := ini.ReadString('Caption', 'Title', '{Keine Ahnung}');
    ini.free;
  else;

end;
:angel2:

Irgendwie funktioniert das so nicht. Liegt daran, dass ich jetzt jahrelang nicht mehr mit Delphi gearbeitet habe. :angel2:

Danke für eure Hilfe! :wink:

Apollonius 4. Mai 2007 17:34

Re: Anzeigen des Inhalts von .txt oder .ini-files
 
Ist die ini mit den richtigen Sections und Untereinträgen denn vorhanden?

BenjaminH 4. Mai 2007 17:45

Re: Anzeigen des Inhalts von .txt oder .ini-files
 
Willst du die Ini Datei so wie sie ist, also auch im Editor angezeigt wird, in deiner ListBox haben?
Das geht mit ListBox1.Items.LoadfromFile(IniDatei);

Namenloser 4. Mai 2007 17:48

Re: Anzeigen des Inhalts von .txt oder .ini-files
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ini: TIniFile;
begin
  if
    Application.MessageBox('Datei anzeigen lassen?', 'Dialog zur Anzeige', MB_YESNO) = id_yes
  then
    ini:=TIniFile.Create(extractfilepath(paramstr(0)) + 'X.ini/.txt');
    Listbox1.items.text := ini.ReadString('Caption', 'Title', '{Keine Ahnung}');
    ini.free;
  else;

end;
Kann auch nicht funktionieren. das schon eher: :wink:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ini: TIniFile;
begin
  if Application.MessageBox('Datei anzeigen lassen?', 'Dialog zur Anzeige', MB_YESNO) = id_yes then
  BEGIN // <--
    ini:=TIniFile.Create(extractfilepath(paramstr(0)) + 'X.ini'); //.txt
    Listbox1.items.text := ini.ReadString('Caption', 'Title', '{Keine Ahnung}');
    ini.free;
  END; // <--

end;

BUG 4. Mai 2007 17:59

Re: Anzeigen des Inhalts von .txt oder .ini-files
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Honigdachs,

erstmal hast du bei deinem Code einen "begin"-"end;"-Block vergessen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ini: TIniFile;
begin
  if
    Application.MessageBox('Datei anzeigen lassen?', 'Dialog zur Anzeige', MB_YESNO) = id_yes
  then
  begin // <- hier
    ini:=TIniFile.Create(extractfilepath(paramstr(0)) + 'X.ini/.txt'); // lade die Ini-Datei "X.ini/.txt" im Anwendungsvezeichnis
    Listbox1.items.text := ini.ReadString('Caption', 'Title', '{Keine Ahnung}'); {

Wenn in der Section "Caption" ein Eintrag mit dem Bezeichner "Title" auftaucht, gib den Wert als String in der Listbox aus, ansonsten ist der Eintrag der Listbox "{Keine Ahnung)" (die geschweifte Klammer würde das Kommentar schließen)!

Beispiel1: In der Datei "X.ini/.txt" steht
[Caption]
title=Eintrag?

Beispiel2: In der Datei "X.ini/.txt" steht
[Wurst]
Leberwurst=lekker!
Mettwurst=nich essen ...
[Käse]
Gauda=wie ordinär!
Edamer=aromatisch

}

    ini.free;
  end // <- und hier (vor dem "else" kommt kein Komma!)
  else {wenn hier kein Code mehr hin soll kannst/solltest du dir das "else" sparen};

end;
Ich hoffe das hilft dir,
Bug

PS: Jetzt hab ich so lange geschrieben, die roten Kästen greifen an!

Honigdachs 4. Mai 2007 18:02

Re: Anzeigen des Inhalts von .txt oder .ini-files
 
Danke erst mal für die Antworten.

Zitat:

Zitat von BenjaminH
Willst du die Ini Datei so wie sie ist, also auch im Editor angezeigt wird, in deiner ListBox haben?
Das geht mit ListBox1.Items.LoadfromFile(IniDatei);

Hat mir sehr weiter geholfen, war genau die Funktion die ich gesucht hatte! :-D

Zitat:

Zitat von NamenLozer
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ini: TIniFile;
begin
  if
    Application.MessageBox('Datei anzeigen lassen?', 'Dialog zur Anzeige', MB_YESNO) = id_yes
  then
    ini:=TIniFile.Create(extractfilepath(paramstr(0)) + 'X.ini/.txt');
    Listbox1.items.text := ini.ReadString('Caption', 'Title', '{Keine Ahnung}');
    ini.free;
  else;

end;
Kann auch nicht funktionieren. das schon eher: :wink:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ini: TIniFile;
begin
  if Application.MessageBox('Datei anzeigen lassen?', 'Dialog zur Anzeige', MB_YESNO) = id_yes then
  BEGIN // <--
    ini:=TIniFile.Create(extractfilepath(paramstr(0)) + 'X.ini'); //.txt
    Listbox1.items.text := ini.ReadString('Caption', 'Title', '{Keine Ahnung}');
    ini.free;
  END; // &lt;--

end;

:oops: Tja, nachdem ich das dann auch noch geändert hatte, hat es dann endgültig funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz