Anfängerfragen zum Programmieren mit PureBasic.
scholly
Beiträge: 793 Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf
Beitrag
von scholly » 05.12.2006 21:16
Von einem WMI-Aufruf
Code: Alles auswählen
opticals$ = WMI("SELECT * FROM Win32_cdromdrive,drive,name")
bekomme ich einen mehrzeiligen String zurück. Nach dem Speichern aus dem Debugger-Fenster heraus habe ich folgendes File:
Code: Alles auswählen
drive = H:
name = ATAPI CD-R/RW 4X4X32
drive = I:
name = HL-DT-ST DVDRAM GSA-4163B
Die Wertepaare werden augenscheinlich durch x0a0D getrennt.
Muß ich das "zu Fuß" aufdröseln oder gibts eine PB-Funktion, die mir hilft ?
TIA....
scholly
Zuletzt geändert von
scholly am 17.05.2008 17:06, insgesamt 1-mal geändert.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
AND51
Beiträge: 5220 Registriert: 01.10.2005 13:15
Beitrag
von AND51 » 05.12.2006 21:17
StringField() ist dein Freund...
Kaeru Gaman
Beiträge: 17389 Registriert: 10.11.2004 03:22
Beitrag
von Kaeru Gaman » 05.12.2006 21:26
x0a0d
=> 1.byte $0d 2.byte $0a
=> #CRLF$
..normales "newline"
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
scholly
Beiträge: 793 Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf
Beitrag
von scholly » 05.12.2006 21:29
Wie geht das denn?
Doku hat geschrieben: A one character 'Delimiter$' is used to split the string
Aber der Trenner besteht aus 2 Chars: 0A und 0D hintereinanander
Oder mißversteh ich da was ?
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
mk-soft
Beiträge: 3695 Registriert: 24.11.2004 13:12
Wohnort: Germany
Beitrag
von mk-soft » 05.12.2006 21:48
Code: Alles auswählen
StringField(opticals$, 1, #CRLF$)
; oder
StringField(opticals$, 1, #LFCR$)
scholly
Beiträge: 793 Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf
Beitrag
von scholly » 05.12.2006 22:06
mk-soft hat geschrieben:
StringField(opticals$, 1, #LFCR$)
Danke
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
remi_meier
Beiträge: 1078 Registriert: 29.08.2004 20:11
Wohnort: Schweiz
Beitrag
von remi_meier » 05.12.2006 22:56
Kann er nicht:
Code: Alles auswählen
s.s = "hallo#-du"
Debug StringField(s, 0, "#-")
Debug StringField(s, 1, "#-")
Debug StringField(s, 2, "#-")
Debug StringField(s, 3, "#-")
Mach einfach zuvor ein ReplaceString(file.s, #CRLF$, #LF$)
mk-soft
Beiträge: 3695 Registriert: 24.11.2004 13:12
Wohnort: Germany
Beitrag
von mk-soft » 05.12.2006 23:11
Stimmt:
Gibt den Feldinhalt des 'String$' an der angegebenen Stelle 'Index' zurück. 'Trennzeichen$' ist das Zeichen, das zur Aufteilung des Strings benutzt wird (nur ein Zeichen lang). Die erste 'Index' Position ist 1.
Allso
Code: Alles auswählen
opticals$ = "Hallo" + #LFCR$ + "Welt"
opticals$ = ReplaceString(opticals$, #LFCR$, #LF$)
Debug StringField(opticals$, 1, #LF$)
Debug StringField(opticals$, 2, #LF$)
AND51
Beiträge: 5220 Registriert: 01.10.2005 13:15
Beitrag
von AND51 » 06.12.2006 17:28
> Kann er nicht
Stimmt
Das habe ich in meiner ganzen Laufbahn nie gemerkt... Jetzt bricht aber 'ne Welt zusammen...
StringField() war immer mein absoluter Lieblingsbefehl...
Ab ins "Feature Request Forum..."