Basic unter Linux: Fehler bei INPUT
Verfasst: Mo, 24.03.2008 20:15
Hallo,
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:
Nach meinem Erachten liegt hier ein Fehler vor. Das Verfahren zum Melden eines Fehlers ist mir zu kompliziert. Das Nachschauen im issuetracker gab keinen Hinweis darauf, dass der Fehler schon bekannt ist. Würde bitte jemand mit der entsprechenden Sachkunde diesen Fehler melden?
Martin
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