EditGadget et RTF
EditGadget et RTF
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 ?
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 ?
Re: EditGadget et RTF
Bonjour pat,
je pense que la solution est de recompiler le module RichEdit en 64 bits.
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 !
Un homme doit être poli, mais il doit aussi être libre !
Re: EditGadget et RTF
Il y a des notions linguistiques algorithmiques que j'avoue ne pas maîtriser.pat a écrit :Copier le code ci-dessous mais en PB version 6.00, ou 5.73, mais en 64 bits
Est-ce ça se traduit par << Copier le code ci-dessous en 64 bits, version 5.73 ou version 6 >> ?
- Mindphazer
- Messages : 694
- Inscription : mer. 24/août/2005 10:42
Re: EditGadget et RTF
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) :
Référence : http://forums.purebasic.com/english/vie ... p?p=599728
Cela dit, le gadget reste vide, en 32 ou 64 bits.
Pour que l'EditorGadget l'affiche comme du RTF, il faut l'activer, et ça ne peut se faire que via une API :{\rtf1\ansi\deff0\trowd\trgaph108\cellx3600\pard\intbl Première cellule\cell\cellx7200 Deuxième cellule\cell{\row }}
Code : Tout sélectionner
SendMessage_(GadgetID(0), #EM_SETTEXTMODE, #TM_RICHTEXT, 0)
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
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Re: EditGadget et RTF
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 !!!
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 !!!
Re: EditGadget et RTF
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.
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.
- Mindphazer
- Messages : 694
- Inscription : mer. 24/août/2005 10:42
Re: EditGadget et RTF
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.
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
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Re: EditGadget et RTF
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.
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.
Re: EditGadget et RTF
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.
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.
- Mindphazer
- Messages : 694
- Inscription : mer. 24/août/2005 10:42
Re: EditGadget et RTF
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.
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
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Re: EditGadget et RTF
Bonjour,
Testé avec PB 5.71 LTS x64, ça fonctionne

Avec les versions > 5.71, ça ne fonctionne plus.
cage
Testé avec PB 5.71 LTS x64, ça fonctionne

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
■ 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
Re: EditGadget et RTF
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.
Donc il y a un problème.
Peut-être faudrait-il en parler à Fred.
Ce serait bien que cela fonctionne dans toutes les versions.
Re: EditGadget et RTF
Bonjour pat,
Il semble que Fred soit bien au courant:
https://www.purebasic.fr/english/viewtopic.php?t=81402
cage
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
■ 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
Re: EditGadget et RTF
Tu peux rechercher sur les 2 forums (French/English) les sujets parlant de EditorGadget et RTF sur Google
avec la recherche suivante:
Rechercher sur Google
Peut-être y trouveras-tu une réponse.
cage
avec la recherche suivante:
Code : Tout sélectionner
EditorGadget RTF site:(www.purebasic.fr)
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
■ 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
- Mindphazer
- Messages : 694
- Inscription : mer. 24/août/2005 10:42
Re: EditGadget et RTF
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
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
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go