Seite 1 von 1

Absturz bei Import Textdatei mit Fastfile

Verfasst: 20.06.2005 02:07
von Hermann
Hallo Leute,

folgender Code bringt mich zur Verzweiflung:

Code: Alles auswählen

File.s=OpenFileRequester("Datei öffnen:","","Text | *.txt",1) ; Auswahlrequester

LinesCount=FastOpenTextFile(File) ; ermittelt Anzahl der Zeilen des Text-File
MessageRequester("Hinweis",Str(LinesCount)) ; Requester Anzahl der Zeilen

For i = 1 To LinesCount 
  eintrag.s=FastReadLine(i) ; hier liegt der Fehler
  Debug i
next

Ich will hierbei eine *.txt Datei zeilenweise einlesen, deren Länge über 32767 Zeilen liegt.Ohne die Zeile

Code: Alles auswählen

eintrag.s=FastReadLine(i) 
läuft es, sobald die Zeile drin ist soll ich bei der 32768en Zeile einen Fehlerbericht an MS senden. Ich sehe es so, das die Variable i in FastReadLine nicht als "long" gesehen wird, obwohl der Debuger mir diese als Long anzeigt. Ohne die Zeile klappt es ja auch-also ist i=long. Oder? Wo könnte der Fehler liegen? Wie kann ich ihn eventuell umgehen?

Danke für jeden Tipp

Hermann

Nachtrag: Ich habe XP, aktuelles PB und FastFileV4.2

Re: Absturz bei Import Textdatei mit Fastfile

Verfasst: 20.06.2005 07:28
von Kiffi
ist die Länge der Zeilen über 64000 Zeichen gross?

Grüße ... Kiffi

Verfasst: 20.06.2005 08:34
von Rings
Könntest du mal diese version ausprobieren ?
Hier Downloaden
Ich habe den Bug mit den 32767 schon etwas länger gefixed,
aber nie ne version öffentlich rausgestellt.
Stell dir das hier als PRe-release vor, ein richtiges release folgt in
Kürze im Gesamtpaket .

Verfasst: 20.06.2005 09:43
von Hermann
Danke für die Antworten.

@Kiffi: nein, die einzelnen Zeilen sind nur 30 Zeichen lang. Habe einfach ein Textifle mt 40000 Zeilen a 30 Zeichen erstellt.

@Rings: Prima klappt. Nur sagt mir LinesCount jetzt das eine Zeile mehr da ist als wirklich vorhanden. In der alten Version hatte ich z.B. ein File mit 35000 Zeilen (wurde mir von LinesCout auch so angegeben ) , nun sagt LinesCount 35001 Zeilen. Kann ich aber mit leben ;-). Kan es sein, das nach dem letzten CR der letzten Zeile die nicht vorhandene Zeile mitgezählt wird (weis nicht wie ich es sonst ausdrcken soll)

Auf jeden Fall habe ich bei der Fehlersuche einiges gelernt ;-)


Hermann

Verfasst: 20.06.2005 13:01
von Rings
Hermann hat geschrieben:Danke für die Antworten.

@Kiffi: nein, die einzelnen Zeilen sind nur 30 Zeichen lang. Habe einfach ein Textifle mt 40000 Zeilen a 30 Zeichen erstellt.

@Rings: Prima klappt. Nur sagt mir LinesCount jetzt das eine Zeile mehr da ist als wirklich vorhanden. In der alten Version hatte ich z.B. ein File mit 35000 Zeilen (wurde mir von LinesCout auch so angegeben ) , nun sagt LinesCount 35001 Zeilen. Kann ich aber mit leben ;-). Kan es sein, das nach dem letzten CR der letzten Zeile die nicht vorhandene Zeile mitgezählt wird (weis nicht wie ich es sonst ausdrcken soll)

Auf jeden Fall habe ich bei der Fehlersuche einiges gelernt ;-)


Hermann
Ja, selbst wenn am ende ein CR fehlt wird eins imaginär hinzugezählt.
Sonst passt das nich in die Tabelle.

weiteres folgt :)