Ist das da für mich ?
Zitat von
tomsel:
Wieso brauchst du für die Fortschrittsanzeige unbedingt die Zeilenanzahl? Dafür reicht doch die Größe der Datei. Bei jeder mit Readln eingelesenen Zeile hast du mit der Zeilenlänge + 2 (CR+LF) die Anzahl der eingelesenen Bytes und kannst damit den Fortschritt entsprechend weiterrechnen. Dabei ist es vollig irrelevant, wieviele Zeilen in der Datei sind oder ob die alle gleich lang sind.
Viele Wege führen nach Rom, aber welcher ist der einfachste ? Bei mir sind die einzulesenden Dateien teilweise sehr groß. Die einzelnen Zeilen sind auch sehr lang und müssen zerstückelt werden und dann in die
DB geschrieben werden. Das kann dauern. Dabei ist egal, ob 50 Min. oder 53. Jetzt wollte ich die zeilenanzahl mal sehen und habe die Datei mit readln gelesen. < 5 Sek.
Was soll ich denn dann noch mit einer Stringliste rumfuchteln oder die Zeilenlänge berechnen (ja, Zeilen sind alle gleich lang) ? Das nächste ist die Effizienz. Statt meiner 5 Zeilen bräuchte ich dann 10-15.
Außerdem : lasse ich die Zeilenlänge außer acht, dann kann ich den Source unverändert für andere Dateien so verwenden. Dateiname abändern und fertig. Wie gesagt, der Einsatzzweck entscheidet.