Page 1 sur 1

EditorGadget avec RTF dans prog unicode

Publié : mar. 16/nov./2010 23:32
par Le Soldat Inconnu
Salut à vous tous (ça fais un petit moment, j'ai fait un break programmation, bref ... )

Je suis un train de passer un programme en Unicode et j'utilise un editorgadget avec du RTF

et bien en unicode, ça ne marche pas.
J'ai trouv un truc sur le fofo des british qui ne me convient pas totalement.

voici le code bidouillé pour mes essai, à compiler en UNICODE bien entendu

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 630, 260, "EditorGadget", #PB_Window_SystemMenu |  #PB_Window_ScreenCentered)
  
	EditorGadget(0, 5, 5, 200, 250)
	EditorGadget(1, 210, 5, 200, 250)
	EditorGadget(2, 420, 5, 200, 250)
  
	NL.s = Chr(13) + Chr(10)
	a$ = "{\rtf1 \ansi \deftab1134 \deff0 " + NL + "{" + NL + "\plain \fs16 " + "Bonjour éèêîôöïë" + NL + "\par}}"
	
	SetGadgetText(0, a$)
	
  *mem = AllocateMemory(StringByteLength(a$, #PB_Ascii) + 1)
  PokeS(*mem, a$, -1, #PB_Ascii)
  SetGadgetText(1, PeekS(*mem))
  FreeMemory(*mem)
  
	*mem = AllocateMemory(StringByteLength(a$, #PB_UTF8) + 1)
  PokeS(*mem, a$, -1, #PB_UTF8)
  SetGadgetText(2, PeekS(*mem))
  FreeMemory(*mem)
	
	Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Donc les english proposent la conversion avec UTF8 qui bien sur ne fonctionne pas. Et la conversion en ASCII sur un programme en unicode risque de causer problème sur des caractères spéciaux de langue étrangère.

Alors si un maitre du RTF a une meilleur idée :mrgreen:

Merci