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:

Das leidige Tehma mit den Umlauten...

 
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
Type



Anmeldungsdatum: 24.02.2006
Beiträge: 187
Wohnort: Dresden

BeitragVerfasst am: 21.07.2010, 12:45    Titel: Das leidige Tehma mit den Umlauten... Antworten mit Zitat

Hallo Leute,

wie bei den meisten anderen habe ich das Problem, dass in FB das die Umlaute nicht richtig dargestellt werden.
Ich hab mich also durch das FreeBasic-Portal gewühlt und folgendes Tutorial gefunden:
http://www.freebasic-portal.de/tutorials/umlaute-richtig-darstellen-25-s2.html

Alles schön und gut, nur leider funktioniert es bei mir nicht. - Also habe ich mich selbst an die Lösung des Problems gemacht. - Folgendes ist dabei herausgekommen:
http://www.freebasic-portal.de/porticula/umlaute-richtig-darstellen-1126.html

Es ist vielleicht nicht die eleganteste Lösung, daher auch meine Frage:
Wie lässt sich der Code weiter optimieren bzw. schneller machen?

MfG Type
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 21.07.2010, 13:17    Titel: Antworten mit Zitat

Äh...
Zitat:
195 ist das Steuerzeichen, welches vor allen Umlauten u.ä. kommt

Wenn du dieses Steuerzeichen nicht selbst "erfunden" hast, lässt mich das darauf schließen, dass du einen Unicode-Editor verwendest und die Datei mit UTF8 als Zeichensatz abgespeichert hast. Dann haben die Umlaute auch andere Codes und somit funktkoniert natürlich auch nicht EPs Code.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Type



Anmeldungsdatum: 24.02.2006
Beiträge: 187
Wohnort: Dresden

BeitragVerfasst am: 21.07.2010, 13:46    Titel: Antworten mit Zitat

OK, das kann natürlich sein.

Wie lässt sich aber programmintern herausfinden in welchem Format eine Datei (also nicht der Quelltext, sondern auch Dateien, die im Programm eingelesen werden) gespeichert wurden?
- Weil so wäre das Zeichenformat dann ja weitestgehend uninteressant, für den Benutzer.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 21.07.2010, 14:46    Titel: Antworten mit Zitat

Reiner UTF-8-Text hat nicht zwingendermaßen eine BOM. Man kann natürlich eine heuristische Erkennungsroutine über die Datei jagen und die Verteilung von High-ASCII-Zeichen untersuchen (wenn häufig zwei davon hintereinander kommen, ist die Wahrscheinlichkeit hoch, dass es sich um UTF-8 handelt), ansonsten muss der Benutzer halt angeben, ob es sich um eine ANSI- oder um eine UTF-8-Datei handelt.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Type



Anmeldungsdatum: 24.02.2006
Beiträge: 187
Wohnort: Dresden

BeitragVerfasst am: 21.07.2010, 14:54    Titel: Antworten mit Zitat

hm... sowas Ähnliches habe ich mir fast gedacht.

Dann wäre es wohl doch sinnvoller bei einer Codierung zu bleiben.

Die Linux und Windows Versionen von FB benutzen beide den ASCII-Zeichencode, richtig?

- Warum wurde FB eigentlich nicht gleich auf Unicode umgestellt? Soweit ich weiß ist das doch der Code Standard schlechthin.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 21.07.2010, 14:59    Titel: Antworten mit Zitat

Öhm nö. Es ist insb. für Programmierer deutlich aufwändiger UTF als ANSI zu unterstützen. Auch wenns unter C/C++ deutlich besser ist als unter FB...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 21.07.2010, 16:15    Titel: Antworten mit Zitat

Type hat Folgendes geschrieben:
Dann wäre es wohl doch sinnvoller bei einer Codierung zu bleiben.

Kommt drauf an, was du tun willst und warum das Programm Text einlesen können soll. Sind diese z.B. Scripts für eine Scripting-Engine in einem Spiel, wäre UTF8-Support nicht sonderlich wichtig (außer, das Spiel wäre z.B. mehrsprachig ausgelegt und bietet zur Darstellung von Texten einen Unicode-Zeichensatz). Möchtest du einen großen Texteditor schreiben, der mit möglichst vielen Textdateien umgehen können soll, wäre UTF-8 z.B. schon wichtiger.

Zitat:
Die Linux und Windows Versionen von FB benutzen beide den ASCII-Zeichencode, richtig?

Kommt drauf an. Auf der Konsole benutzen beide afaik ein 8-Bit-Zeichenset, was ihnen vom System gegeben wird. In den Grafikmodi wird ein fest eingestellter 8-bit-Zeichensatz verwendet. Möchte man dort Unicode-Text ausgeben, so muss dies also von Hand geschehen.

Zitat:
Warum wurde FB eigentlich nicht gleich auf Unicode umgestellt? Soweit ich weiß ist das doch der Code Standard schlechthin.

- Weil es als QB-Klon konzepiert wurde
- Weil FB bereits Wide Chars bietet
- UTF-8 ist nicht gerade trivial zu implementieren im vergleich zu ASCII
- Eine Sprache sollte von Haus aus nicht viel "bieten". Den Rest übernehmen (sprachinterne) Bibliotheken. (FreeBASIC "bietet" leider ziemlich viel als Sprachbestandteil)
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Type



Anmeldungsdatum: 24.02.2006
Beiträge: 187
Wohnort: Dresden

BeitragVerfasst am: 22.07.2010, 13:47    Titel: Antworten mit Zitat

Naja, der Benutzer soll selbst Dateien erstellen können, die dann in das Programm eingebunden werden.
Das Programm soll unter Windows und unter Linux laufen.

Nun will ich den User aber nicht zumuten sich mit Zeichenformaten herumplagen zu müssen.

Daher brauche ich eigentlich eine Art Konverter, der Zeichencodes erkennt und ggf. vereinheitlicht.
- Aber ich glaube das mit FB zu programmieren ist mir zu komplex.
Gibt es ein gutes Tool dafür? (ohne den Text jedes Mal in einem Editor öffnen zu müssen, oder sowas)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

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

das -einzige- was man in fb bräuchte um endlich mal mit so umlauten klazukommen ist eine definition, in welchem charset fb programme einfach geschrieben zu sein haben. >.< aber um die wichtigen dinge kümmert sich ja keiner in dem laden ;p
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 22.07.2010, 21:37    Titel: Antworten mit Zitat

Naja das Problem ist ja, dass FB ja nicht nur aus der Sprache selbst besteht (wie bspw. bei C/C++, die ja ohne nen Include eigentlich gar nichts können. Was ein sehr gutes Zeichen ist), sondern eben auch aus den ganzen Libs, die alle auf ein 1-Byte-Zeichensatz bauen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 22.07.2010, 23:39    Titel: Antworten mit Zitat

als hätten die libs irgendwas mit dem compiler-input zu tun ;p

der compiler kann die strings wunderbar ins lib-charset übersetzen beim lesen - sofern das eingabecharset fest steht, was es halt nicht tut.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 23.07.2010, 00:22    Titel: Antworten mit Zitat

ehm die libs nutzen auch alle die fb-strings. bei der gfx2 siehts - wenn ich mich recht erinnere - noch übler aus, weil da tw. void* für strings verwendet wurden. mich jetzt dafür nicht erschlagen wenns nicht stimmt, s.o.

bin gerade für rechtschreibung zu faul

7edit.

ah jetzt habe ich dein posting verstanden.
jo da haste recht...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 24.07.2010, 02:07    Titel: Antworten mit Zitat

uh.. das war ja mal mein Thema grinsen
Naja, hab mich nach meinen ganzen Chatbots die eh aus allen Chats geworfen worden nicht mehr weiter damit befasst gehabt, aber hab da noch was ganz altes gehabt das diese aufgaben eigentlich loesen sollte.,...

http://www.freebasic-portal.de/downloads/bibliotheken/stringformat-29.html

ich hoffe da war 'ne beschreibung dabei denn koennte heute nicht mehr sagen was wie wo zusammen gehoert :S

Edit:
kleine beschreibung liegt bei und funktioniert auch soweit, leider muss ich mich fuer meinen damaligen code entschuldigen, die replacefunktion gehoert auf jeden fall neu geschrieben zwinkern
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 24.07.2010, 02:57    Titel: Antworten mit Zitat

Der HTML-Konverter ist in einer tollen Weise geschrieben. Aber darum gings ja hier nicht happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 24.07.2010, 10:48    Titel: Antworten mit Zitat

da ist nicht nur HTML bei, da ist UTF-8, Ansi und Uni bei
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Type



Anmeldungsdatum: 24.02.2006
Beiträge: 187
Wohnort: Dresden

BeitragVerfasst am: 24.07.2010, 12:40    Titel: Antworten mit Zitat

Eternal_pain hat Folgendes geschrieben:
uh.. das war ja mal mein Thema grinsen
Naja, hab mich nach meinen ganzen Chatbots die eh aus allen Chats geworfen worden nicht mehr weiter damit befasst gehabt, aber hab da noch was ganz altes gehabt das diese aufgaben eigentlich loesen sollte.,...

http://www.freebasic-portal.de/downloads/bibliotheken/stringformat-29.html

ich hoffe da war 'ne beschreibung dabei denn koennte heute nicht mehr sagen was wie wo zusammen gehoert :S

Edit:
kleine beschreibung liegt bei und funktioniert auch soweit, leider muss ich mich fuer meinen damaligen code entschuldigen, die replacefunktion gehoert auf jeden fall neu geschrieben zwinkern


Coole Sache, ich hab mir die Routinen mal angeschaut. - Wirkt irgendwie besser als mein Code zwinkern
Mal schaun was sich damit anfangen lässt, danke!
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