EditGadget et RTF

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
pat
Messages : 411
Inscription : mar. 24/nov./2009 15:13

EditGadget et RTF

Message par pat »

Bonjour,

Copier le code ci-dessous mais en PB version 6.00, ou 5.73, mais en 64 bits :

If OpenWindow(0, 0, 0,550, 70, "Test tableau RTF", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
EditorGadget(0,0,0,550,70)
;------------------------------
b$="{\rtf1\ansi\deff0\trowd\trgaph108\cellx3600\pard\intbl Première cellule\cell\cellx7200 Deuxième cellule\cell{\row }}"
;------------------------------
SetGadgetText(0,b$)
Repeat
Event=WaitWindowEvent(1)
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
CloseWindow(0)
EndIf

Ce code ne fonctionne pas, vous aurez une fenêtre vide.

Maintenant copier le code ci-dessus mais en PB 5.71 version 32 bits.
Ce code fonctionne parfaitemant bien et vous verrez une fenêtre avec une ligne de tableau.

En fait, pour la version PB 64 bits, se sont uniquement les codes RTF du tableau qui ne fonctionne pas, comme \trowd, \cell, \cellx, \row.
Si vous tapez "\b Je fais un test.\par" vous aurez bien une ligne en gras avec un retour à la ligne.

Comment faire pour que le code ci-dessus fonctionne avec les version 5.73 et 6.00 mais en 64 bits ?
Avatar de l’utilisateur
Micoute
Messages : 2583
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: EditGadget et RTF

Message par Micoute »

Bonjour pat,

je pense que la solution est de recompiler le module RichEdit en 64 bits.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: EditGadget et RTF

Message par Ollivier »

pat a écrit :Copier le code ci-dessous mais en PB version 6.00, ou 5.73, mais en 64 bits
Il y a des notions linguistiques algorithmiques que j'avoue ne pas maîtriser.

Est-ce ça se traduit par << Copier le code ci-dessous en 64 bits, version 5.73 ou version 6 >> ?
Avatar de l’utilisateur
Mindphazer
Messages : 694
Inscription : mer. 24/août/2005 10:42

Re: EditGadget et RTF

Message par Mindphazer »

En l'état, ce code ne fait qu'afficher le contenu de la chaîne b$ dans l'EditorGadget. En 32 ou 64bits (6.02) :
{\rtf1\ansi\deff0\trowd\trgaph108\cellx3600\pard\intbl Première cellule\cell\cellx7200 Deuxième cellule\cell{\row }}
Pour que l'EditorGadget l'affiche comme du RTF, il faut l'activer, et ça ne peut se faire que via une API :

Code : Tout sélectionner

SendMessage_(GadgetID(0), #EM_SETTEXTMODE, #TM_RICHTEXT, 0)
Référence : http://forums.purebasic.com/english/vie ... p?p=599728

Cela dit, le gadget reste vide, en 32 ou 64 bits.
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
pat
Messages : 411
Inscription : mar. 24/nov./2009 15:13

Re: EditGadget et RTF

Message par pat »

Bonjour,

Je le répète, RTF avec EditorGadget fonctionne bien.
Seules les commandes de tableau du RTF ne sont pas reconnues à partir de la version 5.73.
Que ce soit en 32 bits ou en 64 bits.

Prenez mon code ci-dessus et faites-le tourner en PB 5.71, en 32 bits ou 64 bits.
Vous verrez une ligne de tableau dans la fenêtre.

Faites la même chose mais avec PB 5.73 et + et cela ne fonctionne pas. La fenêtre sera vide.

Faites l'essai vous-même.
Merci de faire la comparaison !!!
pat
Messages : 411
Inscription : mar. 24/nov./2009 15:13

Re: EditGadget et RTF

Message par pat »

Pour Mindphaser :

Le code en b$ est du code RTF.
Et cela devrait fournir une ligne de tableau de deux colonnes, et ce qui fonctionne parfaitement bien en 5.71 mais pas en 5.73 et au delà.
Je le répète encore, faites la comparaison des deux versions : 5.73 ou + et cela ne fonctionne pas et la 5.71 et cela fonctionne.
Avatar de l’utilisateur
Mindphazer
Messages : 694
Inscription : mer. 24/août/2005 10:42

Re: EditGadget et RTF

Message par Mindphazer »

Inutile de s'énerver.
Je précisais juste, avec en référence ce que Fred a expliqué, que l'activation du RTF dans l'EditorGadget est une fonction cachée (supportée uniquement par Windows), qui était activée par défaut avant la 6.02 mais qui ne l'est plus dorénavant. Il faut l'activer manuellement.
Je vous laisse le soin (ou pas) de vérifier en 6.02 le résultat de votre code.
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
pat
Messages : 411
Inscription : mar. 24/nov./2009 15:13

Re: EditGadget et RTF

Message par pat »

Bonjour,

En PB 5.71 et même 5.72, 32 ou 64 bits, il n'y a pas besoin d'activer, cela est déjà fait.

Télécharge la version PB 5.71 et la version 5.73 ou + et fais la comparaison, ce que tu n'as toujours pas fait.

Et vérifie de toi-même !!!

Tu verras une ligne de tableau de deux colonnes dans la fenêtre en 5.71.
Et une fenêtre vide à partir de la version 5.73.

Fais cet effort de télécharger et de comparer.
Je pense parler français, il me semble.
pat
Messages : 411
Inscription : mar. 24/nov./2009 15:13

Re: EditGadget et RTF

Message par pat »

Et la version 5.73 est déjà activé.
Le SendMessage() n'aura aucun effet puisque c'est déjà activé sur la 5.73.

Et en 5.73 : "\b Je fais un test.\par"
Tu verras ce texte en gras avec un retour à la ligne.
Cela fonctionne parfaitement bien, ce qui signifie que ce n'est pas l'activitation de RTF le problème.
Avatar de l’utilisateur
Mindphazer
Messages : 694
Inscription : mer. 24/août/2005 10:42

Re: EditGadget et RTF

Message par Mindphazer »

Je vous crois sur parole.
Ce que je tentais d'expliquer (peut-être maladroitement, et si c'est le cas je m'en excuse platement), c'est que vu que ce n'est pas une fonctionnalité propre à PureBasic (à aucun moment, la documentation du gadget n'en parle, et ça ne marche que sous Windows, pas sur Linux ni MacOS), je ne suis pas sûr qu'il y a une quelconque prise en charge du problème par Fred.

Mais lui seul pourra répondre je pense.
Dernière modification par Mindphazer le ven. 04/août/2023 15:56, modifié 1 fois.
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: EditGadget et RTF

Message par cage »

Bonjour,

Testé avec PB 5.71 LTS x64, ça fonctionne
Image
Avec les versions > 5.71, ça ne fonctionne plus.
cage
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
pat
Messages : 411
Inscription : mar. 24/nov./2009 15:13

Re: EditGadget et RTF

Message par pat »

Merci cage de ton intervention.

Donc il y a un problème.

Peut-être faudrait-il en parler à Fred.

Ce serait bien que cela fonctionne dans toutes les versions.
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: EditGadget et RTF

Message par cage »

Bonjour pat,

Il semble que Fred soit bien au courant:

https://www.purebasic.fr/english/viewtopic.php?t=81402

cage
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: EditGadget et RTF

Message par cage »

Tu peux rechercher sur les 2 forums (French/English) les sujets parlant de EditorGadget et RTF sur Google
avec la recherche suivante:

Code : Tout sélectionner

EditorGadget RTF site:(www.purebasic.fr)
Rechercher sur Google

Peut-être y trouveras-tu une réponse.

cage
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
Mindphazer
Messages : 694
Inscription : mer. 24/août/2005 10:42

Re: EditGadget et RTF

Message par Mindphazer »

Le problème semble lié au passage de PB en Unicode à partir de la version 5.73 :
https://www.purebasic.fr/english/viewtopic.php?t=77356
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Répondre