Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Wieder mal Umlaute - nach Umstieg auf Win7

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
TimesChange



Anmeldungsdatum: 20.11.2013
Beiträge: 85

BeitragVerfasst am: 19.04.2014, 17:07    Titel: Wieder mal Umlaute - nach Umstieg auf Win7 Antworten mit Zitat

Nachdem ich erfolgreich ein paar Programme von Quickbasic auf Freebasic umgesetzt habe, und auch der überfällige Umstieg von Win XP auf Win 7 erfolgt ist, habe ich ein neues Problem mit den Umlauten.

Ich vermute, es liegt an Windows 7, aber ich habe keine Ahnung zwinkern

Schon bisher musste ich Umlaute, die auf den Bildschirm ausgegeben werden sollten, "anders" im Quelltext eingeben. Um z.B. den Text "Blättern" auszugeben, muss ich "Bl„ttern" schreiben.
Soweit so gut, nur ist mir seit Umstieg auf Win7 mein "ü" verschwunden.

Konkret: Ich habe ein Programm (noch unter XP geschrieben) das den Text "für" ausgeben soll. In FBIDE sehe ich im Quelltext jetzt aber nur noch
Code:
Print "fr"

Im Hex-Editor sehe ich aber, dass zwischen dem "f" und dem "r" immer noch ein &H81 steckt.

(ä,ö, und die anderen Umlaute werden - soweit ich das bisher sehe - immer noch als "andere" Zeichen angezeigt.)

Kann mir jemand einen Tipp geben, wie ich damit am besten umgehe, und auch im Editor/FBIDE wieder mein "ü" bekomme?


Grüße
Rainer


P.S. Mir ist klar, dass ich für "für" auch !"F\129r" schreiben kann. Oder chr(...)
Es geht mir also darum, wie ich FBIDE dazu bekomme, die (noch vorhandenen) Codes im Quelltext bestehender Programme auch anzuzeigen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 19.04.2014, 17:41    Titel: Antworten mit Zitat

Leider kenne ich FBIDE nicht so richtig; vielleicht gibt es irgendwo eine Möglichkeit, die Zeichencodierung einzustellen (was ich eher bezweifle).

Eine völlig andere Alternative: Wenn du den ASCII-Code der Sonderzeichen kennst, kannst du es auch auf diesem Weg eingeben, z. B.
Code:
PRINT !"f\&h81r"

Beachte dabei das Ausrufezeichen vor dem String.


edit: Ich sehe gerade, dass ich eine undokumentierte Escape-Sequenz verwendet habe ...

edit2: Da es sich offenbar um einen Bug handelt, habe ich meinen Code mal zu einer offiziell unterstützten Escape-Sequenz umgeändert.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.


Zuletzt bearbeitet von nemored am 19.04.2014, 21:46, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 562
Wohnort: Jüterbog

BeitragVerfasst am: 19.04.2014, 17:58    Titel: Antworten mit Zitat

Vermutlich bist du am schnellsten wenn du dir ein kleines Replacement-Tool schreibst und dieses dann über den "XP"-Quellcode jagst.
Einfach mal in die IDE äöü eintippen abspeichern und im Hexeditor nachsehen welches Zeichen verlangt wird.
Also ich würd es so machen

Mutton
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
TimesChange



Anmeldungsdatum: 20.11.2013
Beiträge: 85

BeitragVerfasst am: 19.04.2014, 19:09    Titel: Antworten mit Zitat

Unter den Einstellungen / settings bei FBIDE finde ich jedenfalls keine derartige Option...

Bei neuen Programmen sind die Escape-Sequenzen sicher sinnvoll, lästig ist eben das Verhalten / die Anzeige bei vorhandenen Dateien.

Muttonhead hat Folgendes geschrieben:
...ein kleines Replacement-Tool schreibst und dieses dann über den "XP"-Quellcode jagst...


Nicht dass wir uns falsch verstehen: Der Quellcode enthält ja die gewünschten Sonderzeichen, das Programm gibt wie gewünscht "für" auf dem Bildschirm aus, in FBIDE sehe ich aber nur "fr" ...

Es muss eigentlich eine "Besonderheit" unter Win7 sein. Ich bin mir ziemlich sicher, dass ich unter XP sowohl mit FBIDE als auch mit einem beliebigen Viewer / Editor und Standard-Ansi-Anzeige irgendein Zeichen anstelle des "ü" angezeigt bekam. Und jetzt sieht es eben so aus, als gäbe es nur "fr". Unter ANSI bekomme ich den Wert für &h81 / 129 "nichts" angezeigt...

Grüße
Rainer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 19.04.2014, 19:22    Titel: ASCII / IBM 850 dank Geany Antworten mit Zitat

Hallo,

zum Beispiel mit der Editor-IDE-Kombination Geany (Open Source) kann man die Zeichenkodierung der geöffneten Datei beliebig umwandeln.

Wenn du z. B. einen Quelltext mit UTF-8-Umlauten hast und den compilieren lässt, siehst du Folgendes:



Um Abhilfe zu schaffen, kannst du die Zeichenkodierung mit Geany auf ASCII / IBM 850 ändern:



Wenn du jetzt das Programm, das auf den richtigen Zeichensatz umgestellt wurde, compilierst, sieht die Ausgabe so aus:



Die Escape-Sequenzen, die nemored beschrieben hat, sind ein guter Ansatz, um das unabhängig von der Dateikodierung zu lösen. Ein bisschen einfacher kann man sich's machen, wenn man direkt mit der passenden Kodierung arbeiten kann. Aber das beherrscht FBIde leider nicht.

Es gibt aber auch Kommandozeilentools, mit denen man eine ANSI-Datei in eine Extended-ASCII-Datei umwandeln lassen kann. Damit könnte man evtl. Abhilfe für FBIde bauen. FBIde würde beim Compilieren nicht mehr direkt fbc.exe aufrufen, sondern eine fbcstub.bat, die zuerst die Konvertierung des Quelltexts anstößt und anschließend den fbc.exe aufruft.

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
TimesChange



Anmeldungsdatum: 20.11.2013
Beiträge: 85

BeitragVerfasst am: 21.04.2014, 12:36    Titel: Antworten mit Zitat

GEANY sieht ja ganz interessant aus. Ich denke zwar, dass ich hier eher ein "Problem" im Betriebssystem habe, das ich lieber "an der Quelle" abstellen würde. Aber die Möglichkeit zur Umcodierung des Zeichensatzes kann ich sicher irgendwann mal gebrauchen.

Viele Grüße
Rainer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
HorstD



Anmeldungsdatum: 01.11.2007
Beiträge: 107

BeitragVerfasst am: 21.04.2014, 14:51    Titel: Antworten mit Zitat

Zitat:
Ich denke zwar, dass ich hier eher ein "Problem" im Betriebssystem habe,


Das Betriebssystem erwartet für Konsolenfenster (DOS-Fenster) den OEM-Zeichensatz. (Codepage 850)
Wenn du einen Ansi-Editor (CP 1252) verwendest, stimmen die Umlaute selbstveständlich nicht.

Also:
Entweder
    einen DOS-Editor oder einem auf OEM einstellbaren Windows-Editor verwenden.
    (Zumindest für die Ausgabetexte).
oder
    die mittels Ansi-Editor eingegebenen Umlaute konvertieren bzw. als
    CHR()-Code eingeben.
oder
    einen Kompiler verwenden, der damit keine Probleme hat.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 21.04.2014, 16:51    Titel: Antworten mit Zitat

Es geht ja nicht um die Anzeige im Konsolenfenster, sondern darum, dass ein in FBIDE früher angezeigtes Sonderzeichen jetzt in FBIDE nicht mehr angezeigt wird.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TimesChange



Anmeldungsdatum: 20.11.2013
Beiträge: 85

BeitragVerfasst am: 22.04.2014, 00:36    Titel: Antworten mit Zitat

So, nun habe ich das nochmal auf einem anderen Rechner mit Win 7 und auf einem mit Win 8.1 ausprobiert. Bei keinem bekomme ich das "ü" (oder ANSI-Zeichen &h81) in irgendeiner Form angezeigt.
Nochmal eine alte XP-Partition hochgefahren, und dort sehe ich wie gewohnt einen "Platzhalter".

Hier nochmal ein Mini-Screenshot einer Quelltext-Zeile. Oben unter XP, unten die identische Datei unter Win7.

Man sieht, dass das "ö" in beiden Fällen gleich angezeigt wird, nur beim "ü" haperts.

Naja, ist auch nicht soo wichtig. Die Programme laufen ja bzw. werden korrekt kompiliert, künftig verwende ich Escape-Sequenzen, es ist nur lästig weil man denkt es fehlt etwas...
Mich wundert es halt, dass niemand sonst dieses Phänomen hatte...

Viele Grüße
Rainer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 22.04.2014, 11:25    Titel: Antworten mit Zitat

Ich müsste mal genauer nachsehen, welche ANSI-Code-Bereiche da betroffen sind, allerdings deutet das Rechteck beim ü darauf hin, dass hier kein "Ersatzzeichen" bereitsteht wie beim ö, sondern eben nur ein Platzhalter angezeigt wird. Durchaus möglich, dass diese Platzhalter bei Win7/8 "unter den Tisch fallen".

Ich habe den Vorteil, dass ich bei nicht druckbaren Zeichen einen Platzhalter mit dem Hexadezimalcode des Zeichens angezeigt bekomme. happy Scheint aber auch eine betriebssystem-interne Sache zu sein.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz