Einzelnen Beitrag anzeigen

Benutzerbild von Berserker
Berserker

Registriert seit: 15. Dez 2002
Ort: Chemnitz
164 Beiträge
 
Delphi 6 Professional
 
#16

Re: Fremdes Datenformat einfach lesen in Delphi

  Alt 27. Mai 2006, 13:43
Hallo.

Also ich bin schon ein Stück weitergekommen.
Ich lese die Textdatei in eine StringList ein und verarbeite diese dann.

Liste laden:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 sl := TStringList.Create;
 sl.LoadFromFile('ADR_APO.UPD');
 Memo1.Lines := sl;
end;
Verarbeiten:
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var i: integer;
    zeile: string;
begin
 DS.Open;
 i := 0;
 while i < sl.Count do begin
  zeile := sl.Strings[i];
  Memo2.Lines.Add(zeile);
  if(zeile='00K') then begin
   // Kopfdefinition
   i := Lese_Kopf(i);
  end else if(zeile='00F') then begin
   i := Lese_Feld(i);
  end else begin
   Inc(i);
  end;
 end;
end;
Funktion um den Kopf zu lesen:
Delphi-Quellcode:
{** KOPF LESEN ****************************************************************}
function TForm1.Lese_Kopf(posi: integer): integer;
var i: integer;
    s, s1, prefix, zeile: string;
begin
  // BEGIN Kopf-Record lesen
  for i := 1 to anzahl_felder_k do begin
   Inc(posi);
   zeile := sl[posi];
   prefix := Copy(zeile,1,2);
   s := Copy(zeile,3,length(zeile));
   if( prefix='01') then begin
    edF01.Text := s;
   end else if( prefix='02') then begin
    edF02.Text := s;
   end else if( prefix='03') then begin
    edF03.Text := s;
   end else if( prefix='04') then begin
    edF04.Text := s;
   end else if( prefix='05') then begin
    edF05.Text := s;
   end else if( prefix='06') then begin
    edF06.Text := s;
   end else if( prefix='07') then begin
    edF07.Text := s;
   end else if( prefix='08') then begin
    edF08.Text := s;
    anzahl_tabelle_felder := StrToInt(s);
   end;
   result := posi;
  end;
  // END Kopf-Record lesen
end;
{******************************************************************************}
Für evtl. Verbesserungen bin ich immer offen.
Habe ja bisher noch nie mit solchen Files gearbeitet.

MfG, Ronny
  Mit Zitat antworten Zitat