LabVIEWForum.de
Zeilenanzahl einer Textdatei bestimmen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Zeilenanzahl einer Textdatei bestimmen (/Thread-Zeilenanzahl-einer-Textdatei-bestimmen)



Zeilenanzahl einer Textdatei bestimmen - marsius - 30.04.2014 14:49

Hallo,

ich arbeite gerade an meinem ersten eigenen Labview Projekt und komme einfach nicht weiter.

Ich öffne eine Textdatei, lese diese Zeilenweise in einer While-Schleife aus und lasse unter anderem die aktuelle Zeile mittels Schleifeniteration anzeigen. Das funktioniert auch soweit.

Allerdings möchte ich auch die gesamte Zeilenanzahl anzeigen lassen und das bereitet mir Probleme. Ich habe versucht das auch über Schleifeniterationen in einer separaten Schleife zu lösen (1. Schleife im Bild), aber sobald die Schleife beendet wird bricht meine Haupt-Schleife auch ab. Ich habe schon mehrfach versucht mit den Referenz- und Fehler-Ausgängen das Problem zu lösen aber bis jetzt hat nichts funktioniert.

Hat jemand eine Idee wie ich das lösen kann?


RE: Zeilenanzahl einer Textdatei bestimmen - GerdW - 30.04.2014 14:55

Hallo marsius,

wenn du nicht gerade riesige Dateien laden willst, sollte es auch so funktionieren:
[attachment=49540]

Anmerkungen:
- Wozu erst die Datei einmal einlesen, nur um die Zeilen zu zählen?
- Du hast nirgends den ErrorCluster verdrahtet. Warum nicht? Warum keine Fehlerauswertung?
- Wenn du alle Zeilen verarbeiten willst, warum nimmst du dann keine FOR-Loop? (Wenn man vorzeitig abbrechen will, kann man auch hier einen Bedingungsanschluss aktivieren!)

Zitat:aber sobald die Schleife beendet wird bricht meine Haupt-Schleife auch ab
Erläuterung dazu:
Du liest in der ersten Schleife die komplette Datei ein - bis es zum Abbruch wg. Dateiende ("EOF") kommt. Nun versuchst du in der "Hauptschleife" weiter aus der Datei zu lesen - obwohl du doch schon beim EOF angekommen bist!
Also wie oben die komplette Datei einlesen oder den Fehler löschen und die Lesemarke wieder auf Anfang setzen ("Dateiposition festlegen"), bevor du in der Hauptschleife wieder zu lesen anfängst…


RE: Zeilenanzahl einer Textdatei bestimmen - marsius - 30.04.2014 15:26

Danke, ich habe es jetzt mit "Dateiposition festlegen" gelöst.

Zu deinen Anmerkungen:
- Die gesamte Zeilenanzahl dient zur Statusinformation, so dass man anhand der aktuellen Zeile sehen kann wie lange der Vorgang noch dauern wird, da die zweite Schleife wesentlich langsamer abläuft
- Mit den Error-Clustern kenne ich mich kaum aus ich dachte mit den Fehler-Ausgängen geht das auch, aber ich werde mich da mal einlesen
- For-Loop bringt mir doch nur etwas wenn ich die Anzahl der Durchgänge kenne oder? Die Dateien werden immer unterschiedlich lang sein, daher habe ich eine While-Loop genommen, die bei EOL abbricht


RE: Zeilenanzahl einer Textdatei bestimmen - GerdW - 30.04.2014 15:29

Hallo marsius,

Zitat:- Die gesamte Zeilenanzahl dient zur Statusinformation, so dass man anhand der aktuellen Zeile sehen kann wie lange der Vorgang noch dauern wird, da die zweite Schleife wesentlich langsamer abläuft
Was spricht dabei gegen mein Beispiel oben?

Zitat:Mit den Error-Clustern kenne ich mich kaum aus ich dachte mit den Fehler-Ausgängen geht das auch, aber ich werde mich da mal einlesen
Du hast die Links in meiner Signatur bemerkt?

Zitat:For-Loop bringt mir doch nur etwas wenn ich die Anzahl der Durchgänge kenne oder? Die Dateien werden immer unterschiedlich lang sein, daher habe ich eine While-Loop genommen, die bei EOL abbricht
Wenn du mein Beispiel oben verwendest, kennst du doch die Zeilenzahl schon und kannst alle Zeilen verarbeiten. Außerdem sorgt das Autoindexing dafür, dass auch wirklich alle Zeilen verarbeitet werden!


RE: Zeilenanzahl einer Textdatei bestimmen - marsius - 30.04.2014 15:46

Ja stimmt dein Beispiel ist wahrscheinlich eleganter, allerdings hatte ich ein Problem mit unterschiedlich Datentypen ("1D-Array aus String" und String). Da dein zweiter Ansatz auf Anhieb funktioniert hat habe ich es dann dabei belassen.


RE: Zeilenanzahl einer Textdatei bestimmen - GerdW - 30.04.2014 15:50

Hallo marsius,

Zitat:allerdings hatte ich ein Problem mit unterschiedlich Datentypen ("1D-Array aus String" und String)
Autoindizierung hätte das elegant gelöst…
Du hast dir schon mal den "LabVIEW Basics"-Link angeschaut?


RE: Zeilenanzahl einer Textdatei bestimmen - marsius - 30.04.2014 16:09

Ja die Basics habe ich mir schon einmal angeschaut, da ich mich aber erst seit kurzem mit Labview beschäftige und vor allem sehr unregelmäßig ist nicht alles davon hängen geblieben. Ich werde morgen wahrscheinlich nochmal einen Blick darauf werfen.


RE: Zeilenanzahl einer Textdatei bestimmen - Lucki - 30.04.2014 16:14

Wenn man erst mal die Zeilenzahl wissen will, ohne gleich die ganze Datei im Memory haben zu müssen, dann geht das mit eingeschalteter Option "Zeilen lesen" (rechte Maustaste) ganz einfach so:
[attachment=49544]