Page 1 sur 1
Problème de Collage dans EditorGadget....[Résolu]
Publié : sam. 15/sept./2007 2:02
par Mytic
Je voudrai savoir comment on fait pour formater un texte !
Je m’explique :
J’ai un EditorGadget , tout va bien pour le moment , le texte se colorie comme je veux le bonheur quoi .
Mais quand je copie un texte venant d’une autre source que le Gadget là le cauchemar commence.
Le saut entre les ligne mesure le double et j’ai une autre police que celle que j’ai utiliser , et la couleur du texte est noir !!
Comment faire pour formater le Collage pour qu’il soit à la norme que je veux ?
Merci…
Re: Problème de Collage dans EditorGadget....
Publié : sam. 15/sept./2007 8:35
par Backup
Mytic a écrit :Je voudrai savoir comment on fait pour formater un texte !
Je m’explique :
J’ai un EditorGadget , tout va bien pour le moment , le texte se colorie comme je veux le bonheur quoi .
Mais quand je copie un texte venant d’une autre source que le Gadget là le cauchemar commence.
Le saut entre les ligne mesure le double et j’ai une autre police que celle que j’ai utiliser , et la couleur du texte est noir !!
Comment faire pour formater le Collage pour qu’il soit à la norme que je veux ?
Merci…
c'est simple tu filtre !!

parceque en collant tu garde les attributs RTF (mise en page) du document original, pour filtrer il faut un code qui demande Bac+8
moi qui n'ai pas dépassé la 6em, ben je vais te donner ce code tres complexe !
le voici :
; ******************Sert de filtre anti RTF lors d'un copier-collé************
Texte_editor$ = GetGadgetText ( #Editor_0 )
SetGadgetText ( #Editor_0 ,Texte_editor$)
; *******************************************************************
et voila , enlevé c'est pesé

Publié : sam. 15/sept./2007 9:09
par Ollivier
P... Comment tu fais Mytic?!?
Moi c'est ce que je veux : un gros bordel à trier dans le presse-papier. Mais je n'ai jamais rien. Il faudra que je me penche sur la question.
Ce serait intéressant que tu postes un exemple 'en Data' pour que je te donne quelques expli.
Pour exemple, un tableau Excel (juste du texte dans les cellules), il me semble que c'est :
Code : Tout sélectionner
TexteCellA1 + Chr(9) + TexteCellA2 + Chr(13) + Chr(10) + TexteCellB1 + Chr(9) + TexteCellB2
(Exemple pour une zone 2 x 2)
C'était il y a quelques temps, ça a pu changer.
Publié : sam. 15/sept./2007 10:27
par Backup
Ollivier a écrit :P... Comment tu fais Mytic?!?
Moi c'est ce que je veux : un gros bordel à trier dans le presse-papier. Mais je n'ai jamais rien. Il faudra que je me penche sur la question.
Ce serait intéressant que tu postes un exemple 'en Data' pour que je te donne quelques expli.
Pour exemple, un tableau Excel (juste du texte dans les cellules), il me semble que c'est :
Code : Tout sélectionner
TexteCellA1 + Chr(9) + TexteCellA2 + Chr(13) + Chr(10) + TexteCellB1 + Chr(9) + TexteCellB2
(Exemple pour une zone 2 x 2)
C'était il y a quelques temps, ça a pu changer.
quel rapport avec sa question ??

Publié : sam. 15/sept./2007 10:43
par Ollivier
Ben tu connais l'oiseau que je suis : Si tu me demandais d'aller chercher une baguette, je reviendrais avec une flûte...
J'ai mal compris son post. Je pensais qu'il importait son texte de partout et nullepart : Word, Excel & Cie.
T'as pas un avatar du Schtroumpf bêta ?
Publié : sam. 15/sept./2007 11:01
par Chris
Ollivier a écrit :Ben tu connais l'oiseau que je suis : Si tu me demandais d'aller chercher une baguette, je reviendrais avec une flûte...
J'ai mal compris son post. Je pensais qu'il importait son texte de partout et nullepart : Word, Excel & Cie.
T'as pas un avatar du Schtroumpf bêta ?
J'en ai un de "Simplet".
Ca t'interresse?

Publié : sam. 15/sept./2007 15:30
par Mytic
@Dobro
Mais là tu prend tout le texte du Gadget, moi je veux intercepter que le collage, le formater et le colorier en mémoire plus l’insérer dans le Gadget !
Une autre petite question ! Est-ce que on peut détecter les Items qui ont changés dans le Gadget pendant le collage ?
Publié : sam. 15/sept./2007 15:39
par Ollivier
@Chris
Fixé

Publié : sam. 15/sept./2007 15:41
par Mytic
J’ai pensé à faire ça :
-Créer un tableau en mémoire.
-Enregistrer les lignes du Gadget dans le tableau.
-A chaque modification comparer les Items avec le tableau.
-Colorier et formater que les Items modifiés.
Mais c'est Gourmand en CPU, pour chaque lettre tapée faire tout ce calcule !

Publié : sam. 15/sept./2007 16:20
par Backup
Mytic a écrit :@Dobro
Mais là tu prend tout le texte du Gadget, moi je veux intercepter que le collage, le formater et le colorier en mémoire plus l’insérer dans le Gadget !
Une autre petite question ! Est-ce que on peut détecter les Items qui ont changés dans le Gadget pendant le collage ?
oui c'est ce que je fait ! parceque nul besoin de filtrer en temps reel !!
exemple mon editeur, je colle un code dedans, il suffit de faire Ctrl+TAB (comme avec JAPBE

) et cela te remet le code niquel chrome coloré et mise en forme, en une seul fois !
si tu veux pouvoir le faire avant le collage, c'est pas trop dur va voir les fonction purebasic librairie "
Clipboard" de l'aide
voir
Texte$ = GetClipboardText()
le tout c'est de virer d'une façon ou d'une autre le formatage RTF

un peut d'expérimentation, ne fais pas de mal
Publié : sam. 15/sept./2007 16:28
par Chris
ET comme ça, ca n'irait pas?
(Ca utilise l'Api, donc, il faut la version enregistrée)
Edit : Par contre, ça ne répond pas à ta deuxième question.
Code : Tout sélectionner
Fnt = LoadFont(#PB_Any, "Arial", 14, #PB_Font_Bold|#PB_Font_Italic)
If OpenWindow(0, 0, 0, 322, 150, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
EditorGadget(0, 8, 8, 306, 133)
SendMessage_(GadgetID(0) , #EM_SETEVENTMASK, 0, #ENM_CHANGE)
SetGadgetFont(0, FontID(Fnt))
SetGadgetColor(0, #PB_Gadget_FrontColor, $FF0000)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 0
If EventType() = #PB_EventType_Change And GetGadgetText(0) <> ""
SetGadgetFont(0, FontID(Fnt))
SetGadgetColor(0, #PB_Gadget_FrontColor, $FF0000)
EndIf
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf
Publié : sam. 15/sept./2007 16:47
par Mytic
Merci … Pour votre aide
@Chris
Ta méthode marche très bien.

Publié : sam. 15/sept./2007 16:48
par Chris
Mytic a écrit :Merci … Pour votre aide
@Chris
Ta méthode marche très bien.

Pourquoi? D'habitude, je poste des méthodes qui ne marchent pas?
