Anzahl der Zeilen in einer csv Datei ermitteln

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Pure_Beginner
Beiträge: 247
Registriert: 29.09.2011 21:49
Computerausstattung: i7 9XX 4000 MHZ / 12 GB RAM / Win 8.1 64Bit / Win 7 64Bit
Wohnort: Brühl

Anzahl der Zeilen in einer csv Datei ermitteln

Beitrag 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
PureBasic 5.30 Beta 3 (X64/X86) | Win 8 (64) Pro / Win 7 (64) Pro | Es ist der Hobbyist[/col
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Beitrag von RSBasic »

Die komplette Datei mit ReadData() laden und im Speicherbereich nach Zeilenumbruch suchen?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Pure_Beginner
Beiträge: 247
Registriert: 29.09.2011 21:49
Computerausstattung: i7 9XX 4000 MHZ / 12 GB RAM / Win 8.1 64Bit / Win 7 64Bit
Wohnort: Brühl

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Beitrag 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.
PureBasic 5.30 Beta 3 (X64/X86) | Win 8 (64) Pro / Win 7 (64) Pro | Es ist der Hobbyist[/col
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Beitrag 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
a²+b²=mc²
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Beitrag 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:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Beitrag 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!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Pure_Beginner
Beiträge: 247
Registriert: 29.09.2011 21:49
Computerausstattung: i7 9XX 4000 MHZ / 12 GB RAM / Win 8.1 64Bit / Win 7 64Bit
Wohnort: Brühl

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Beitrag 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
PureBasic 5.30 Beta 3 (X64/X86) | Win 8 (64) Pro / Win 7 (64) Pro | Es ist der Hobbyist[/col
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Anzahl der Zeilen in einer csv Datei ermitteln

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten