Aktuelle Zeit: 12.11.2019 02:32

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: ScintillaGadget und Umlaute...
BeitragVerfasst: 10.10.2019 09:00 
Offline
Benutzeravatar

Registriert: 29.08.2005 13:56
Wohnort: Köln
Hallo zusammen,
ich verwende in einem Programm das Scintilla Gadget. Alles funktioniert eigentlich wirklich wunderbar bis auf die
Tatsache, das sämtliche Umlaute in Texten, welche ich in das ScintillaGadget lade nicht als diese dargestellt werden. Wie
muss ich denn vorgehen, wenn ich sicherstellen möste, das die Umlaute auch dargestellt werden?

Hier ein Auszug aus dem Programmcode um eine Textdatei in das Gadget zu laden. Was mache ich denn falsch oder habe
ich vergessen?

Code:
Procedure LoadEditorFile(filename.s)
  If filename = ""
    filename = OpenFileRequester("Datei öffnen", "", "Alle Dateitypen (*.*)|*.*", 0)
  else
    file.l = ReadFile(#PB_Any, filename)
    If file <> 0
      len.l = Lof(file)
      *mem = AllocateMemory(len)
      If *mem
        ReadData(file, *mem, len)
        ScintillaSendMessage(#EDT_ROWEDITOR, #SCI_SETTEXT, 0, *mem)
        FreeMemory(*mem)
      EndIf
      CloseFile(file)
    EndIf
  EndIf
EndProcedure


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ScintillaGadget und Umlaute...
BeitragVerfasst: 10.10.2019 10:49 
Offline
Moderator
Benutzeravatar

Registriert: 15.06.2008 18:22
Wohnort: Dresden
Probier mal, den Text UTF-8-kodiert ins ScintillaGadget zu übergeben.

_________________
Win10 x64 | PB 5.71 (x86 und x64)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ScintillaGadget und Umlaute...
BeitragVerfasst: 10.10.2019 17:38 
Offline
Benutzeravatar

Registriert: 29.08.2005 13:56
Wohnort: Köln
was ich schon ohne Erfolg versucht habe ist beim Initialisieren des Gadgetgets direkt UTF8-Codierung anzugeben mit
Code:
  ScintillaSendMessage(#EDT_ROWEDITOR, #SCI_SETCODEPAGE, #SC_CP_UTF8)

als auch beim Einlesen der Textdatei in den Speicher das Flag #PB_UTF8 anzugeben
Code:
  ReadFile(#PB_Any, filename, #PB_UTF8)

leider beides ohne Erfolg (Wobei auch die anderen Codepage-Parameter bei ReadFile hier keinen Einfluss haben)
So wird z.B das Wort "Zugungück" im ScintillaGadget als "ZugunglxFCck oder das Wort
"Mädchen" als "MxE4dchen" angezeigt...
Wie kann man hier Sicherstellen, dass der Text "richtig" dargestellt wird?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ScintillaGadget und Umlaute...
BeitragVerfasst: 10.10.2019 19:14 
Offline
Benutzeravatar

Registriert: 20.04.2006 09:50
Was du bei ReadFile() angibst ist die Codierung der zu lesenden Datei. Der String den du erhältst ist immer utf-16. Darum musst du ihn mit UTF8() umwandeln (siehe Doku zu ScintillaGadget()). Du kannst die gesamte Datei übrigens auch mir ReadString(... #PB_File_IgnoreEOL) einlesen. Dann hast du utf-16 und musst mit UTF8() umwandeln. Wenn du sicher bist das die Datei schon utf-8 ist und sie direkt in einen Buffer laden willst, dann musst du denke ich trotzdem vorher das BOM von LOF() weg rechnen etc. und erst dahinter lesen.

_________________
my pb stuff..
Bild..jedenfalls war das mal so.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ScintillaGadget und Umlaute...
BeitragVerfasst: 10.10.2019 20:15 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Erstmal die richtige Einstellung für die IDE

IDE : Datei : Datei-Format = Codierung: UTF-8

_________________
PureBasic 5.71 | SpiderBasic 2.21 | Windows 10 Pro (x64) | Linux Mint 19.2 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ScintillaGadget und Umlaute...
BeitragVerfasst: 10.10.2019 20:17 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
@Ghosty1967:

Vielleicht können wir besser helfen, wenn Du uns die einzulesende Originaldatei zur Verfügung stellst (beispielsweise über Filehorst).

Grüße ... Peter

_________________
"A user interface is like a joke. If you have to explain it, it’s not that good." (Martin Leblanc)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ScintillaGadget und Umlaute...
BeitragVerfasst: 10.10.2019 20:53 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
UTF8 String:
https://www.purebasic.fr/english/viewto ... 39#p542965

Datei mit BOM laden:
https://www.purebasic.fr/english/viewto ... 39#p542971

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ScintillaGadget und Umlaute...
BeitragVerfasst: 11.10.2019 09:04 
Offline
Benutzeravatar

Registriert: 29.08.2005 13:56
Wohnort: Köln
Erstmal Danke ich für die Tipps...
ich probiere mal ein bisschen rum und melde mich dann wieder :mrgreen:
Danke nochmal


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye