Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   textbestand einlesen mit 2D array... (https://www.delphipraxis.net/61915-textbestand-einlesen-mit-2d-array.html)

Sir Rufo 28. Jan 2006 12:36

Re: textbestand einlesen mit 2D array...
 
Zitat:

Zitat von student
hallo nochmal,
vielen dank für die vielen und schnellen antworten. wir sind jetzt so weit, dass jede 3. zahl aus dem bestand eingelesen wird, keine ahnung warum. leider immer noch nciht spalte für spalte. einlesen müssen wir das ganze aus einer textfile...wäre toll, wenn vielleicht jemand eine idee hätte

Also m.E. waren hier schon genug Ideen ... :gruebel:
Aber in dem Code sehe ich irgendwie keine Umsetzung :gruebel:
Zitat:

Zitat von student
...hier mal ein auszug unseres codes:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
j: integer;
i:integer;
k:integer;
l:integer;

begin
  assignfile(mijntext,'open.txt');
  reset(mijntext);
  i:=0; // das ist ja wohl unfug s.u.
  j:=0; // dito
  while not(eof(mijntext)) do begin
    read (mijntext, openarray[i,j]); // und immer in openarray[0,0] ???

    for l:=0 to j do begin // also wir zählen immer von 0 bis 0, sehr logisch
      read(mijntext, openarray[i,j]); // und hier schon wieder ???

      for k:=0 to i do begin
        read (mijntext, openarray[i,j]); // und da auch ... wofür?

        memo1.lines.add(floattostr(openarray[i,j]));
      end;
    end;
  end;
  closefile(mijntext);
end;

end.
vielen dank nochmal und ein schönes wochenende allerseits....

Also wenn der Code was vernünftiges liefert, dann heisse ich ab sofort egon.

Aber versuch es mal damit ... (die Umwandlung von String in Float fehlt, genauso wie die Zuordnung zum Array, was aber keine Probleme mehr bereiten sollte :gruebel: )
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  iFile : TextFile;
  iZeile : string;
  iWerte : TStringList;
  i,                    // Zähler für die Werte pro Zeile
  z : integer;          // Zeilenzähler
begin
  // Die brauchen wir zum Umwandeln
  iWerte := TStringList.Create;
  try
    iWerte.Delimiter := #32; // Trennzeichen zwischen den Werten
    AssignFile( iFile, 'Daten.txt' );
    ReSet( iFile );
    z := 0;
    while not Eof( iFile ) // bis zum bitteren Ende
    do begin
      ReadLn( iFile, iZeile ); // Zeile lesen
      inc( z );
      // Jetzt kommt der Trick, die Stringlist interpretiert den übergebenen String
      // und trennt an dem eingestellten Trennzeichen die Zeile in mehrere Strings!
      iWerte.DelimitedText := iZeile;
      // Und diese kann man jetzt abfragen
      for i := 0 to Pred( iWerte.Count )
      do
        Memo1.Lines.Add(  // Ausgabe im MemoFeld
          Format(  // Damit sieht das dann schöner aus
            'z:%d s:%s',
            [ z,
              iWerte.Strings[ i ] // Der Wert als String
            ]
          )
        );
    end;
    CloseFile( iFile );
  finally
    // Und ins Nirwana schicken
    iWerte.Free;
  end;
end;
und wech ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 Uhr.
Seite 2 von 2     12   

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