the colorer

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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 !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

heu ! dans mon empressement , j'avais oublié la prise en compte des commentaires !! :crazyeyes:

voici que c'est corrigé ! :D
Dernière modification par Backup le mar. 27/déc./2005 14:32, modifié 9 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

mince !! je viens juste de remodifier le source et l'archive posté ci-dessus !!

maintenant , c'est bon !! :? :D :lol:
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

L'adresse du lien a un blème :(
Est beau ce qui plaît sans concept :)
Speedy Galerie
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ha bah oui ! tiens ! :lol: :lol: :lol:

c'est corrigé . Merci :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message 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)
Est beau ce qui plaît sans concept :)
Speedy Galerie
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

Honte à moi, je n'avais pas regardé le source de près :oops:
Est beau ce qui plaît sans concept :)
Speedy Galerie
erix14
Messages : 480
Inscription : sam. 27/mars/2004 16:44
Contact :

Message 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 ;}


Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

aaaaarg ! quel ane ! ça aussi j'ai oublié de le rajouter ! :lol:

je m'en occupe......






Voila c'est fait ! :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Dernière modification par Backup le sam. 12/nov./2005 12:50, modifié 2 fois.
Répondre