Einzelnen Beitrag anzeigen

Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Bestimmte Bereiche aus .txt-Datei auslesen

  Alt 11. Jun 2004, 15:59
Nimm statt der for-Schleife die while-Schleife. Damit ersparst du dir das auslesen der Anzahl der Zeilen. Und es erhöht die Lesbarkeit des Textes, weil du dir wieder eine Variable sparst.

Statt
Delphi-Quellcode:
posRang:=pos('<',astr); // Kannst du dir auch sparen, da unabhängig von der Zeile
                                     //immer das Gleiche rauskommt
Rang:=copy(astr,posRang+23,3);
Ist sowas schneller zu verstehen;
Delphi-Quellcode:
posRang:=pos('[B]',astr);
Rang:=copy(astr,posRang+3,3);
Insgesamt aber nicht sehr schön, wie du da das b benutzt. Mach eher was in die Richtung

Delphi-Quellcode:
 
while not EOF(dat)
.
.
inc(i);
if pos('Rang',astr) <> 0 then // in der i.ten Zeile wurde was gefunden.
begin
   Readln(dat,astr);
   posRang:=pos('[B]',astr);
   Rang:=copy(astr,posRang+3,3);
   break;
end;
.
.
Ich finde, dass das eine schönere Lösung ist, die auch jemand ausser dem Programmierer gut lesen kann.
sonst:
Du bekommst Fehler wenn der Rang mal mehr oder weniger als 3 Zeichen hat. Könnte vor allem bei den Punkten Probleme geben.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat