Page 9 sur 17

Publié : jeu. 10/nov./2005 20:58
par Anonyme2
J'ai passé ton code dans colorer mais le forum n'aime pas ça

Code : Tout sélectionner

buffer.s()  = " [Quote] "+Chr(13)+Chr(10)
     
     ; on ajoute le Quote de Fin !!
LastElement(buffer.s() )
AddElement(buffer.s() ) 
buffer.s()=Chr(13)+Chr(10)+" [/Quote] " ; plus un retour a la ligne !

Publié : jeu. 10/nov./2005 23:29
par Backup
je ne comprend pas ce que tu veux dire ? !!


il ne faut pas de toute façon utiliser colorer pour colorer , le source de colorer !
puisque le source de colorer contient des BBcodes !!
c'est evident qu'il y aura des conflis !!
je le repete depuis le debut du topic !! :?

NE PAS COLORER LE SOURCE DE "COLORER" !!



sinon chez moi tout marche impec !!! 8O

Publié : ven. 11/nov./2005 0:40
par Backup
heu ! dans mon empressement , j'avais oublié la prise en compte des commentaires !! :crazyeyes:

voici que c'est corrigé ! :D

Publié : ven. 11/nov./2005 0:56
par Backup
mince !! je viens juste de remodifier le source et l'archive posté ci-dessus !!

maintenant , c'est bon !! :? :D :lol:

Publié : ven. 11/nov./2005 10:54
par Frenchy Pilou
L'adresse du lien a un blème :(

Publié : ven. 11/nov./2005 13:46
par Backup
ha bah oui ! tiens ! :lol: :lol: :lol:

c'est corrigé . Merci :D

Publié : ven. 11/nov./2005 18:33
par Backup
hum ! en voulant colorer un code de Chris , je me suis rendu compte de 2 petit bug

le premier sur la rencontre du signe "_" et l'autre sur la fin de certaines ligne de commentaire !

les fichiers et le sources on donc ete remodifié ! (j'espere que c'est la derniere :D )

voici le code de Chris coloré , qui prouve que ça marche maintenant !


;- Window Constants

Enumeration
     #Window
EndEnumeration

;- Gadget Constants

Enumeration
     #Combo_1
     #Combo_2
     #String_1
     #String_2
     #String_3
     #Button
EndEnumeration

Procedure Open_Window()
     If OpenWindow ( #Window , 496, 78, 315, 175, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Test" )
         If CreateGadgetList ( WindowID ())
             ComboBoxGadget ( #Combo_1 , 10, 10, 295, 200, #PB_ComboBox_Editable )
             ComboBoxGadget ( #Combo_2 , 10, 50, 295, 200, #PB_ComboBox_Editable )
             StringGadget ( #String_1 , 10, 75, 295, 20, "" )
             StringGadget ( #String_2 , 10, 100, 295, 20, "" )
             StringGadget ( #String_3 , 10, 125, 295, 20, "" )
             ButtonGadget ( #Button , 115, 150, 100, 20, "Bouton" )
         EndIf
     EndIf
     RemoveKeyboardShortcut ( #Window , #PB_Shortcut_All )
     AddKeyboardShortcut ( #Window , #PB_Shortcut_Tab , #PB_Shortcut_Tab )
     AddKeyboardShortcut ( #Window , #PB_Shortcut_Left , #PB_Shortcut_Left )
EndProcedure

Procedure EnumChildProc(hwnd, lParam)
    Result = #True
    Class$ = Space (128) : GetClassName_ (hwnd, @Class$, 128)
     If LCase (Class$) = "edit"
        Resultat = hwnd : Result = #False
     EndIf
    
     EnumChildWindows_ (hwnd, @EnumChildProc(), lParam)
     ProcedureReturn Resultat
EndProcedure

;/ Ouverture de la fenêtre

Open_Window()
For i = 0 To 20
     AddGadgetItem ( #Combo_1 , -1, "Elément " + Str (i))
     AddGadgetItem ( #Combo_2 , -1, "Elément " + Str (i))
Next
SetGadgetState ( #Combo_1 , 0)
SetGadgetState ( #Combo_2 , 0)

ActivateGadget ( #Combo_1 )

;/ On va chercher le 'handle' de l'Edit qui se trouve dans la ComboBox

;/ Le handle est global, et n'est recherché qu'une fois, à l'ouverture

;/ du programme

hCombo_1 = EnumChildWindows_ ( GadgetID ( #Combo_1 ),@EnumChildProc(),0)
hCombo_2 = EnumChildWindows_ ( GadgetID ( #Combo_2 ),@EnumChildProc(),0)


Repeat
     Select WaitWindowEvent ()
         Case #PB_EventMenu
             Select EventMenuID ()
                 Case #PB_Shortcut_Tab
                     ;/ Et on a plus qu'à utiliser GetFocus_()

                    Focus = GetFocus_ ()
                    
                     Select Focus
                         Case hCombo_1 : ActivateGadget ( #Combo_2 )
                         Case hCombo_2 : ActivateGadget ( #String_1 )
                         Case GadgetID ( #String_1 ) : ActivateGadget ( #String_2 )
                         Case GadgetID ( #String_2 ) : ActivateGadget ( #String_3 )
                         Case GadgetID ( #String_3 ) : ActivateGadget ( #Combo_1 )
                     EndSelect
                    
                 Case #PB_Shortcut_Left
                     If GetFocus_ () = hCombo_1
                         SendMessage_ ( GadgetID ( #Combo_1 ), #CB_SHOWDROPDOWN , #True , 0)
                     EndIf
                     If GetFocus_ () = hCombo_2
                         SendMessage_ ( GadgetID ( #Combo_2 ), #CB_SHOWDROPDOWN , #True , 0)
                     EndIf
                    
             EndSelect
            
         Case #PB_EventGadget
             Select EventGadgetID ()
                 Case #Combo_1
                 Case #Combo_2
                 Case #String_1
                 Case #String_2
                 Case #String_3
             EndSelect
         Case #PB_EventCloseWindow
            quit = 1
     EndSelect
Until quit
End

Publié : ven. 11/nov./2005 19:21
par Frenchy Pilou
Y a pas moyen de mette un choix de palette?
Moi j'aime bien les arcs en ciel, ou la palette rasta 8)

Publié : ven. 11/nov./2005 19:56
par Backup
Y a pas moyen de mette un choix de palette?
ben si! c'est pas tres dur a faire , regarde le source
au debut tu as


;-Colorer

Procedure Colorer()
; ****** couleur Fonctions *************

couleur_fonction= RGB ($24,$7D,$C6) ;<---- Ceci determine la couleur des Fonction

r1$= Hex ( Red (couleur_fonction))
v1$= Hex ( Green (couleur_fonction))
b1$= Hex ( Blue (couleur_fonction))
couleur_fonction$= "#" +r1$+v1$+b1$
couleur_fonction$= LTrim (couleur_fonction$)
; *******************************


; ****** couleur Commentaire *************

couleur_commentaire= RGB ($24,$8E,$27) ;<---- Ceci determine la couleur des Commentaires

r2$= Hex ( Red (couleur_commentaire))
v2$= Hex ( Green (couleur_commentaire))
b2$= Hex ( Blue (couleur_commentaire))
couleur_commentaire$= "#" +r2$+v2$+b2$
couleur_commentaire$= LTrim (couleur_commentaire$)
; *******************************


; ****** couleur Constante *************

couleur_constante= RGB ($AC,$B0,$1A) ;<---- Ceci determine la couleur des Constantes

r3$= Hex ( Red (couleur_constante))
v3$= Hex ( Green (couleur_constante))
b3$= Hex ( Blue (couleur_constante))
couleur_constante$= "#" +r3$+v3$+b3$
couleur_constante$= LTrim (couleur_constante$)
; *******************************


; ****** couleur Chaine *************

couleur_chaine= RGB ($29,$B4,$B4) ;<---- Ceci determine la couleur des Chaines

r4$= Hex ( Red (couleur_chaine))
v4$= Hex ( Green (couleur_chaine))
b4$= Hex ( Blue (couleur_chaine))
couleur_chaine$= "#" +r4$+v4$+b4$
couleur_chaine$= LTrim (couleur_chaine$)
; *******************************


; ****** couleur ordre Basic *************

couleur_basic= RGB ($CD,$27,$40) ;<---- Ceci determine la couleur des Ordres Basic (for to next ect ...)

r5$= Hex ( Red (couleur_basic))
v5$= Hex ( Green (couleur_basic))
b5$= Hex ( Blue (couleur_basic))
couleur_basic$= "#" +r5$+v5$+b5$
couleur_basic$= LTrim (couleur_basic$)
; *******************************



comme tu vois tu peut redefinir facilement les couleurs , mais le probleme , c'est de rester compatible avec les themes du Forum , certains ont un fond de couleur foncé , d'autre clair ! le choix des couleurs va etre restreint !
car tu peut avoir un beau resultat chez toi, mais , quelqu'un d'autre ne verra meme pas certaines partie de code ! , voile le probleme ! :D

Publié : sam. 12/nov./2005 1:24
par Frenchy Pilou
Honte à moi, je n'avais pas regardé le source de près :oops:

Publié : sam. 12/nov./2005 10:30
par erix14
Dobro, tu n'as pas pris en compte le code que j'ai donné pour que Colorer fasse la différence entre du texte et autres choses... quand on fait un copier.
Je le remets donc ici :


Case #WM_DRAWCLIPBOARD ;{

      If PressePapierPlein = #Vide
          PriList = #CF_TEXT
           If GetPriorityClipboardFormat_(@PriList, 1) = #CF_TEXT
               PressePapierPlein = #Plein
                PlaySound (0,0)
               InvalidateRect_( WindowID ,RectImage1, #True )
           EndIf
      EndIf ;}



Publié : sam. 12/nov./2005 11:04
par Backup
:oops: oooops !! je l'avais integré dans une de mes versions
mais a force de refaire le code (a cause (grace) de ton analyseur syntaxique
je suis reparti de zero ), j'ai oublier ce petit bout de code !

je repare ça tout de suite ! :D



voila c'est ajouté dans l'archive et dans le dernier source posté plus haut !

Merci a toi Erix14 :D

Publié : sam. 12/nov./2005 11:45
par Anonyme2
En sélectionnant un gros code dans le presse-papier, ça plante ligne 123

Invalide memory acces

Surement du au fait que l'on tente d'allouer une chaîne > 64 Ko dans la variable texte text$

il faudrait récupérer la taille du presse-papier et allouer aux chaines la taille max correspondante

Publié : sam. 12/nov./2005 12:01
par Backup
aaaaarg ! quel ane ! ça aussi j'ai oublié de le rajouter ! :lol:

je m'en occupe......






Voila c'est fait ! :D

Publié : sam. 12/nov./2005 12:46
par Backup
j'en ai profité pour ajouter "la chasse au Smiley" !!

c'est inclus dans l'archive !
et le source ci-dessus
a savoir qu'un bug du Forum fait apparaitre le 8O a la place de huit et O majuscule !

ceci n'aura pas lieu avec le code coloré , puisqu'il est transformé ! :D

mais je vous conseille de ne pas utiliser le code presenté sur le forum
mais plutot celui se trouvant dans l'archive !
le code sur le forum est juste une presentation . :D

a recuperer donc ici : http://michel.dobro.free.fr/bidouilles/colorer.rar


dites moi que maintenant ça marche , allez ! :D