WinCC (Tia) VB Skript zum String trennen

Lucius2

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Zunächst: ich bin noch blutiger VB Anfänger zum skripten. Nach einigen Stunden und Recherche im Internet ist meine Laune gegen null. Ich habe folgendes Problem:
In eine Textdatei schreibe ich Zeilen wie
Code:
K1001 & vbTab & BlaBla
.

Funktioniert auch. Ich brauche nur analog etwas um diese Datei wieder zu lesen und ich bin nur an dem Kram hinter dem Tab interessiert (also BlaBla). Ich hab es schon mit split versucht nach diversen Anleitungen z.B. https://msdn.microsoft.com/de-de/library/6x627e5f(v=VS.90).aspx

Ich bekomm es einfach nicht hin, z.B. kommt ein Fehler mit dem Array:
Fehler 'Subscript out of range: 'TestArray" in Skript <Test> in Zeile 3
was bei mir folgendes ist
Code:
dim Teststring, Testarray(), test
Teststring = "Look at these!"
TestArray() = Split(Teststring)
test = TestArray(2)


Was mich in den Wahnsinn treibt, ist, dass normale VB Anleitungen oft für die Tonne sind, weil WinCC irgendne komische Variante von VB hat, wo man nichts zu findet.
 
1.)Musst du nicht erst mal alle Leerzeichen entfernen?-->TRim$(String)
2.)Split(s,"&")-->müsste dann in einem Array die 3 "Teilstrings ablegen"
3.)Wenn das & noch drinnen ist mit einem "" Replace(s,&,"") ersetzen.

Musst du bei dem array nicht eine größe angeben?Ist die Anzahl der & immer gleich.Ist das das einzige Trennzeichen?
Greifst du immer auf alle zu oder das letzte? ich kann hier noch kein System erkennen.

Ist das VBA oder VBS?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@silverfreaky:
Der Split-Delimiter ist nicht das "&" sondern das vbTab.
Ansonsten stimmt es aber. Wenn Split funktionieren soll dann muss es natürlich den Quellstring haben UND den Delimiter (also das Trennzeichen). Wie sollte Split sonst den String auftrennen ?
Der Code müßte also richtigerweise sein :
Code:
Dim StringListe

StringListe = Split(Quellstring , vbTab)
Nun steht in StringListe(0) der vordere Teil und in StringListe(1) der hintere Teil - also das "BlaBla".

Gruß
Larry
 
Achtung: Auf das zweite Array-Element mit dem BlaBla darf man nur zugreifen, wenn ein Trennzeichen enthalten war. Wenn nicht, dann gibt es das Array-Element(1) gar nicht.
Code:
TestArray = Split(Teststring, vbTab)
If UBound(TestArray) <> 0 Then 'vbTab war mindestens 1x enthalten
  BlaBla = Trim(TestArray(1))
  '...
End If

Harald
 
@silverfreaky:
Der Split-Delimiter ist nicht das "&" sondern das vbTab.
Ansonsten stimmt es aber. Wenn Split funktionieren soll dann muss es natürlich den Quellstring haben UND den Delimiter (also das Trennzeichen). Wie sollte Split sonst den String auftrennen ?
Der Code müßte also richtigerweise sein :
Code:
Dim StringListe

StringListe = Split(Quellstring , vbTab)
Nun steht in StringListe(0) der vordere Teil und in StringListe(1) der hintere Teil - also das "BlaBla".

Gruß
Larry

OK danke das hat so funktioniert, ich hab mit den Array Definitionen was falsch gemacht
 
Zurück
Oben