Editor Gadget et Unicode

Sujets variés concernant le développement en PureBasic
pat
Messages : 406
Inscription : mar. 24/nov./2009 15:13

Editor Gadget et Unicode

Message par pat »

Bonjour,

Comme vous le savez, la nouvelle version de PB (5.50) est maintenant tout en Unicode.
Notre Editor Gadget est compatible RTF... quand il n'était pas en Unicode.
Sinon, cela ne fonctionnait pas.
On ne peux pas transmettre des codes comme \par \b etc.
Mais comme maintenant on ne peut plus commuter en Unicode, ou pas, il est clair que notre Editor est restreint.
Même avec Ascii() pour du texte en entrée Unicode, cela ne fonctionne pas.
Merci de m'indiquer comment faire pour que notre Editor Gadget reconnaisse les codes RTF.
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Editor Gadget et Unicode

Message par Zorro »

donne moi un code exemple qui ne marche pas
je te le fait tourner en 30 secondes chrono :)

bhaa ; allez, je suis de bonne humeur :)

comme tu le vois , l'astuce consiste a utiler la fonction Ascii() de Pb 5.50
comme elle renvoie l'adresse d'un buffer ASCII , il faut passer par Peeks() pour avoir le contenu de ce buffer :)

Code : Tout sélectionner

Define rtf.s

rtf = "{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}"
rtf + "{\f1\fswiss\fcharset0 Arial;}}"
rtf + "{\colortbl ;\red0\green0\blue255;\red255\green0\blue0;\red128\green128\blue128;}"
rtf + "{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\qc\cf1\ul\b\f0\fs52 PureBasic Language\par"
rtf + "\cf0\ulnone\b0 Version 5.50 \par"
rtf + "\cf2\fs32 Beta 2\par" ; couleur est defini par cfx le x egale a la position e la couleur dans la table
rtf + "\cf3 For Windows, Linux, MacOS\cf2\f1\fs20\par }"

OpenWindow(0, 0, 0, 540, 200, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
EditorGadget(0, 10, 10, 520, 180)

;;;SetGadgetText(0, rtf) ; Code avant PB 5.50

SetGadgetText(0,Peeks(ascii(rtf))) ; code depuis Pb 5.50

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow 
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
pat
Messages : 406
Inscription : mar. 24/nov./2009 15:13

Re: Editor Gadget et Unicode

Message par pat »

Merci à toi Zorro pour m'avoir indiqué la solution.
Et ton pseudo porte bien son nom.
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Editor Gadget et Unicode

Message par Zorro »

content d'avoir pu te rendre service :)
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Crashdisk
Messages : 15
Inscription : sam. 18/févr./2012 17:09

Re: Editor Gadget et Unicode

Message par Crashdisk »

Merci Zorro, ce sujet concerne pas mal de monde lorsque souhaite migrer de PB LTS vers la dernière version. Toutefois, même si ton exemple est fonctionnel, il me semble important de rappeler que la fonction Ascii() réserve un espace mémoire qu'il convient de libérer avec FreeMemory() si l'on en fait un usage régulier. Donc, attention de ne pas utiliser cet exemple de façon trop "basic" ^^
Répondre