Seite 1 von 1
Rset und LSet problem
Verfasst: 13.06.2006 13:26
von netvampire
Hallöle ihr puren Basicer
Also ich hab mir gerade purebasic gekauft, weil ich dachte das es ein Bug in der Demo ist, aber dem ist anscheinden nicht so, also nehme ich mal an ich hab was nicht verstanden.
RSet und LSet sind ja zum verlängern bzw. kürzen von Strings da. Nun folgendes Beispiel was mich total verwirrt:
String.s = "<test>commando parameter"
jetzt will ich das "<test>" vorn wegcutten, das der neue String einfach nur "commando parameter" ist. Also einfach:
cuttedstring.s = RSet(String, 6)
Nun Problem: der String heißt jetzt "<test>", also das falsche weggecuttet und das ding hat also die gleiche Funktion wie Mid().
Kurz gedacht und dann mal das selbe mit Lset() gemacht und noch mehr verwundert: exakt das gleiche Ergebnis wie bei RSet.
Ich bin echt verwirrt und frage mich, was ich da übersehen hab...
Bitte lasst mich nicht dumm sterben

Verfasst: 13.06.2006 13:33
von Jilocasin
Die Hilfe zu RSet hat geschrieben:
Platziert den 'String$' an den rechten Rand des Zielstrings und füllt diesen mit Leerzeichen ("Spaces") auf, um die angegebene 'Laenge' zu erreichen. Der optionale Parameter 'Zeichen$' kann benutzt werden, um anstelle der Leerzeichen ein anderes Zeichen zu verwenden. Ist der String länger als die angegebene 'Laenge', wird er - beginnend von links - auf 'Laenge' Zeichen gekürzt.
Beispiel:
Ergebnis$ = RSet("R",

; Ergebnis$ ergibt: " R"
Ergebnis$ = RSet("R", 8, "-") ; Ergebnis$ ergibt: "-------R"
Ergebnis$ = LSet("LongString", 4) ; Ergebnis$ ergibt: "Long"
Du bräuchtest entweder...
Ergebnis$ = RemoveString(DEINSTRING,"<test>")
oder..
Ergebnis$ = Right(DEINSTRING,Len(DEINSTRING)-6)
...
korrigiert mich bitte, falls ich mich irre..

Verfasst: 13.06.2006 13:37
von PureLust
Hallo NetVampir, ...
Du scheinst RSet() und LSet() etwas mit Left() und Right() verwechselt zu haben.
Den Befehl den Du im Grunde suchst wird aber vermutlich: Mid() sein.
Ergenis.s = Mid("<test>commando parameter", 7, 99999)
Gruß, PL.
Verfasst: 13.06.2006 13:40
von netvampire
ahh, Right! Na das sieht ja sehr gut aus! Kann mir trotzdem jemand noch erklären warum das mir Rset und Lset nict geht? Laut doku sollen die doch den String genauso cutten können...
Edit: Oh shit, wer lesen kann ist klar im vorteil

Das steht ja bei beiden in der Doku: "Ist der String länger als die angegebene 'Laenge', wird er - beginnend von
links - auf 'Laenge' Zeichen gekürzt. "
Hmm, war es von blitzbasic und co so gewohnt, da ist es anders.
Kann man das an die Purebasic-Entwickler weiterleiten, das die das bei RSet auf Rechts abändern, damit ich weiter meinen Gewohnheiten fröhnen kann?
@purelust: Hatte schonmal mid, aber wollte einfach den String immer mehr einkürzen, um ihn auszuwerten. Hat mir mehr gefallen

Verfasst: 13.06.2006 13:43
von Jilocasin
netvampire hat geschrieben:Kann man das an die Purebasic-Entwickler weiterleiten, das die das bei RSet auf Rechts abändern, damit ich weiter meinen Gewohnheiten fröhnen kann?
Oh jaaa... und bitte bei 4.1
nicht vergessen!

Verfasst: 13.06.2006 13:47
von netvampire
Verfasst: 13.06.2006 13:48
von PureLust
netvampire hat geschrieben:@purelust: Hatte schonmal mid, aber wollte einfach den String immer mehr einkürzen, um ihn auszuwerten. Hat mir mehr gefallen


.... das mach Mid() doch .... genauso wie Right() und Left() auch.
Nur brauchst Du bei Mid() im Gegesatz zu Right() eben nicht unbedingt die restiche Zeichenlänge zu berechnen.
Aber egal ... Du weisst ja nun wie Du an das gewünschte Ziel kommst.

Verfasst: 13.06.2006 13:53
von Jilocasin