Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Mein Ziel ist es, Text aus einer Datei zu lesen und diesen in einen Wert umzuwandeln. Das Problem dabei ist, dass sich die Zeile, wo sich dieser bestimmte Text befindet, zeitlich ändert. Und zwar verschiebt sich die Zeile jede Minute um eine gewisse Anzahl an Zeilen nach unten in der Textdatei. Meine Frage lautet nun, wie kann ich die Zahl der Zeile aus der ich den Text brauche zeitlich vergrößern?
Bis jetzt konnte ich nur eine Schaltung realisieren, in der die "Zeilenzahl" zeitlich nicht variabel ist.
ich kann z.Zt. leider kein 2012-er VI öffnen.
Du kannst aber die Funktion Read from TextFile mit der rechten Maus umstellen auf zeilenweises Lesen. Dann kannst du am Eingang angeben, wieviele Zeilen du lesen möchtest. Daraufhin wird aus dem String-Ausgang ein String-Array-Ausgang. Dieses Array könntest du dann indizieren und die relevante Zeile raussuchen.
Voraussezung ist natürlich, dass die Datei ein file mit Zeilenabschlusszeichen ist.
Gruß, Marko
12.02.2014, 08:46 (Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2014 08:53 von GerdW.)
Zitat:Und zwar verschiebt sich die Zeile jede Minute um eine gewisse Anzahl an Zeilen nach unten in der Textdatei. Meine Frage lautet nun, wie kann ich die Zahl der Zeile aus der ich den Text brauche zeitlich vergrößern?
Indem du eine "Schaltung" (LV-Sprech: Blockdiagramm!) erstellst, die etwa folgenden (Pseudo-)Code enthält:
Code:
time_start = Time()
while
{
time_diff = Time() - time_Start
Zeilennr = time_diff * 1/60 * zeilen_pro_Minute ;Zeitdifferenz von Sekunden in Minuten umrechnen und mit "gewisse Anzahl Zeilen" skalieren
ReadText(as lines)
IndexArray(Zeilennr)
}
Wahrscheinlich werden am Dateianfang immer neue Zeilen eingefügt. Dann würde sich die Position der gewünschten Zeile ändern, nicht aber die Position der Zeile, wenn man die Position vom Ende her zählt.
Vorgehensweise:
- Gesamte Datei einlesen, so dass das Ergebnis ein Zeilenarray ist.
- Array umkehren
- gewünschte Zeile, deren Position jetzt immer konstant ist, herauspicken.