Einzelnen Beitrag anzeigen

bart57

Registriert seit: 30. Mär 2004
51 Beiträge
 
#1

parse textfile to paradox

  Alt 9. Jun 2005, 14:24
Hallo,

ich suche eine allgemeine schnelle Methode um mehrere Text-Dateien mit trenner in Tabellen zu schreiben.
Ich habe es mit reanln, mit stringlist.loadfromfile versucht.
Ich habe es mit copy, und mit folgende pasre-Funktion versucht:

Delphi-Quellcode:
function fParse(Count: Integer;S,Char: string): string;
var
 I: Integer;
 T: string;
begin
// How do I get the "B" from "A|B|C|D|E|F"?
//==> Parse('|', 'A|B|C|D|E|F', 2)
{
sStand := Trim(fParse(#9,slfiles[0],2));
// sStand := Trim(getWrappos(1,slfiles[0],#9));
}

 try
  if trim(s)='Then
  begin
   result:='';
   exit;
  End;


  if S[Length(S)] <> Char then
  begin
   S := S + Char
  end;
  for I := 1 to Count do
  begin
   T := Copy(S, 0, Pos(Char, S) - 1);
   S := Copy(S, Pos(Char, S) + 1, Length(S));
  end;
  Result := T;
 except
  result:='';
 end;
end;

Es ist aber alles zu langsam


Dateien beispiel:

Code:
0000!XXXX!DTC    !LIN Y,Z,G !EVT    !  54 00A !0240200101!  03! !  54 08E !04::15   !DTRE   ! ! !211-BASTPBD!
0000!XXXX!DTC    !LOUT Y,Z,G!EVT    !  54 00A !0240200104!  06! !  54 08E !04::15   !DTRE   ! ! !211-BASTPBD!
0001!XXXX!DTC    !LIN Y,Z,G !EVT    !  54 00A !0251000501!  03! !  54 08E !08::15   !DTRE   ! ! !211-BASTPBD!
0001!XXXX!DTC    !LOUT Y,Z,G!EVT    !  54 00A !0251000504!  06! !  54 08E !08::15   !DTRE   ! ! !211-BASTPBD!

oder


Code:
0012!NAT1!01-0-01-7!D1-KOELN  !J !  4!0017!0102! 1!0042!0231! 3! 3! !TER! !
0012!NAT1!01-0-01-7!D1-KOELN  !J !  5!0049!0132! 1!0041!0200! 3! 3! !TER! !
0012!NAT1!01-0-01-7!D1-KOELN  !J !  6!0025!0103! 1!0042!0231! 4! 4! !TER! !
Danke im Voraus!

[edit=alcaeus]Delphi- und Code-Tags eingefuegt. In Zukunft bitte selbst machen Mfg, alcaeus[/edit]
Gruß,Gilles
  Mit Zitat antworten Zitat