Autor | Thema: Fehler in Translate$-Funktion | | Datum:12.06.01 23:52 
(NSp_ware@t-online.de) | |
Habe Fehlfunktion bei Translate$ entdeckt.
In dem String name$ soll ein Teilstring "\\" durch ein Zeichen "\" ersetzt werden. CHR$(92) entspricht "\".
cls
declare pfad$, name$, name1$, name2$
let pfad$ = "A:\"
let name$ = "\DOS"
let name$ = (pfad$ + name$)
let name1$ = translate$(name$, "\\", "\")
'-> so geht es nicht
let name2$ = translate$(name$, MKSTR$(CHR$(92), 2), "\")
'-> jetzt funktioniert es
print name1$
print name2$
waitinput
end
|
| | Datum:13.06.01 14:05 
(joerse@gmx.de) | |
Hallo Norbert,
Das ist richtig - allerdings kein Bug sondern Absicht.
Profan sieht "\\" imm er als ein Zeichen "\" an.
Wegen der Sonderzeichen (z. B. \n für Zeilenwechsel).
Deswegen auch Pfade immer mit doppeltem Backslash.
Wenn Du in der Translatefunktion folgendes schreibst:
let name2$ = translate$(name$, MKSTR$(CHR$(92), 2), CHR$(92))
sollte es eigentlich immer und am sichersten klappen.
Viele Grüße
Jörg
|
| | Datum: 13.06.01 19:50 
(NSp_ware@t-online.de) | |
Danke Jörg für Deinen Hinweis. Jetzt wo Du es geschrieben hast, fällt es mir auch wieder ein, daß ich es irgendwo schon gelesen habe.
Gruß
Norbert
|
|
|