Registriert seit: 6. Nov 2004
Ort: Norderstedt
42 Beiträge
|
Re: komische TXT-Datei in Array auslesen
12. Nov 2004, 10:41
hy community!
Nicht das ihr denkt ich wär schon wieder gestorben! Danke für die Hilfe, hat bei mir das Brett vom Kopf entfernt und hab mich dann gleich mal auf die Suche gemacht!Habs leider verpennt zu posten, aber das hol ich jetzt mal nach! Würd mich über Kritik freuen, vllt kann man ja noch was vereinfachen!
Hier ist mein TEST-quelltext:
Delphi-Quellcode:
function LeerzeichenSchneiden(folge: string ): string;
var laenge : integer;
begin
laenge:= Length(folge);
while Copy(folge,laenge,laenge)= ' ' do begin
laenge := laenge-1;
folge := Copy(folge,0,laenge);
end; // end of while
result:= folge ;
end;
procedure TForm1.Button1Click(Sender: TObject);
var sl:TStrings; //Variable für Stringlist definieren
Zeile, Endzeile, Zname, Zvorname, Zklasse: integer;
klassenbez: string ;
begin
sl:=TStringlist.Create; //StringList erzeugen
sl.LoadFromFile('E:\...\schueler5a.txt'); //Die Zeilen einer Datei in eine Stringlist laden
//sl.Add('Hallo'); //eine Zeichenkette ans Ende der Stringlist hinzufügen
Zname := 20; // Der Name geht von Zeichen 1-20 = 20 Zeichen Zeichen 21 = TAB
Zvorname := 22 ; // Der Vorname geht von Zeichen 22-43 = 22 Zeichen Zeichen 44 TAB
Zklasse := 8 ; // Die Klasse geht von 44 bis 51
Endzeile:= sl.count-1 ; // Endzeile
For Zeile:= 3 to Endzeile do begin
StringGrid1.Cells[1,Zeile-2]:= LeerzeichenSchneiden( Copy(sl.strings[Zeile],1,Zname) );
StringGrid1.Cells[2,Zeile-2]:= LeerzeichenSchneiden( Copy(sl.strings[Zeile],22,Zvorname) );
klassenbez := LeerzeichenSchneiden( Copy(sl.strings[Zeile],45,Zklasse) );
StringGrid1.Cells[4,Zeile-2]:= copy(klassenbez,3,1);
if Copy(klassenbez,0,1) = '0' then
StringGrid1.Cells[3,Zeile-2]:= copy(klassenbez,2,1)
else
StringGrid1.Cells[3,Zeile-2]:= copy(klassenbez,1,2);
end; // end of For
sl.SaveToFile('datei.txt'); //Die Zeichenketten der Stringlist in Datei speichern
sl.free;
end;
|
|
Zitat
|