AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stringgrid einlesen

Ein Thema von ichnixwissen · begonnen am 14. Mär 2009 · letzter Beitrag vom 14. Mär 2009
Antwort Antwort
Seite 1 von 2  1 2      
ichnixwissen

Registriert seit: 11. Mär 2009
26 Beiträge
 
#1

Stringgrid einlesen

  Alt 14. Mär 2009, 18:58
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.
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Stringgrid einlesen

  Alt 14. Mär 2009, 19:12
Hallo,

deine Formatierung ist grauenvoll
Zitat:
stringGrid1.Cells[0,1]:= datum;
Du liest die Dateien mit while alle Einträge aus, schreibst aber immer in die gleiche Zelle.

Gruß Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
ichnixwissen

Registriert seit: 11. Mär 2009
26 Beiträge
 
#3

Re: Stringgrid einlesen

  Alt 14. Mär 2009, 19:54
Das ist richtig so, da in den dateien immer nur die erste zeile gespeichert ist.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Stringgrid einlesen

  Alt 14. Mär 2009, 20:01
Guten Abend,

in der Variable z steht da ein absoluter oder ein relativer Pfad?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
ichnixwissen

Registriert seit: 11. Mär 2009
26 Beiträge
 
#5

Re: Stringgrid einlesen

  Alt 14. Mär 2009, 20:03
z ist bei allen gleich, z.B. z = Hans
  Mit Zitat antworten Zitat
craash

Registriert seit: 23. Nov 2008
Ort: Mühlacker
79 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Stringgrid einlesen

  Alt 14. Mär 2009, 20:09
also lädst du aus "Hans.kt8" (zB) ? ohne jeglichen dateipfad?

dann ist ja logisch dass nichts angezeigt wird, da alles folgende nach if fileexists() nicht zur ausführung kommt.
uses Delphi 5 Std. / TurboDelphi 2006
  Mit Zitat antworten Zitat
ichnixwissen

Registriert seit: 11. Mär 2009
26 Beiträge
 
#7

Re: Stringgrid einlesen

  Alt 14. Mär 2009, 20:10
Wie krieg ich das Problem gelöst?
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

Re: Stringgrid einlesen

  Alt 14. Mär 2009, 20:10
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:
if FileExists(z +'.kt5') then
  begin
  end
 else
  showmessage('Datei xyz nicht gefunden'
Du gibst ja gar keine Fehlermeldung aus, wenn die Datei nicht gefunden wurde

Zitat:
//solange die Datei nicht zu Ende ist...
Zitat:
Das ist richtig so, da in den dateien immer nur die erste zeile gespeichert ist.
dann laß das lieber mit den Kommentaren , hier verwirrt er ja wirklich, wenn du schreibst solange ...

edit:
Zitat:
Wie krieg ich das Problem gelöst?
in dem du den Pfad davor schreibst, wo liegen denn die Dateien?

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Stringgrid einlesen

  Alt 14. Mär 2009, 20:11
Wo liegt Hans, unterhalb des verzeichnisses von dem die exe gestartet wird?

Dann mach das lieber dieses raus:

z:=ExtractFilePath(ParamStr(0))+'Hans'; Denn es ist nicht immer sichergestellt das Hans (relativer Pfad) auch gefunden wird.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Stringgrid einlesen

  Alt 14. Mär 2009, 20:11
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 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