nachdem ich nun über Ostern nach der Ursache für ein seltsames Verhalten gesucht habe, habe ich Folgendes heraus gefunden:
Die line input-Funktion liefert korrekte Umlaute, während die input-Funktion einen fehlerhaften String liefert. In der msgbox kann man das sehen. Der Code für das Makro:
Code: Alles auswählen
REM ***** BASIC *****
'Fehler in OO-Basic (GetSolarVersion liefert 680) unter Linux (Ubuntu 7.10)
'Umlaute und Sonderzeichen werden bei line input korrekt aus einer Datei gelesen,
'bei input hingegen nicht.
Sub Main
select case GetGUIType()
case 1 'Windows
stop
case 3 'Mac
stop
case 4 'Unix
tmppfad$="file:///tmp/"
tmpfile$=tmppfad$+"tmp.$$$"
end select
raus%=freefile
open tmpfile$ for output as #raus%
print #raus%,"1,Hallo Ae=Ä Oe=Ö Ue=Ü sz=ß ae=ä oe=ö ue=ü"
print #raus%,"2,Hallo Ae=Ä Oe=Ö Ue=Ü sz=ß ae=ä oe=ö ue=ü"
close
crlf$=chr$(13)
rin%=freefile
open tmpfile$ for input as #rin%
meld$ = "Sprache und Kodierung: "+Environ("LANG")+crlf$+crlf$
meld$ = meld$+"Erster String mit line input:"+crlf$
line input #rin%,btext$
meld$ = meld$+btext$+crlf$+crlf$
meld$ = meld$+"Zweiter String mit input:"+crlf$
input #rin%,zahl%,btext$
meld$ = meld$+str$(zahl%)+btext$+crlf$
msgbox meld$
close
kill tmpfile$
End Sub
Martin