Seite 1 von 1

EditorGadget Win 10 + PB 6.10b7 - RTF via SetText geht nicht mehr

Verfasst: 08.03.2024 19:35
von hjbremer
EditorGadget Win 10 + PB 6.10b7 - RTF via SetGadgetText geht nicht mehr

mit 5.72 x64 und 5.70 x86 geht es !

Code: Alles auswählen

rtf$ = "{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1031{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil\fcharset0 Calibri;}}"
rtf$ + "{\colortbl ;\red255\green0\blue0;\red0\green77\blue187;}"
rtf$ + "{\*\generator Riched20 10.0.19041}\viewkind4\uc1" 
rtf$ + "\pard\ri5941\sl240\slmult1\b\fs20\lang7\tab\tab\tab\tab\cf1\tab    ESC = zur\'fcck\cf0\par"
rtf$ + "\cf2 Liste\b0 : \cf0\par"
rtf$ + "\cf2 Leertaste: \cf0 Zeilen markieren, mit Betrag ab 0.50\cf2\b\par"
rtf$ + "\b0 Strg + H:   \cf0 IsbnHilfe-Datei mit WordPad aufrufen\par"
rtf$ + "\cf2 Strg + I:    \cf0 Alle ISBN Nummern ins Clipboard kopieren\par"
rtf$ + "\cf2 Strg + P:   \cf0 Alle ISBN + Namen ins Clipboard kopieren\par"
rtf$ + "\par"
rtf$ + "}"

  If OpenWindow(0, 0, 0, 500, 300, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    EditorGadget(0, 8, 8, 500, 300)
    SetGadgetText(0, rtf$)
    
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

PS: ein File mit #EM_STREAMIN einlesen geht auch nicht

Re: EditorGadget Win 10 + PB 6.10b7 - RTF via SetText geht nicht mehr

Verfasst: 08.03.2024 19:44
von STARGÅTE
Das RTF im EditorGadget funktioniert hatte, war nie ein offizielles Feature von PureBasic und es war auch nie dokumentiert.
Hier die Lösung:
https://www.purebasic.fr/english/viewto ... 37#p599737

Re: EditorGadget Win 10 + PB 6.10b7 - RTF via SetText geht nicht mehr

Verfasst: 08.03.2024 19:49
von mk-soft
Du must Textmode RTF erst wieder einschalten ...

Stargate war schneller ;)

Code: Alles auswählen

rtf$ = "{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1031{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil\fcharset0 Calibri;}}"
rtf$ + "{\colortbl ;\red255\green0\blue0;\red0\green77\blue187;}"
rtf$ + "{\*\generator Riched20 10.0.19041}\viewkind4\uc1" 
rtf$ + "\pard\ri5941\sl240\slmult1\b\fs20\lang7\tab\tab\tab\tab\cf1\tab    ESC = zur\'fcck\cf0\par"
rtf$ + "\cf2 Liste\b0 : \cf0\par"
rtf$ + "\cf2 Leertaste: \cf0 Zeilen markieren, mit Betrag ab 0.50\cf2\b\par"
rtf$ + "\b0 Strg + H:   \cf0 IsbnHilfe-Datei mit WordPad aufrufen\par"
rtf$ + "\cf2 Strg + I:    \cf0 Alle ISBN Nummern ins Clipboard kopieren\par"
rtf$ + "\cf2 Strg + P:   \cf0 Alle ISBN + Namen ins Clipboard kopieren\par"
rtf$ + "\par"
rtf$ + "}"

If OpenWindow(0, 0, 0, 500, 300, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  EditorGadget(0, 8, 8, 500, 300)
  SendMessage_(GadgetID(iGadget), #EM_SETTEXTMODE, #TM_RICHTEXT, 0)
  SetGadgetText(0, rtf$)
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Re: EditorGadget Win 10 + PB 6.10b7 - RTF via SetText geht nicht mehr

Verfasst: 09.03.2024 00:15
von hjbremer
Ooops so einfach, vielen Dank, bin ich nicht darauf gekommen.

Es gibt nun noch ein kleines Problem. WordPad speichert die Umlaute im Wort zurück so ab: ESC = zur\'fcck, also das ü als \'fc

Frage kann man dies im Header einfach manipulieren ? oder muß ich im PB Programm es so lösen: rtf$ = ReplaceString(rtf$, "\'fc", "ü")