![]() |
Re: Fremdes Datenformat einfach lesen in Delphi
Ich dachte auch eher an die Zeilenlänge, also die Anzahl an Zeichen pro Zeile.
Das ist bei der Datei wohl nicht der Fall. Da wirst Du wohl bei Readln bleiben müssen. Mußt Du denn ein und dieselbe Datei öfter einlesen? Wenn ja, kannst Du Sie ja in eine datensatzorientierte Datei umwandeln. Grüße Klaus |
Re: Fremdes Datenformat einfach lesen in Delphi
Hallo Ronny,
hier ein kleines Code-Fragment für dich - vielleicht zeigt es dir den Weg zu einer etwas professionelleren Lösung. Die Daten würde ich aber in einem Konsolprogramm verarbeiten. Plausibilitätskontrollen und Behandlung von Datenfehlern habe ich weggelassen, damit man den eigentlichen Ansatz besser erkennt.
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.ProcessLine(groupCode: Char; index: Integer; line: String);
var iRow: Integer; begin case groupCode of 'K': ProcessK(index, line); 'F': ProcessF(index, line); 'D': ProcessD(index, line); 'U': ProcessD(index, line); 'I': ProcessD(index, line); else LogError(); end; { === nur zum Testen === with StringGrid do begin iRow := RowCount; RowCount := RowCount + 1; FixedRows := 1; Cells[0, iRow] := groupCode; Cells[1, iRow] := IntToStr(index); Cells[2, iRow] := line; end; === } end; procedure TDemoForm.ProcessActionExecute(Sender: TObject); var tf: TextFile; index: Integer; // record index sIndex: String[2]; s: String; sGroup: String[1]; begin sGroup := ' '; AssignFile(tf, ParamStr(1)); Reset(tf); while not Eof(tf) do begin ReadLn(tf, sIndex, s); index := StrToInt(sIndex); if index = 0 then sGroup := Copy(s + ' ', 1, 1) else ProcessLine(sGroup[1], index, s); end; CloseFile(tf); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 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