Seite 1 von 4
Von FindString() und StringField()
Verfasst: 23.04.2007 18:36
von PureBasic4.0
Hi, Leute
Ich habe hier folgenden Code:
Code: Alles auswählen
[...]
tmp$ = "9 25 1500 disconnected Drahtlosnetzwerkverbindung" ; Der Inhalt von tmp$ ist dynamisch und kann deshalb nicht mit FindString oder sowas gefunden werden
Repeat
Text$ = StringField(tmp$,a,Space(1))
a + 1
If Text$ <> ""
tmp$ = Text$
EndIf
Until Text$ = ""
Debug tmp$
Wie komme ich in tmp$ auf das letzte Wort? Ich bekomme (unter Vista) nur wieder den gleichen Inhalt.
Verfasst: 23.04.2007 18:38
von Kaeru Gaman
äh.. füll doch mal temp$, damit man das wirklich nachvollziehen kann.
gerade bei so einfachen dingen kann man doch wirklich erwarten,
dass du ein codesnippet reinstellst, dass genau das zeigt, was du zeigen willst.
Verfasst: 23.04.2007 18:42
von PureBasic4.0
stand zwar alles in der Kommentarzeile, aber ich hab den Code trotzdem mal editiert.
//edit: außerdem ist es tmp$ und nicht temp$

Verfasst: 23.04.2007 18:54
von Kaeru Gaman
hm.. jo.. und was willst du erreichen?
bei mir debuggt der ne 9....
mir is nicht ganz klar, worauf du hinaus willst.
evtl. ist dein konstrukt einfach falsch....?
Verfasst: 23.04.2007 18:57
von PureBasic4.0
ich möchte das letzte Wort "Drahtlosnetzwerkverbindung" bekommen. Da der Inhalt von tmp$ eigentlich dynamisch ist (nach dem gleichen Prinzip aufgebaut), kann man das ganze nicht über FindString abwickeln. Wie dann?
Verfasst: 23.04.2007 18:59
von Kaeru Gaman
hm.. yo wie ist der "dynamisch"
erklär mal wie du das meinst...
ich mein, in deiner verarbeitungsschleife verändert er sich ja nicht,
bzw. nur deshalb, weil du ihn selber verschnibbelst..
Verfasst: 23.04.2007 19:01
von PureBasic4.0
die zahlen und das letzte Wort sind unterschiedlich. aber die leerzeichen sind gleich. Überzeug dich selbst: Parse den Inhalt vom Programm netsh mit dem Parameter interface ip show interface
Verfasst: 23.04.2007 19:04
von Jilocasin
Meinst du
Code: Alles auswählen
tmp$ = "9 25 1500 disconnected Drahtlosnetzwerkverbindung"
Text$ = StringField(tmp$, CountString(tmp$, Space(1)) + 1, Space(1))
Debug Text$
?
Verfasst: 23.04.2007 19:07
von bobobo
BEACHTEN!!
NETZWERKGERÄTE KÖNNEN AUCH LEERZEICHEN ENTHALTEN
Verfasst: 23.04.2007 19:08
von Jilocasin
Da kann ich auch nix dafür
