EditorGadget avec RTF dans prog unicode

Programmation d'applications complexes
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

EditorGadget avec RTF dans prog unicode

Message 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
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]