Von FindString() und StringField()

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Von FindString() und StringField()

Beitrag 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.
Zuletzt geändert von PureBasic4.0 am 23.04.2007 18:42, insgesamt 1-mal geändert.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag 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$ :D
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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....?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag 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?
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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..
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag 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
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag 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$ 
?
Bild
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

BEACHTEN!!

NETZWERKGERÄTE KÖNNEN AUCH LEERZEICHEN ENTHALTEN
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag von Jilocasin »

Da kann ich auch nix dafür :lol:
Bild
Antworten