Moin moin,
jetzt habe ich mir gerade angemeldet und möchte auch gleich eine Frage an Euch stellen.
Ich bin ein blutiger Anfänger mit VB - wir haben zwar ein paar kleine Scripte bei der Arbeit, das ist aber alles sehr einfach und ich musste mich nie wirklich damit beschäftigen.
Ich bin bisher in der Kornshell, UNIX, VI, vim, dos-batch-scripting, powershell und wmic als Admin zu Hause.
Das hat sich nun geändert und ich bin mit Visual Basic konfrontiert. Das lerne ich soeben und seit Tagen lese ich mein Buch "Einstieg in Visual Basic" von Thomas Theis und durchforste das Internet auf VB-Foren und Codeschnippsel
So, genug der langen Rede - Frage: Kann mir jemand (bitte Anfänger-geeignet ) hier mal helfen?
Ich versuche eine Textdatei zu lesen, daraus bestimmte Werte zu extrahieren und diesen wiederrum Variablen zuzuweisen.
Dies ist meine Input.txt Datei (aus der NC Welt, es geht um x,y,z koordinaten)
Und was ich erreichen muss ist:
Die Werte dieser Angaben herausbekommen:
OBJEKTKENNUNG
BIEGERADIUS
Und die x,y und z-Koordinaten der "POINT"-Reihen.
Am Ende muss ich das in eine CSV-Datei (die den Namen der OBJEKTKENNUNG trägt) schreiben in diesem Format:
X,Y,Z,Biegeradius
X,Y,Z,Biegeradius
Es können auch wesentlich mehr POINT-Zeilen darin vorkommen, nicht nur 3 - auch mal 90 oder mehr.
Und meine Versuche scheitern kläglich, weil ich im Moment einfach nicht weiss wie ich die Daten vernünftig da extrahiere
Ich versuchte mit streamreader, split, trim, filereader - alles was ich so fand, aber ich kriegs nicht hin.
Hat da jemand für mich mal bitte die richtige Info?
Danke für Eure Unterstützung VB macht Spass, aber die Syntax bringt mich im Moment noch an den Rand des Wahnsinns
Ich denke, das mit dem Schreiben in die CSV-Datei bekomme ich hin, sobald ich die Werte in Variablen, bzw. einem Array habe.
jetzt habe ich mir gerade angemeldet und möchte auch gleich eine Frage an Euch stellen.
Ich bin ein blutiger Anfänger mit VB - wir haben zwar ein paar kleine Scripte bei der Arbeit, das ist aber alles sehr einfach und ich musste mich nie wirklich damit beschäftigen.
Ich bin bisher in der Kornshell, UNIX, VI, vim, dos-batch-scripting, powershell und wmic als Admin zu Hause.
Das hat sich nun geändert und ich bin mit Visual Basic konfrontiert. Das lerne ich soeben und seit Tagen lese ich mein Buch "Einstieg in Visual Basic" von Thomas Theis und durchforste das Internet auf VB-Foren und Codeschnippsel
So, genug der langen Rede - Frage: Kann mir jemand (bitte Anfänger-geeignet ) hier mal helfen?
Ich versuche eine Textdatei zu lesen, daraus bestimmte Werte zu extrahieren und diesen wiederrum Variablen zuzuweisen.
Dies ist meine Input.txt Datei (aus der NC Welt, es geht um x,y,z koordinaten)
Quellcode
- VIELE ANDERE ZEILEN
- ********************
- NOCH MEHR INFOS : WERTE 00000040
- INFOS INFOS : WERTE WERTE 00000050
- ..usw usw
- OBJEKTKENNUNG : OBJEKTNAME_HIER_HIER 00000090
- BIEGERADIUS : 16.60 MM 00000120
- ********************
- TOLERANZ : 1.000 mm
- PNTW610 = POINT / .000 , .000 , .000 00000190
- PNT0002 = POINT / 57.262 , -.000 , -.000 00000200
- PNT0003 = POINT / 27.230 , 12.535 , 55.510 00000210
- PNTW609 = POINT / 27.230 , 32.752 , 73.092 00000220
- $ TN = 00000230
- $ DAT = 17.06.2013-10:00:48 00000240
- VDA2 = END 00000250
Und was ich erreichen muss ist:
Die Werte dieser Angaben herausbekommen:
OBJEKTKENNUNG
BIEGERADIUS
Und die x,y und z-Koordinaten der "POINT"-Reihen.
Am Ende muss ich das in eine CSV-Datei (die den Namen der OBJEKTKENNUNG trägt) schreiben in diesem Format:
X,Y,Z,Biegeradius
X,Y,Z,Biegeradius
Es können auch wesentlich mehr POINT-Zeilen darin vorkommen, nicht nur 3 - auch mal 90 oder mehr.
Und meine Versuche scheitern kläglich, weil ich im Moment einfach nicht weiss wie ich die Daten vernünftig da extrahiere
Ich versuchte mit streamreader, split, trim, filereader - alles was ich so fand, aber ich kriegs nicht hin.
Hat da jemand für mich mal bitte die richtige Info?
VB.NET-Quellcode
- ' Hier öffnen wir die Files
- Private Sub cmdFolder_Click(sender As Object, e As EventArgs) Handles cmdFolder.Click
- '
- ' Variablen Deklaration
- Dim ofd As New OpenFileDialog
- ofd.Multiselect = True
- ofd.InitialDirectory = "G:\dvlp\NCFILES"
- ofd.Filter = "NC_Dateien (*.txt)|*.txt|" &
- " Alle Dateien (*.*)|*.*"
- ofd.Title = "Dateien zum Öffnen auswählen"
- If ofd.ShowDialog() = Windows.Forms.DialogResult.OK Then
- For Each file As String In ofd.FileNames
- 'DEBUG
- 'MessageBox.Show("Öffnen: " & file)
- 'DEBUG
- '''''' Das hier funktioniert AB hier...
- Dim filereader As System.IO.StreamReader
- filereader = My.Computer.FileSystem.OpenTextFileReader(file)
- Dim stringreader As String
- stringreader = filereader.ReadToEnd()
- MsgBox("The first line of file is " & stringreader)
- '''''' Das hier funktioniert BIS hier...
- '
- ' Hier versuchen wir mit streamreader die zeilen einzulesen
- ' den Biegeradius und Objektkennung zu finden und die Werte zuzuweisen
- ' Weise Objektkennung einer Variablen zu
- Dim OBJEKTKENNUNG
- ' Weise Biegeradius einer Variablen zu
- ' Loop durch die POINTS und lege sie im Array ab
- ' schreib den schmonz in eine csv Datei mit namen der Objektkennung
- Next
- End If
- End Sub
Danke für Eure Unterstützung VB macht Spass, aber die Syntax bringt mich im Moment noch an den Rand des Wahnsinns
Ich denke, das mit dem Schreiben in die CSV-Datei bekomme ich hin, sobald ich die Werte in Variablen, bzw. einem Array habe.
~~~~~~~~~~~~~
Gruß, RiffRaff
Gruß, RiffRaff
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RiffRaff“ ()