INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

nur 3 Wertepaare aus Textdatei lesen



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!

04.10.2006, 13:32
Beitrag #1

jameson Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Jun 2006

7.1 / 8.0 / 8.5
2006
de

10318
Deutschland
nur 3 Wertepaare aus Textdatei lesen
Hi,

mein Programm im Anhang liest Daten aus einer Textdatei mit n-Zeilen!

Jetzt möchte ich aber gerne, dass mein Programm mir das Wertepaar der 1.Zeile ,

der mittleren Zeile und der vorletzten Zeile, einer beliebig

langen Textdatei ,ausliest und in ein 1D-Array legt!

Habe es leider noch nicht geschafft!

Wie kann ich das realisieren?

Dank und Gruß

jameson


Angehängte Datei(en)
Sonstige .vi  Textdatei_auslesen.vi (Größe: 75,48 KB / Downloads: 227)

Sonstige .txt  XY_Koord..txt (Größe: 727 Bytes / Downloads: 187)

Sonstige .txt  XYZ_Koord..txt (Größe: 952 Bytes / Downloads: 199)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.10.2006, 13:50
Beitrag #2

DoubleU Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 51
Registriert seit: Jan 2006

8.01
2004
kA


Deutschland
nur 3 Wertepaare aus Textdatei lesen
Hi,

Text Dateien können nicht Zeilenweise angesprungen werden, nur mit einem Byte Offset.
Die Zeilen werden nur durch end of line erkannt, d.h. du musst das komplette File weglesen um zur vorletzten Zeile zu gelangen, erst dann könntest du dir die "Zeilenmitte" berechnen.
Je nach größe kannst du das File komplett in ein Array laden, oder du liest die Zeilen nur in einer For-Schleife weg und verwirfst sie gleich wieder, dauert bei Dateien unter 10MB nicht allzulang, darüber gehts aber dann in den Sekunden bereich...

Alternativ könnte bei der Speicherung der Offset in Bytes mit abgespeichert werden, um danach direkt wieder dorthin springen zu können...

Gruss
Uli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2006, 13:51 (Dieser Beitrag wurde zuletzt bearbeitet: 04.10.2006 14:02 von Achim.)
Beitrag #3

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
nur 3 Wertepaare aus Textdatei lesen
Hi,

such mal das VI "Spreadsheet String to Array", dass sollte dir helfen. Aus dem Array kannst du dann mit "Index Array" (einzelne) Zeilen extrahieren. Mit dem VI "Array Length" kannst du die Größe feststellen, und dann "-1" und du hast die vorletzte Zeile. Auf ähnliche Weise kannst du auch die mittlere Zeile rausfinden...

Sorry, konnte deine Anhänge irgendwie nicht runterladen...deswegen hab ich darauf keinen Bezug genommen!

Gruss
Achim

PS: Hab mir grade mal dein File "XY_Koordinate.txt" angeschaut...du musst beim Erstellen dieser Files zwischen den einzelnen Elementen z.B. einen "Tab" oder ein anderes "Delimiter-Zeichen" angeben, dann dürfte alles viel einfacher sein...

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2006, 14:07
Beitrag #4

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
nur 3 Wertepaare aus Textdatei lesen
Brauchst du die Angaben "X" und "Y" im File wirklich? ist doch nur Overhead, der die Datei vergrößert... Ich würde die lieber als "Header-Zeile" schreiben, dann kann man die für die Verarbeitung einfach ignorieren und die Werte aus den Zeilen direkt in ein numerisches Array schreiben. Ansonsten musst du nämlich erst in ein String-Array schreiben, weil die numerischen Felder mit den Buchstaben nix anfangen können. Alternativ machst du dazwischen auch ein Trennzeichen, dann verwendet man eben nur die Spalten mit den Zahlen.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2006, 14:25
Beitrag #5

jameson Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Jun 2006

7.1 / 8.0 / 8.5
2006
de

10318
Deutschland
nur 3 Wertepaare aus Textdatei lesen
' schrieb:Hi,

Text Dateien können nicht Zeilenweise angesprungen werden, nur mit einem Byte Offset.
Die Zeilen werden nur durch end of line erkannt, d.h. du musst das komplette File weglesen um zur vorletzten Zeile zu gelangen, erst dann könntest du dir die "Zeilenmitte" berechnen.
Je nach größe kannst du das File komplett in ein Array laden, oder du liest die Zeilen nur in einer For-Schleife weg und verwirfst sie gleich wieder, dauert bei Dateien unter 10MB nicht allzulang, darüber gehts aber dann in den Sekunden bereich...

Alternativ könnte bei der Speicherung der Offset in Bytes mit abgespeichert werden, um danach direkt wieder dorthin springen zu können...

Gruss
Uli

Hallo,

was ist ein Byte Offset?

Halte die Variante für gut das ich erst das komplette Textfile einlesen lassen und dann meine Werte
rausfische.

War auch meine Idee ,aber ich weiß nicht welche VI´s ich benutzen kann / muss!?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2006, 14:30
Beitrag #6

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
nur 3 Wertepaare aus Textdatei lesen
Den ByteOffset kannst du nur verwenden, wenn du deine Daten als Binärdateien schreibst (Write to Binary File.vi)...dann kannst du sie aber nicht mehr als "Klartext" lesen/anschauen. Das würde ich in deinem Fall wohl nicht machen.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.10.2006, 14:40
Beitrag #7

DoubleU Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 51
Registriert seit: Jan 2006

8.01
2004
kA


Deutschland
nur 3 Wertepaare aus Textdatei lesen
' schrieb:Den ByteOffset kannst du nur verwenden, wenn du deine Daten als Binärdateien schreibst (Write to Binary File.vi)...dann kannst du sie aber nicht mehr als "Klartext" lesen/anschauen. Das würde ich in deinem Fall wohl nicht machen.

Nein, Byte Offset geht auch bei stink normalen Text datein.
Text dateien werden Zeichenweise gelesen, ein Zeichen entpspricht 1 Byte (ASCII code 8bit pro dargestelltem Zeichen).
Der Byte offset gibt also lediglich an an welchem Byte, sprich Zeichen man sich gerade im Text-File befindet.

Schreibst du die Datei mit einer festen anzahl Zeichen pro Zeile + End of line, könntest du dir daraus auch den offset Berechnen...

aber die einfache Variante mit String lesen und String to array würde bei dir wahrscheinlich ausreichen...

Gruss
Uli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2006, 15:00
Beitrag #8

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
nur 3 Wertepaare aus Textdatei lesen
Hi,

versuchs mal damit:


Sonstige .vi  zeile_selektieren.vi (Größe: 16,28 KB / Downloads: 220)

Sonstige .txt  XY_Koord_1__neu..txt (Größe: 199 Bytes / Downloads: 245)


Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2006, 15:39
Beitrag #9

jameson Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Jun 2006

7.1 / 8.0 / 8.5
2006
de

10318
Deutschland
nur 3 Wertepaare aus Textdatei lesen
' schrieb:Hi,

versuchs mal damit:

[attachment=29594:attachment][attachment=29595:attachment]

Gruss
Achim

Hi Achim,

da ich morgen erst wieder am Rechner bin, kann ich es erst dann ausprobieren!
Aber jetzt schon mal danke!

MfG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.10.2006, 06:26
Beitrag #10

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
nur 3 Wertepaare aus Textdatei lesen
Hi Jameson,

sehe grade, dass du LV7.1 hast, darum hier nochmal das VI runterkonvertiert. Es gab allerdings wieder mal ein paar Konvertierungsprobleme, schau halt mal ob's funzt...


Sonstige .vi  zeile_selektieren.vi (Größe: 29,73 KB / Downloads: 216)


Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: