LabVIEWForum.de
Einzelne Zeile aus .txt auslesen - 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: Einzelne Zeile aus .txt auslesen (/Thread-Einzelne-Zeile-aus-txt-auslesen)



Einzelne Zeile aus .txt auslesen - pyrates - 23.02.2010 14:45

Erstmal das Grundproblem:
Ich lese in einer Sek 10*8 Messwerte ein und gebe diese an einen Graph weiter.
Allerdings mach das die CPU nicht lange mit und stürtz recht zeitig ab. Gleichzeitig lege ich noch einen Log an.

Da der Graph sowieso nicht genau sein muss würde es reichen wenn er insgesammt nur ~2000werte hat
da ich aber die Länge meines Dauerversuchs nicht abschätzen kann, will ich so alle 10min den Graphen erneuern und dabei aus dem Logfile die entsprechenden Zeilen lesen (vor her berechnen welche das wären) und dem Graphen übergeben.

Dabei hab ich jedoch ein Prob:
Wie kann ich aus einer .txt eine (absolute) Zeile auslesen und in ein array speichern? (die Einträge sind mit tab's getrennt und 9stk pro zeile)


Einzelne Zeile aus .txt auslesen - Y-P - 23.02.2010 16:12

Am besten lädst Du mal eine Bsp.-Datei hoch.

Gruß Markus


Einzelne Zeile aus .txt auslesen - dimitri84 - 23.02.2010 16:21

Vielleicht ist der Ansatz auch nicht ganz optimal; also in die Logfile schreiben und gleichzeitig bestimmte Werte wieder lesen. Lucki hat doch schon öfters Beispiele gezeigt um die Refreshzeit von Graphen auf ein gesundes Maß zu drosseln.


Einzelne Zeile aus .txt auslesen - Lucki - 23.02.2010 17:13

Ich würde ja helfen, aber ich verstehe das mit der Logfile nicht.
Natürlich wäre es möglich, aus einer Text-Datei ein betimmte Zeile zu lesen, ich bezweifle nur, daß das insgesamt der richtige Ansatz für Dein Problem ist.
Wenn Du in einem Diagramm z.B immer nur die letzten 2000 Werte sehen und speichern möchtest, dann wäre doch das Signalverlaufsdiagramm genau das Richtige. Die Historienlänge läßt sich auf dem FP mit der rechten Maustaste konfigurieren. Hast Du das schon in Deine Überlegungen mit einbezogen?


Einzelne Zeile aus .txt auslesen - dimitri84 - 23.02.2010 17:27

' schrieb:Ich würde ja helfen, aber ich verstehe das mit der Logfile nicht.
Natürlich wäre es möglich, aus einer Text-Datei ein betimmte Zeile zu lesen, ich bezweifle nur, daß das insgesamt der richtige Ansatz für Dein Problem ist.
Ja das meinte ich doch auch. Der Ansatz die 2k Werte aus der Logfile zu holen ist suboptimal. Alle 10 Minuten 2k Werte darstellen braucht kein Zutun der Logfile.


Einzelne Zeile aus .txt auslesen - pyrates - 24.02.2010 07:26

' schrieb:Wenn Du in einem Diagramm z.B immer nur die letzten 2000 Werte sehen und speichern möchtest

da haste mich wohl falsch verstanden...
Der Graph soll die gesammte Kurvenbahn anzeigen, allerdings brauch er dazu ja keine 300000 Datensätze...
Ich will also alle 10 min den Schleifenzähler (Anzahl Datensätze) Durch 2000 Teilen und in diesen Schritten Datensätze aus der log einlesen
(zB ich hab 100000 Datensätze und teile die durch 2000 -> ich lese jede 50. Zeile aus)
Die Berechnung dafür hab ich schon fehlt nur noch wie ich so eine einzelne Zeile einlesen kann!

Ich glaube irgendwie nicht, dass es eine andere Lösung wirklich vorhanden ist...

mfg
Andre


Einzelne Zeile aus .txt auslesen - dimitri84 - 24.02.2010 08:27

Du kannst auch einfach nur so jeden 50. Wert ans Diagramm schicken. Ohne Logfile.

Irgendwie so:
[attachment=24634]


Einzelne Zeile aus .txt auslesen - SeBa - 24.02.2010 08:28

Hmm ja...

...Leute auf Reisen soll man ja nicht aufhalten. Ob deine Reise dich ans Ziel bringt weiß ich nicht, aber ich hab dir mal was für zwischendurch rausgesucht. Damit dir nicht langweilig wird....


LVF-Link

Dabei ging es darum, aus einer großen Textdatei Zeilen einzulesen. Das schient ja das zu sein, was du unbedingt willst.

-> Statt die Datei jetzt alle 10 Minuten erneut einzulesen, solltest du wenigstens das Byte/Zeile-Array nur einmal erstellen und dann für jede neue Zeile den entsprechenden Wert hinzufügen.


Gruß SeBa