Text Gradient - Colorez vos messages !

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Text Gradient - Colorez vos messages !

Message par Ar-S »

Testé sous phpbb et vbulletin, TextGradient permet de créer un dégradé de couleur de vos messages.

Le logiciel génère les bbcodes dans le presse papier à la manière de colorer.
Il utilise ma routine présente ici : http://www.purebasic.fr/french/viewtopi ... =6&t=12280.

Il devrait marcher sur tous les sites utilisant les bbcodes color=#xxxxxx ça en fait un paquet. :)

je vous offre cette première mouture.

Code : Tout sélectionner

Enumeration
  #LDVM
EndEnumeration

Enumeration
  #O_bbcode
 ; #O_html
  #Frame3D
  #MESSAGE
  #Text_4
  #TXT_Couleur
  #O_Bleu
  #O_Rouge
  #O_Vert
  #O_jaune
  #O_magenta
  #BT_go
  #AFF
EndEnumeration

Global RGBchoice$,v$
v$ = " v1.03"

Procedure.s TextGradient(messageaclolorer$,RGBchoice$="B") 
  
  ; Par Ar-S / oct 2011
  ; V3 Création d'une liste avec les valeurs couleur pour un meilleur rendu
  ; V2 ajout des dégradés vers jaune et magenta
  ; V1 gestion du RVB (RGB)
  
  ; RGBchoice$ - B by default (blue)
  ; Options 
  ;  "R" For red/rouge
  ;  "G"  or "V" For green/vert
  ;  "B" For blue/bleu
  ;  "Y" or "J" for yellow/jaune
  ;  "M" for magenta
  
  ; ex : Result$ = TextGradient(mytext$,"R") ; to make a black to red Gradient text
  
  ; -----------------------------
  ; initialisation
  ARS_TXTcouleur$ = ""
  ARS_Bfin$ = "[/color]"
  ARS_lng.l = Len(messageaclolorer$)
  ARS_GammeCouleur$ = RGBchoice$
  ARS_i = 1
  Global NewList Couleurs.s()
  ; ------------------------------
   
  ; Création de la liste des couleurs de 0 à 255 à 1
  ; la valeur "Saut" peut être modifié
  ; Plus la valeur est grande, plus le dégradé est rapide (pour les textes courts)
  ; Recommandé : 
  ; - textes courts : 3
  ; - texte long : 1
  
  ;Global Saut.l = 3
  
  For i = 0 To 255 Step 3
    
    L$ = Hex(i,#PB_Byte)
    If Len(L$) < 2
      L$ = "0"+L$
    EndIf
    
    AddElement(Couleurs())
    Couleurs() = L$
  Next
  
  For j = 254 To 1 Step -3
    
    L$ = Hex(j,#PB_Byte)
    If Len(L$) < 2
      L$ = "0"+L$
    EndIf
    
    AddElement(Couleurs())
    Couleurs() = L$
  Next
  ; -------------------------------
  
  
  
  ; Boucle qui colorise -------
  ResetList(Couleurs())
  CouleurEnCours.l = 0
  ARS_NbrCouleurs.l = ListSize(Couleurs())
  
  For i = 1 To ARS_lng
    
    ; Lecture lettre à lettre
    ARS_Lettre$ = Mid(messageaclolorer$,i,1)
    
    ; Gestion de la couleur
    
    SelectElement(Couleurs(),CouleurEnCours)
    
    ; Formatage des balises bbcodes
    If ARS_GammeCouleur$ = "R" ; Rouge  
      ARS_B1$ = "[color=#"+Couleurs()+"0000]"
      
    ElseIf ARS_GammeCouleur$ = "G" Or ARS_GammeCouleur$ = "V" ; Vert
      ARS_B1$ = "[color=#00"+Couleurs()+"00]"
      
    ElseIf ARS_GammeCouleur$ = "B" ; Bleu
      ARS_B1$ = "[color=#0000"+Couleurs()+"]"
      
    ElseIf ARS_GammeCouleur$ = "Y" Or ARS_GammeCouleur$ = "J"  
      ARS_B1$ = "[color=#"+Couleurs()+Couleurs()+"00]"
      
    ElseIf ARS_GammeCouleur$ = "M"  
      ARS_B1$ = "[color=#"+Couleurs()+"00"+Couleurs()+"]"  
      
    Else
      ; Sinon par defaut on utilise le Bleu
      ARS_B1$ = "[color=#0000"+Couleurs()+"]"
    EndIf
    ; ---------------------
    
    
    ; Affichage du bbcode complet
    ARS_Lettre$ = ARS_B1$+ARS_Lettre$+ARS_Bfin$
    ARS_TXTcouleur$ + ARS_Lettre$
    ; ---------------------
    
    
    CouleurEnCours + 1
    
    If CouleurEnCours = ARS_NbrCouleurs
      CouleurEnCours = 0
    EndIf
    
  Next
  
  If ARS_TXTcouleur$ = ""
    ProcedureReturn "Erreur"
  Else
    ProcedureReturn ARS_TXTcouleur$
  EndIf  
  
EndProcedure


Procedure OpenWindow_LDVM()
  If OpenWindow(#LDVM, 625, 397, 683, 300, "Text Gradient "+v$+" - Générateur de dégradé en bbcode", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
      StickyWindow(#LDVM,1)
      OptionGadget(#O_bbcode, 10, 55, 295, 25, "Format BBcode")
      ;OptionGadget(#O_html, 300, 55, 295, 25, "Format HTML")
      Frame3DGadget(#Frame3D, 5, 5, 670, 260, "Text Gradient - LDV MULTIMEDIA - http://ldvmultimedia.com")
      EditorGadget(#MESSAGE, 10, 145, 655, 80)
      ;RetourAuto(#MESSAGE)
      TextGadget(#Text_4, 10, 35, 657, 20, "Choisissez le format désirez")
      TextGadget(#TXT_Couleur, 10, 90, 657, 20, "Chosissez la couleur du dégradé")
      OptionGadget(#O_Bleu, 10, 115, 110, 20, "Bleu")
      OptionGadget(#O_Rouge, 140, 115, 110, 20, "Rouge")
      OptionGadget(#O_Vert, 270, 115, 110, 20, "Vert")
      OptionGadget(#O_jaune, 405, 115, 110, 20, "Jaune")
      OptionGadget(#O_magenta, 530, 115, 110, 20, "Magenta")
      ButtonGadget(#BT_go, 10, 230, 170, 25, "Générer")
      StringGadget(#AFF, 5, 275, 674, 23, "Bienvenue", #PB_String_ReadOnly|#ES_CENTER)
      
      SetGadgetState(#O_bbcode,1)
      SetGadgetState(#O_Bleu,1)
      
    EndIf
  EndProcedure

OpenWindow_LDVM()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #O_bbcode
        ;Case #O_html
          
        Case #O_Bleu
          RGBchoice$ = "B"
        Case #O_Rouge
          RGBchoice$ = "R"
        Case #O_Vert
          RGBchoice$ = "V"
        Case #O_jaune
          RGBchoice$ = "J"
        Case #O_magenta
          RGBchoice$ = "M"
          
        Case #BT_go
          texte$ = GetGadgetText(#MESSAGE)
          Result$ = TextGradient(texte$,RGBchoice$)
          
          If Result$ <> "Erreur"
            SetClipboardText(Result$) 
            SetGadgetText(#AFF,"le code a été copié dans le presse papier !")
          Else
            SetGadgetText(#AFF,"Aucun texte n'a été copié !")
          EndIf
          
      EndSelect
      
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #LDVM
          CloseWindow(#LDVM)
          Break
      EndSelect
  EndSelect
ForEver

Dernière modification par Ar-S le lun. 03/oct./2011 17:59, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
venom
Messages : 3136
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Text Gradient - Colorez vos messages !

Message par venom »

Salut,

je test ton programme pour voir ce que ça donne, et si je réussi a l'utilisé

Ma foie c'est tres simple d'utilisation :D ça me rappel le colorer de Dobro et RX14

Bien joué Ar-S



@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Text Gradient - Colorez vos messages !

Message par Kwai chang caine »

Encore un petit utilitaire ingénieux de plus dans ta hotte. 8)
Bientôt tu pourras plus la porter :lol:

Merci beaucoup pour le partage du code 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre