Seite 1 von 2

Anzahl der Zeilen in einer csv Datei ermitteln

Verfasst: 30.09.2012 19:48
von Pure_Beginner
Hallo Forum,

hab mal wieder ein Anfänger Problem über das ihr wahrscheinlich schmunzelt.

Ist es möglich die Anzahl der Zeilen in einer .csv Datei zu ermitteln ?

Ich möchte ein ProgressBar anzeigen das sich je nach anzahl der Zeilen ganz füllen soll.
hab aber auch Unterbrechungen und Meldungen dazwischen.

Oder bin ich falsch und das Ganze geht viel einfacher ?

Grüße
Christian

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Verfasst: 30.09.2012 19:50
von RSBasic
Die komplette Datei mit ReadData() laden und im Speicherbereich nach Zeilenumbruch suchen?

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Verfasst: 30.09.2012 19:53
von ts-soft
Naja, da das zählen der Zeilen nicht viel schneller sein wird, wie das Einlesen der gesamten Datei,
ist Dein Ansatz wohl nicht so praktikabel.

Auch wenn Du ReadData nimmst, wie RSBasic gerade geschrieben hat, dann haste
ja bereits alle Daten geladen, dann brauchste auch keinen Fortschritt mehr anzeigen :mrgreen:

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Verfasst: 30.09.2012 19:57
von Pure_Beginner
Danke für die schnelle und erschreckende Antwort :shock:

wie kann ich es Bewerkstelligen das die Fortschrittsanzeige anhält wenn ein MSGBOX aufgeht ?
und danach weiter läuft.

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Verfasst: 30.09.2012 20:02
von Kiffi
RSBasic hat geschrieben:Die komplette Datei mit ReadData() laden und im Speicherbereich nach Zeilenumbruch suchen?
nee, leider ist das nicht so einfach. Denn die Felder selber dürfen
auch Zeilenumbrüche enthalten.

Code: Alles auswählen

"Feld1"; "Feld2"; "Das hier ist
ein langes Feld mit Zeilenumbruch"; "Feld4"
Grüße ... Kiffi

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Verfasst: 30.09.2012 20:04
von RSBasic
Wenn du wirklich eine Fortschrittsanzeige einbauen möchtest, dann kannst du die CSV-Datei zeilenweise einlesen. Ist aber bei größeren Dateien langsamer. Als Maximalwert für deinen ProgressBarGadget kannst du die Größe der Datei nehmen und bei jeder Zeile mit Loc() die aktuelle Cursor-Position ermitteln und und den Fortschrittswert deines ProgressBarGadgets setzen.

@Kiffi
Stimmt. Sorry. :oops:

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Verfasst: 30.09.2012 20:06
von ts-soft
Pure_Beginner hat geschrieben:wie kann ich es Bewerkstelligen das die Fortschrittsanzeige anhält wenn ein MSGBOX aufgeht ?
und danach weiter läuft.
Solange Deine Fortschrittsroutine nicht gerade in einem Thread läuft, wirste nichts machen müssen, um den
Fortschritt anzuhalten. Es wird dann kein "SetGadgetState(#Gadget, Status)" ausgeführt, bis der MessageRequester
wieder geschlossen wurde!

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Verfasst: 30.09.2012 20:24
von ts-soft
Hier zum CSV format: http://de.wikipedia.org/wiki/CSV_%28Dateiformat%29
Es gibt keine genauen Definitionen und es wird meist der Zeilenumbruch zur
Trennung von Datensätzen verwendet. Das Szenario, das Kiffi geschildert hat,
ist zwar möglich, aber solange ich das Format der CSV bestimme, eher unwahr-
scheinlich.

Viele gehen davon aus, was Excel so treibt, sei die Norm, dem ist nicht so.
Excel hat lediglich die Einschränkung, das es CSV-Dateien nur in einem von
MS vorgegebenen Format einlesen kann. Andere Tabellenkalkulationen machen
das besser. Leider muss man sich oft an der vorgehensweise des Platzhirschen
orientieren :mrgreen: .

Jetzt wäre also wichtig zu Wissen, wie sind Deine CSV-Dateien formatiert und
wie gross sind die eigentlich. Progressbar für eine Datei, die in 50 ms eingelesen
ist, wäre doch unnötig :mrgreen:

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Verfasst: 30.09.2012 21:09
von Pure_Beginner
@ts-soft

Unnötig ? ja bestimmt, aber ich möchte ja verstehen wie alles funktioniert und zusammenhängt da ist das eine gute Übung.

Danke an euch alle für die Tipps.

Werde mich wieder durchwursteln. (das macht am meisten Spaß) :lol:

schönen Sonntag und nochmals danke für die Anregungen
Christian

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Verfasst: 30.09.2012 21:23
von ts-soft
Pure_Beginner hat geschrieben:Unnötig ? ja bestimmt, aber ich möchte ja verstehen wie alles funktioniert und zusammenhängt da ist das eine gute Übung.
Dann probiere mal ein bissel und wenn Du auf tatsächliche Probleme stößt, dann
gibts Du uns am besten einen ausführbaren Code, sowie ein Muster Deiner CSV
Datei, bzw. beschreibst uns, von wem oder was wird die erzeugt (z.B. Excel)

und erst dann kann man sich Deines Problems annehmen, bzw. sieht ob eine
Fortschrittanzeige überhaupt Sinn macht und wie man die am besten umsetzt.

Schönen Sonntag noch
Thomas