Autor Beitrag
abc
Hält's aus hier
Beiträge: 2

WIN2000
D5
BeitragVerfasst: Di 13.04.04 17:31 
Hi,
wie kann ich aus einer Textdatei die 1. Zeile in Label1 und
die 2. Zeile in Label2 anzeigen lassen?

z.Bsp.: Wenn ich eine Datei namens Test.txt habe, mit dem Inhalt:
(1.zeile) blabla1
(2.zeile) blabla2

Durch einen klich auf einen Button soll dann die 1. Zeile in Label1
und die 2.Zeile in Label2 dargestellt werden.
Wie mache ich das?

Danke.
Grüße.
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Di 13.04.04 17:46 
Dazu müßte folgender(unfolständuger) code gut sein:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Button1Click(Sender: TObject);
begin
 Label1.Caption:=Readln(Textdatei);
 Label2.Caption:=Readln(Textdatei);
end;


Die Textdatei muss beim Starten des Programms geöffnet werden.
Die Textdatei darf erst zum Ende des Programms geschlossen werden, sonst klappt dieser Code nicht.
Ist auch nicht der eleganteste. Für Mehr Labels wurde ich einen komplexeren Code empfehlen. Für 2 bis 5 Labels ist diese Variante noch gerade so zu vertreten.

Moderiert von user profile iconMotzi: Code- durch Delphi-Tags ersetzt.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 13.04.04 22:58 
Tilo hat folgendes geschrieben:

Die Textdatei muss beim Starten des Programms geöffnet werden.
Die Textdatei darf erst zum Ende des Programms geschlossen werden, sonst klappt dieser Code nicht.

Nö. Du musst sie nur vor dem Lesen öffnen und man sollte sie nach dem lesen wieder schließen. Das kann auch in der ButtonKlick-Prozedur geschehen.

Desweiteren ist Readln eine Prozedur und keine Funktion:
ausblenden Delphi-Quelltext
1:
procedure Readln([ var F: Text; ] V1 [, V2, ...,Vn ]);					


Aber mit einer StringListe (TStringList) kommt er wahrscheinlich schneller zum Ziel. Näheres dazu in der Hilfe unter gleichnamigen Stichwort.
bms
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 735

Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
BeitragVerfasst: Di 13.04.04 23:21 
Den ganzen Tag die gleiche Frage:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  try
    sl.LoadFromFile('c:\autoexec.bat');

    if sl.Count >=2 then // Prüft ob mindestens 2 Zeilen drinn sind
    begin
      Label1.Caption := sl.Strings[0];
      Label2.Caption := sl.Strings[1];
    end;
  finally
    sl.Free;
  end;
end;

_________________
VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >:(