AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fremdes Datenformat einfach lesen in Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

Fremdes Datenformat einfach lesen in Delphi

Ein Thema von Berserker · begonnen am 16. Mai 2006 · letzter Beitrag vom 27. Mai 2006
Antwort Antwort
Seite 3 von 3     123   
Klaus01

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

Re: Fremdes Datenformat einfach lesen in Delphi

  Alt 27. Mai 2006, 15:37
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
Klaus
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#22

Re: Fremdes Datenformat einfach lesen in Delphi

  Alt 27. Mai 2006, 17:14
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:
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;
Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 19:53 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