![]() |
Stringgrid einlesen
Es sind 4 Stringgrids auf einer Form und in den stringgrids sollen daten aus verschiedenen Dateien geladen werden. Aber es wird nichts in den stringgrids angezeigt. :!:
Delphi-Quellcode:
type Teintrag = record // die datentypen date und woerter werden in dem record Teintrag deklariert
zahl: string[20]; zeit: string[20]; datum: string[20]; date: string[20]; woerter: string[20]; zahl2: string[20]; zeit2: string[20]; datum2: string[20]; zahl3: string[20]; zeit3: string[20]; datum3: string[20]; end; var Form19: TForm19; datei: file of Teintrag; // Datei ist die Datei von Teintrag eintrag: Teintrag; implementation {$R *.dfm} procedure TForm19.FormCreate(Sender: TObject); begin if FileExists(z +'.kt5') then begin AssignFile(datei,z +'.kt5'); // wird diese Datei geöffnet Reset(datei); while not eof(datei) do //solange die Datei nicht zu Ende ist... begin Read(datei,eintrag); // und die Datei gelesen with eintrag do begin // die Datei wird zurück gesetzt stringGrid1.Cells[0,1]:= datum; stringGrid1.Cells[1,1]:=zahl; StringGrid1.Cells[2,1]:=zeit; end; closeFile(datei); // die Datei wird geschlossen end; if FileExists(z +'.kt6') then begin AssignFile(datei,z +'.kt6'); // wird diese Datei geöffnet Reset(datei); // die Datei wird zurück gesetzt while not eof(datei) do //solange die Datei nicht zu Ende ist... begin Read(datei,eintrag); // und die Datei gelesen with eintrag do begin stringGrid2.Cells[0,1]:= date; stringGrid2.Cells[1,1]:=woerter; end; end; closeFile(datei); // die Datei wird geschlossen end; if FileExists(z +'.kt7') then begin AssignFile(datei,z +'.kt7'); // wird diese Datei geöffnet Reset(datei); // die Datei wird zurück gesetzt while not eof(datei) do //solange die Datei nicht zu Ende ist... begin Read(datei,eintrag); // und die Datei gelesen with eintrag do begin stringGrid3.Cells[0,1]:= datum2; stringGrid3.Cells[1,1]:=zahl2; StringGrid3.Cells[2,1]:=zeit2; end; end; closeFile(datei); // die Datei wird geschlossen end; if FileExists(z +'.kt8') then begin AssignFile(datei,z +'.kt8'); // wird diese Datei geöffnet Reset(datei); // die Datei wird zurück gesetzt while not eof(datei) do //solange die Datei nicht zu Ende ist... begin Read(datei,eintrag); // und die Datei gelesen with eintrag do begin stringGrid4.Cells[0,1]:= datum; stringGrid4.Cells[1,1]:=zahl; StringGrid4.Cells[2,1]:=zeit; end; end; closeFile(datei); // die Datei wird geschlossen end; end; end. |
Re: Stringgrid einlesen
Hallo,
deine Formatierung ist grauenvoll ;-) Zitat:
Gruß Frank |
Re: Stringgrid einlesen
Das ist richtig so, da in den dateien immer nur die erste zeile gespeichert ist.
|
Re: Stringgrid einlesen
Guten Abend,
in der Variable z steht da ein absoluter oder ein relativer Pfad? Grüße Klaus |
Re: Stringgrid einlesen
z ist bei allen gleich, z.B. z = Hans
|
Re: Stringgrid einlesen
also lädst du aus "Hans.kt8" (zB) ? ohne jeglichen dateipfad?
dann ist ja logisch dass nichts angezeigt wird, da alles folgende nach
Delphi-Quellcode:
nicht zur ausführung kommt.
if fileexists()
|
Re: Stringgrid einlesen
Wie krieg ich das Problem gelöst?
|
Re: Stringgrid einlesen
also du solltest immer absolute Pfade verwenden, wenn z nur Hans ist, kannst du verzeichnismäßig irgendwo landen.
hast mal ein paar breakpoints gesetzt? bzw
Delphi-Quellcode:
Du gibst ja gar keine Fehlermeldung aus, wenn die Datei nicht gefunden wurde
if FileExists(z +'.kt5') then
begin end else showmessage('Datei xyz nicht gefunden' Zitat:
Zitat:
edit: Zitat:
|
Re: Stringgrid einlesen
Wo liegt Hans, unterhalb des verzeichnisses von dem die exe gestartet wird?
Dann mach das lieber dieses raus:
Delphi-Quellcode:
Denn es ist nicht immer sichergestellt das Hans (relativer Pfad) auch gefunden wird.
z:=ExtractFilePath(ParamStr(0))+'Hans';
Grüße Klaus |
Re: Stringgrid einlesen
Wenn du dir mal die Mühe gemacht hättest, deinen Quellcode ordentlich einzurücken, dann wäre dir auch aufgefallen, das das erste closefile innerhalb deiner Einleseschleife steht.
Delphi-Quellcode:
type
Teintrag = record // die datentypen date und woerter werden in dem record Teintrag deklariert zahl: string[20]; zeit: string[20]; datum: string[20]; date: string[20]; woerter: string[20]; zahl2: string[20]; zeit2: string[20]; datum2: string[20]; zahl3: string[20]; zeit3: string[20]; datum3: string[20]; end; var Form19: TForm19; implementation {$R *.dfm} var datei: file of Teintrag; // Datei ist die Datei von Teintrag eintrag: Teintrag; procedure TForm19.FormCreate(Sender: TObject); begin if FileExists(z + '.kt5') then begin AssignFile(datei, z + '.kt5'); // wird diese Datei geöffnet try Reset(datei); while not eof(datei) do //solange die Datei nicht zu Ende ist... begin Read(datei, eintrag); // und die Datei gelesen with eintrag do begin // die Datei wird zurück gesetzt stringGrid1.Cells[0,1]:=datum; stringGrid1.Cells[1,1]:=zahl; StringGrid1.Cells[2,1]:=zeit; end; end; finally closeFile(datei); // die Datei wird geschlossen end; end; if FileExists(z + '.kt6') then begin AssignFile(datei, z + '.kt6'); // wird diese Datei geöffnet try Reset(datei); // die Datei wird zurück gesetzt while not eof(datei) do //solange die Datei nicht zu Ende ist... begin Read(datei, eintrag); // und die Datei gelesen with eintrag do begin stringGrid2.Cells[0,1]:=date; stringGrid2.Cells[1,1]:=woerter; end; end; finally closeFile(datei); // die Datei wird geschlossen end; end; if FileExists(z + '.kt7') then begin AssignFile(datei, z + '.kt7'); // wird diese Datei geöffnet try Reset(datei); // die Datei wird zurück gesetzt while not eof(datei) do //solange die Datei nicht zu Ende ist... begin Read(datei,eintrag); // und die Datei gelesen with eintrag do begin stringGrid3.Cells[0,1]:=datum2; stringGrid3.Cells[1,1]:=zahl2; stringGrid3.Cells[2,1]:=zeit2; end; end; finally closeFile(datei); // die Datei wird geschlossen end; end; if FileExists(z + '.kt8') then begin AssignFile(datei, z + '.kt8'); // wird diese Datei geöffnet try Reset(datei); // die Datei wird zurück gesetzt while not eof(datei) do //solange die Datei nicht zu Ende ist... begin Read(datei, eintrag); // und die Datei gelesen with eintrag do begin stringGrid4.Cells[0,1]:=datum; stringGrid4.Cells[1,1]:=zahl; stringGrid4.Cells[2,1]:=zeit; end; end; finally closeFile(datei); // die Datei wird geschlossen end; end; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz