Aktuelle Zeit: 09.07.2020 10:31

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: EditorGadget - Sonderzeichen werden nicht korrekt angezeigt
BeitragVerfasst: 18.04.2020 10:25 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo Leute,

Sonderzeichen werden im Editor nicht korrekt angezeigt, wenn Sie aus einem String eingelesen werden!

Zitat:
So kennen wir den „Riverdale“-Star gar nicht. (was so viel wie „Baumwollburg“ bedeutet)


Hat einer eine Idee, was sich im EditorGadget geändert hat seit den Stand PB 5.60, da ging es noch?


Code:
If OpenWindow(0, 0, 0, 540, 260, "PB 5.70 LTS Richedit Unicode EditorGadget", #PB_Window_SystemMenu |  #PB_Window_ScreenCentered)
  EditorGadget(0, 5, 5, 530, 250)
 
  Global Notiz$
  Global a$ = ""
 
  a$ + "{\rtf1\ansi\ansicpg1252\deff0\deflang1031\deflangfe1031{\fonttbl{\f0\fswiss\fprq2\fcharset0 Verdana;}{\f1\fswiss\fprq2\fcharset0 Segoe WP SemiLight;}}"
  a$ + "{\colortbl ;\red0\green128\blue128;\red51\green51\blue51;}"
  a$ + "{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\nowidctlpar\cf1\f0\fs20 So kennen wir den \'84Riverdale\ldblquote -Star gar nicht. \cf2\f1 (was so viel wie \'84Baumwollburg\ldblquote  bedeutet)\cf1\f0\par"
  a$ + "\cf1\ul\b\i\fs28 APPNAME é à ç è ê"
  a$ + "}"
 
  ; Next 4 lines enable Unicode Support
 
  ; Code in Memory
  *mem = AllocateMemory(StringByteLength(a$) + 1)
  ; *mem = AllocateMemory(StringByteLength(a$, #PB_Ascii) + 1)
  ; *mem = AllocateMemory(StringByteLength(a$, #PB_UTF8) + 1)
  ; *mem = AllocateMemory(StringByteLength(a$,#PB_Unicode   ) + 2)
 
  ; Schreibt einen String
  ; PokeS(*mem, a$, -1, #PB_Ascii)
  ; PokeS(*mem, a$, -1, #PB_UTF8)
  ; PokeS(*mem, a$, -1, #PB_Unicode)
  PokeS(*mem, a$, -1)
 
  ; Liest einen String
  SetGadgetText(0,PeekS(*mem))
 
  ; Notiz$ = PeekS(*mem)
  ; SetGadgetText(0,Notiz$)
 
  ; Memory Free
  FreeMemory(*mem)
 
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf


Gruss ... Velindos!

_________________
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.43 LTS (32/64-Bit)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EditorGadget - Sonderzeichen werden nicht korrekt angeze
BeitragVerfasst: 18.04.2020 11:21 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Habe es wieder gefunden ...

Link: https://www.purebasic.fr/english/viewto ... 45#p520036

Anpassung wegen Unicode, RTF muss als UTF8 übertragen werden, auch wenn das RichEdit als Unicode verwendet wird.

Code:
;-TOP

; *****************************************************************************
; AddTextRTF by mk-soft, v1.05, 27.03.2018

CompilerIf #PB_Compiler_Version < 550
  Procedure UTF8(Text.s)
    Protected *mem = AllocateMemory(StringByteLength(Text, #PB_UTF8) + 1)
    If *mem
      PokeS(*mem, Text, -1, #PB_UTF8)
    EndIf
    ProcedureReturn *mem
  EndProcedure
CompilerEndIf

Procedure AddTextRTF(Gadget, Text.s , NewLine=#False)
  If Left(Text, 5) <> "{\rtf"
    Text = "{\rtf " + Text + "}"
  EndIf
  If NewLine
    Text = Left(Text, Len(text) - 1) + "\line}"
  EndIf
  CompilerIf #PB_Compiler_Unicode
    Protected hEdit = GadgetID(Gadget)
    Protected ndx = GetWindowTextLength_(hEdit)
    Protected *szBuffer = UTF8(Text)
    SendMessage_(hEdit, #EM_SETSEL, ndx, ndx)
    SendMessage_(hEdit, #EM_REPLACESEL, 0, *szBuffer)
    FreeMemory(*szBuffer)
  CompilerElse
    AddGadgetItem(Gadget, -1 , Text)
  CompilerEndIf
EndProcedure

; *****************************************************************************

If OpenWindow(0, 0, 0, 540, 260, "PB 5.70 LTS Richedit Unicode EditorGadget", #PB_Window_SystemMenu |  #PB_Window_ScreenCentered)
  EditorGadget(0, 5, 5, 530, 250)
 
  Global Notiz$
  Global a$ = ""
 
  a$ + "{\rtf1\ansi\ansicpg1252\deff0\deflang1031\deflangfe1031{\fonttbl{\f0\fswiss\fprq2\fcharset0 Verdana;}{\f1\fswiss\fprq2\fcharset0 Segoe WP SemiLight;}}"
  a$ + "{\colortbl ;\red0\green128\blue128;\red51\green51\blue51;}"
  a$ + "{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\nowidctlpar\cf1\f0\fs20 So kennen wir den \'84Riverdale\ldblquote -Star gar nicht. \cf2\f1 (was so viel wie \'84Baumwollburg\ldblquote  bedeutet)\cf1\f0\par"
  a$ + "\cf1\ul\b\i\fs28 APPNAME é à ç è ê"
  a$ + "}"
 
  AddTextRTF(0, a$)
 
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

_________________
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 My Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EditorGadget - Sonderzeichen werden nicht korrekt angeze
BeitragVerfasst: 18.04.2020 13:06 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo mk-soft,

Danke, du hast mich gerettet! Funzt einfach Genial im PB5.50 und PB 5.72 Beta und PB 5.72 LTS!

Nun ist es bei mir so, das ich den Inhalt an ein anders Gadget übergebe und zurück. Dh. ist das Auslesen des Gadget für mich und meine Database wichtig!

Hier das Beispiel, natürlich mit Deiner Lösung integriert!
Gibt es noch was verbesserungswürdiges im Code?

Code:
; Richtext von Gadget zu Gadget über String Variable
; https://www.purebasic.fr/german/viewtopic.php?f=16&t=31968
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EnableExplicit
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Enumeration
  #Edt_Win
  #Edt_Source
  #Edt_Target
  #Edt_Btn
EndEnumeration
;-TOP
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  Global Notiz$ = ""
  Global NNotiz$ = ""
  Global EditorGadget_RawRichText$
 
  Notiz$ + "{\rtf1\ansi\ansicpg1252\deff0\deflang1031\deflangfe1031{\fonttbl{\f0\fswiss\fprq2\fcharset0 Verdana;}{\f1\fswiss\fprq2\fcharset0 Segoe WP SemiLight;}}"
  Notiz$ + "{\colortbl ;\red0\green128\blue128;\red51\green51\blue51;}"
  Notiz$ + "{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\nowidctlpar\cf1\f0\fs20 So kennen wir den \'84Riverdale\ldblquote -Star gar nicht. \cf2\f1 (was so viel wie \'84Baumwollburg\ldblquote  bedeutet)\cf1\f0\par"
  Notiz$ + "\cf1\ul\b\i\fs28 APPNAME é à ç è ê"
  Notiz$ + "}"
; *****************************************************************************
; Richtext_To_Gadget by mk-soft, v1.05, 27.03.2018
CompilerIf #PB_Compiler_Version < 550
  ; -------------------------------
  Procedure UTF8(Text.s)
    ; -------------------------------
    Protected *mem = AllocateMemory(StringByteLength(Text, #PB_UTF8) + 1)
    ; -------------------------------
    If *mem
      PokeS(*mem, Text, -1, #PB_UTF8)
    EndIf
    ; -------------------------------
    ProcedureReturn *mem
    ; -------------------------------
  EndProcedure
  ; -------------------------------
CompilerEndIf
Procedure Richtext_To_Gadget(Gadget, Text.s , NewLine=#False)
  ; -------------------------------
  If Left(Text, 5) <> "{\rtf"
    Text = "{\rtf " + Text + "}"
  EndIf
  ; -------------------------------
  If NewLine
    Text = Left(Text, Len(text) - 1) + "\line}"
  EndIf
  ; -------------------------------
  CompilerIf #PB_Compiler_Unicode
    ; -------------------------------
    Protected hEdit = GadgetID(Gadget)
    Protected ndx = GetWindowTextLength_(hEdit)
    Protected *szBuffer = UTF8(Text)
    ; -------------------------------
    SendMessage_(hEdit, #EM_SETSEL, ndx, ndx)
    SendMessage_(hEdit, #EM_REPLACESEL, 0, *szBuffer)
    FreeMemory(*szBuffer)
    ; -------------------------------
  CompilerElse
    ; -------------------------------
    AddGadgetItem(Gadget, -1 , Text)
    ; -------------------------------
  CompilerEndIf
  ; -------------------------------
EndProcedure
Procedure Richtext_From_Callback(dwCookie, pbBuff, cb, pcb)
  If cb
    ;{ Liest einen String von der angegebenen Speicheradresse.
    EditorGadget_RawRichText$ + PeekS(pbBuff, cb ,#PB_Ascii)
    ; EditorGadget_RawRichText$ + PeekS(pbBuff, cb ,#PB_Unicode)
    ; EditorGadget_RawRichText$ + PeekS(pbBuff, cb,#PB_UTF16 )
    ;}
  EndIf
  pcb=cb
EndProcedure
Procedure.s Richtext_From_Gadget(gad)
  EditorGadget_RawRichText$=""
  Protected str.EDITSTREAM\dwCookie=0
  str\dwError=0
  str\pfnCallback = @Richtext_From_Callback()
  SendMessage_(GadgetID(gad),#EM_STREAMOUT,#SF_RTF,@str)
  ProcedureReturn EditorGadget_RawRichText$
EndProcedure
; *****************************************************************************
OpenWindow(#Edt_Win,0,0,300,330,"RTF Insert",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(#Edt_Win))
EditorGadget(#Edt_Source,5,5,290,145,#PB_Editor_WordWrap)
EditorGadget(#Edt_Target,5,150,290,145,#PB_Editor_WordWrap)
ButtonGadget(#Edt_Btn,5,300,200,20,"Gadget1 => Gadget2")
 
Richtext_To_Gadget(#Edt_Source, Notiz$)

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow: End
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #Edt_Btn
          NNOTIZ$ = Richtext_From_Gadget(#Edt_Source)
          Richtext_To_Gadget(#Edt_Target,NNOTIZ$)
      EndSelect
  EndSelect
ForEver


Gruss ... Velindos!

_________________
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.43 LTS (32/64-Bit)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EditorGadget - Sonderzeichen werden nicht korrekt angeze
BeitragVerfasst: 18.04.2020 13:44 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Habe bei mir doch noch ein Bug gefunden.

RTF ist doch kein UTF8, sondern ASCII.
Code angepasst, sonst haut es nicht mit den Sonderzeichen "@€" etc nicht hin.
Code:
; Richtext von Gadget zu Gadget über String Variable
; https://www.purebasic.fr/german/viewtopic.php?f=16&t=31968
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EnableExplicit
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Enumeration
  #Edt_Win
  #Edt_Source
  #Edt_Target
  #Edt_Btn
EndEnumeration
;-TOP
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  Global Notiz$ = ""
  Global NNotiz$ = ""
  Global EditorGadget_RawRichText$
 
  Notiz$ + "{\rtf1\ansi\ansicpg1252\deff0\deflang1031\deflangfe1031{\fonttbl{\f0\fswiss\fprq2\fcharset0 Verdana;}{\f1\fswiss\fprq2\fcharset0 Segoe WP SemiLight;}}"
  Notiz$ + "{\colortbl ;\red0\green128\blue128;\red51\green51\blue51;}"
  Notiz$ + "{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\nowidctlpar\cf1\f0\fs20 So kennen wir den \'84Riverdale\ldblquote -Star gar nicht. \cf2\f1 (was so viel wie \'84Baumwollburg\ldblquote  bedeutet)\cf1\f0\par"
  Notiz$ + "\cf1\ul\b\i\fs28 APPNAME é à ç è ê @ €"
  Notiz$ + "}"
; *****************************************************************************
; Richtext_To_Gadget by mk-soft, v1.05, 27.03.2018
CompilerIf #PB_Compiler_Version < 550
  ; -------------------------------
  Procedure UTF8(Text.s)
    ; -------------------------------
    Protected *mem = AllocateMemory(StringByteLength(Text, #PB_UTF8) + 1)
    ; -------------------------------
    If *mem
      PokeS(*mem, Text, -1, #PB_UTF8)
    EndIf
    ; -------------------------------
    ProcedureReturn *mem
    ; -------------------------------
  EndProcedure
  ; -------------------------------
  Procedure Ascii(Text.s)
    ; -------------------------------
    Protected *mem = AllocateMemory(StringByteLength(Text, #PB_Ascii) + 1)
    ; -------------------------------
    If *mem
      PokeS(*mem, Text, -1, #PB_Ascii)
    EndIf
    ; -------------------------------
    ProcedureReturn *mem
    ; -------------------------------
  EndProcedure
  ; -------------------------------
CompilerEndIf
Procedure Richtext_To_Gadget(Gadget, Text.s , NewLine=#False)
  ; -------------------------------
  If Left(Text, 5) <> "{\rtf"
    Text = "{\rtf " + Text + "}"
  EndIf
  ; -------------------------------
  If NewLine
    Text = Left(Text, Len(text) - 1) + "\line}"
  EndIf
  ; -------------------------------
  CompilerIf #PB_Compiler_Unicode
    ; -------------------------------
    Protected hEdit = GadgetID(Gadget)
    Protected ndx = GetWindowTextLength_(hEdit)
    Protected *szBuffer = Ascii(Text)
    ; -------------------------------
    SendMessage_(hEdit, #EM_SETSEL, ndx, ndx)
    SendMessage_(hEdit, #EM_REPLACESEL, 0, *szBuffer)
    FreeMemory(*szBuffer)
    ; -------------------------------
  CompilerElse
    ; -------------------------------
    AddGadgetItem(Gadget, -1 , Text)
    ; -------------------------------
  CompilerEndIf
  ; -------------------------------
EndProcedure
Procedure Richtext_From_Callback(dwCookie, pbBuff, cb, pcb)
  If cb
    ;{ Liest einen String von der angegebenen Speicheradresse.
    EditorGadget_RawRichText$ + PeekS(pbBuff, cb ,#PB_Ascii)
    ; EditorGadget_RawRichText$ + PeekS(pbBuff, cb ,#PB_Unicode)
    ; EditorGadget_RawRichText$ + PeekS(pbBuff, cb,#PB_UTF16 )
    ;}
  EndIf
  pcb=cb
EndProcedure
Procedure.s Richtext_From_Gadget(gad)
  EditorGadget_RawRichText$=""
  Protected str.EDITSTREAM\dwCookie=0
  str\dwError=0
  str\pfnCallback = @Richtext_From_Callback()
  SendMessage_(GadgetID(gad),#EM_STREAMOUT,#SF_RTF,@str)
  ProcedureReturn EditorGadget_RawRichText$
EndProcedure
; *****************************************************************************
OpenWindow(#Edt_Win,0,0,300,330,"RTF Insert",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(#Edt_Win))
EditorGadget(#Edt_Source,5,5,290,145,#PB_Editor_WordWrap)
EditorGadget(#Edt_Target,5,150,290,145,#PB_Editor_WordWrap)
ButtonGadget(#Edt_Btn,5,300,200,20,"Gadget1 => Gadget2")
 
Richtext_To_Gadget(#Edt_Source, Notiz$)

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow: End
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #Edt_Btn
          NNOTIZ$ = Richtext_From_Gadget(#Edt_Source)
          Richtext_To_Gadget(#Edt_Target,NNOTIZ$)
      EndSelect
  EndSelect
ForEver

_________________
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 My Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EditorGadget - Sonderzeichen werden nicht korrekt angeze
BeitragVerfasst: 18.04.2020 14:38 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo mk-soft,

werde die Sache in meinen Velindos einbauen und checken wie das mit der Base funktioniert!

Nochmals besten DANK!

Gruss ... Velindos!

_________________
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.43 LTS (32/64-Bit)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EditorGadget - Sonderzeichen werden nicht korrekt angeze
BeitragVerfasst: 18.04.2020 17:30 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo,
habe die Sache mal in meinen Velindos integriert, komme jedoch nur auf das Ergebnis

Zitat:
(was so viel wie „Baumwollburg“ bedeutet)
.

Übergebe die Sache an die Base mit

Zitat:
SQL + "Notiz='" + NOTIZ$ + "',"


Obwohl es nun im Gadget funktioniert! Liegt das nun an der SQLite Base, oder muss die Base geändert werden...

Code:
; Richtext von Gadget zu Gadget über String Variable
; https://www.purebasic.fr/german/viewtopic.php?f=16&t=31968

; https://www.msn.com/de-de/reisen/artikel/diese-fantastischen-naturfotos-werden-sie-aufmuntern/ss-BB12m50z?li=BBqfWMM#image=6
; (was so viel wie „Baumwollburg“ bedeutet)
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EnableExplicit
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Enumeration
;   Edt_Win
;   Edt_Source
;   Edt_Target
;   Edt_Btn
EndEnumeration

  Global Edt_Win
  Global Edt_Source
  Global Edt_Target
  Global Edt_Btn

;-TOP
;- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  Global Notiz$ = ""
  Global NNotiz$ = ""
  Global EditorGadget_RawRichText$
 
  Notiz$ + "{\rtf1\ansi\ansicpg1252\deff0\deflang1031\deflangfe1031{\fonttbl{\f0\fswiss\fprq2\fcharset0 Verdana;}{\f1\fswiss\fprq2\fcharset0 Segoe WP SemiLight;}}"
  Notiz$ + "{\colortbl ;\red0\green128\blue128;\red51\green51\blue51;}"
  Notiz$ + "{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\nowidctlpar\cf1\f0\fs20 So kennen wir den \'84Riverdale\ldblquote -Star gar nicht. \cf2\f1 (was so viel wie \'84Baumwollburg\ldblquote  bedeutet)\cf1\f0\par"
  Notiz$ + "\cf1\ul\b\i\fs28 APPNAME é à ç è ê"
  Notiz$ + "\line@€á}"
; *****************************************************************************
; RTF_To_Gadget by mk-soft, v1.05, 27.03.2018
CompilerIf #PB_Compiler_Version < 550
  ; -------------------------------
  Procedure UTF8(Text.s)
    ; -------------------------------
    Protected *mem = AllocateMemory(StringByteLength(Text, #PB_UTF8) + 1)
    ; -------------------------------
    If *mem
      PokeS(*mem, Text, -1, #PB_UTF8)
    EndIf
    ; -------------------------------
    ProcedureReturn *mem
    ; -------------------------------
  EndProcedure
  ; -------------------------------
  Procedure Ascii(Text.s)
    ; -------------------------------
    Protected *mem = AllocateMemory(StringByteLength(Text, #PB_Ascii) + 1)
    ; -------------------------------
    If *mem
      PokeS(*mem, Text, -1, #PB_Ascii)
    EndIf
    ; -------------------------------
    ProcedureReturn *mem
    ; -------------------------------
  EndProcedure
  ; -------------------------------
CompilerEndIf
Procedure RTF_To_Gadget(Gadget, Text.s , NewLine=#False)
; -------------------------------
  If Left(Text, 5) <> "{\rtf"
    Text = "{\rtf " + Text + "}"
  EndIf
  ; -------------------------------
  If NewLine
    Text = Left(Text, Len(text) - 1) + "\line}"
  EndIf
  ; -------------------------------
  CompilerIf #PB_Compiler_Unicode
    ; -------------------------------
    Protected hEdit     = GadgetID(Gadget)
    Protected ndx       = GetWindowTextLength_(hEdit)
    Protected *szBuffer = Ascii(Text)
    ; -------------------------------
    SendMessage_(hEdit, #EM_SETSEL, ndx, ndx)
    SendMessage_(hEdit, #EM_REPLACESEL, 0, *szBuffer)
    ; -------------------------------
    FreeMemory(*szBuffer)
    ; -------------------------------
  CompilerElse
    ; -------------------------------
    AddGadgetItem(Gadget, -1 , Text)
   ; -------------------------------
  CompilerEndIf
  ; -------------------------------
EndProcedure
Procedure RTF_From_Gadget_CB(dwCookie, pbBuff, cb, pcb)
  If cb
    CompilerIf #PB_Compiler_Unicode
      ; -------------------------------
      EditorGadget_RawRichText$ + PeekS(pbBuff, cb ,#PB_UTF8)
      ; -------------------------------
    CompilerElse
      ; -------------------------------
      ;{ Liest einen String von der angegebenen Speicheradresse.
      EditorGadget_RawRichText$ + PeekS(pbBuff, cb ,#PB_Ascii)
      ; EditorGadget_RawRichText$ + PeekS(pbBuff, cb ,#PB_Unicode)
      ; EditorGadget_RawRichText$ + PeekS(pbBuff, cb,#PB_UTF16 )
      ;}
      ; -------------------------------
    CompilerEndIf
    ; -------------------------------
  EndIf
  pcb=cb
EndProcedure
Procedure.s RTF_From_Gadget(gad)
  ; -------------------------------
  ReplaceString(GetGadgetText(gad), "'", "''",#PB_String_InPlace )
  ; -------------------------------
  EditorGadget_RawRichText$=""
  ; -------------------------------
  Protected str.EDITSTREAM\dwCookie=0
  ; -------------------------------
  str\dwError=0
  str\pfnCallback = @RTF_From_Gadget_CB()
  ; -------------------------------
  SendMessage_(GadgetID(gad),#EM_STREAMOUT,#SF_RTF,@str)
  ; -------------------------------
;   SetGadgetText(gad,"")
  ; -------------------------------
  ProcedureReturn EditorGadget_RawRichText$
EndProcedure
; *****************************************************************************
Edt_Win = OpenWindow(#PB_Any,0,0,300,330,"RTF Insert",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(Edt_Win))
Edt_Source = EditorGadget(#PB_Any,5,5,290,145,#PB_Editor_WordWrap)
Edt_Target = EditorGadget(#PB_Any,5,150,290,145,#PB_Editor_WordWrap)
Edt_Btn = ButtonGadget(#PB_Any,5,300,200,20,"Gadget1 => Gadget2")
 
RTF_To_Gadget(Edt_Source, Notiz$)

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow: End
    Case #PB_Event_Gadget
      Select EventGadget()
        Case Edt_Btn
          NNOTIZ$ = RTF_From_Gadget(Edt_Source)
         
          RTF_To_Gadget(Edt_Target,NNOTIZ$)
      EndSelect
  EndSelect
ForEver


Gruss ... Velindos

_________________
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.43 LTS (32/64-Bit)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EditorGadget - Sonderzeichen werden nicht korrekt angeze
BeitragVerfasst: 18.04.2020 17:43 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Warum liest du den RTF Stream (Callback) als UTF8?
RTF ist ist ASCII

_________________
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 My Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EditorGadget - Sonderzeichen werden nicht korrekt angeze
BeitragVerfasst: 20.04.2020 08:41 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo mk-soft,

war wohl ein Kurzschluss, Danke!

Gruss ... Velindos!

_________________
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.43 LTS (32/64-Bit)


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: Google [Bot] und 8 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