begin process at 2012 02 13 21:17:42
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > COULEUR VB

COULEUR VB


 Information sur la source

Note :
6 / 10 - par 2 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Niveau :Initié Date de création :05/07/2002 Date de mise à jour :05/07/2002 13:21:48 Vu / téléchargé :5 818 / 194

Auteur : patdeterre

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Comme tu le sais, lorsque tu imprime ton code avec VB. Il ne met pas les couleurs. Alors que c'est très pratique et cela te permet de mieux te situer.
Le programme va mettre les couleurs comme VB. Tu pourra l'imprimer ou faire un copier coller vers Word. Il garde les couleurs c'est çà qui est intéressant.

Source

  • '----------------- Commentaire ----------------------------------------------------------------------------------------
  • ' Créer : 21/05/2002
  • ' Version 1.0 : Dernier modif le 07/04/2002
  • 'Ajoute dans un formulaire
  • - un richtextbox : rtbProgram
  • - un boite texte : txtEtat
  • - un progress bar : pgb
  • - un commandbutton : cmdCouleur
  • '---------------------------------------------------------------------------------------------------------
  • Option Explicit
  • Const BLEU = 8650752
  • Const VERT = 33280
  • Const NOIR = 0
  • Dim ListMot
  • Private Sub Form_Load()
  • ListMot = Array("And", "As", "Boolean", "ByRef", "Byte", "ByVal", "Call", "Case" _
  • , "Case Is", "Close", "Const", "Declare", "Dim", "Do", "DoEvents", "Else" _
  • , "ElseIf", "End", "Enum", "Error", "Events", "Exit", "Exit For", "False" _
  • , "FileCopy", "For", "Function", "GoTo", "If", "Input", "Integer", "Line" _
  • , "Long", "Loop", "New", "Next", "Not", "Object", "On", "Open", "Option Explicit" _
  • , "Or", "Output", "Print", "Private", "Public", "Resume", "Select", "Set" _
  • , "Single", "String", "Sub", "Then", "To", "True", "Type", "Wend", "While", "With")
  • With rtbProgram.Font
  • .Name = "Courier New"
  • .Size = 8.5
  • .Bold = False
  • .Italic = False
  • End With
  • rtbProgram.Text = ""
  • End Sub
  • Private Sub cmdCouleur_Click()
  • Dim i As Long
  • Dim Debut As Long, DebutMot As Long
  • Dim posGuilD As Long, posGuilF As Long, nbGuil As Integer
  • Dim TextLine As String, LinePrec As String
  • If rtbProgram.Text = "" Then Exit Sub
  • txtEtat.Visible = True
  • rtbProgram.Visible = False
  • If Mid(rtbProgram.Text, 1, 2) <> vbCrLf Then rtbProgram.Text = vbCrLf & rtbProgram.Text
  • 'Permet d'avoir un progress bar fluide
  • pgb.Min = 0
  • pgb.Max = 100
  • pgb.Visible = True
  • pgb.Value = 0
  • rtbProgram.SelStart = 0
  • rtbProgram.SelLength = Len(rtbProgram.Text)
  • With rtbProgram.Font
  • .Name = "Courier New"
  • .Size = 8.5
  • .Bold = False
  • .Italic = False
  • End With
  • 'Recherche les mots en bleu
  • DoEvents
  • For i = 0 To UBound(ListMot)
  • Debut = 1
  • Do
  • DebutMot = InStr(Debut, rtbProgram.Text, ListMot(i), vbBinaryCompare)
  • If DebutMot <> 0 Then
  • Debut = DebutMot + Len(ListMot(i))
  • TextLine = Mid(rtbProgram.Text, DebutMot - 1, 1)
  • If (Mid(rtbProgram.Text, DebutMot - 2, 2) = vbCrLf Or TextLine = " " Or TextLine = "(" Or TextLine = "(" Or TextLine = ")") Then
  • TextLine = Mid(rtbProgram.Text, Debut, 1)
  • If (Mid(rtbProgram.Text, Debut, 2) = vbCrLf Or TextLine = " " Or TextLine = "," Or TextLine = "(" Or TextLine = ")" Or TextLine = ":") Then
  • rtbProgram.SelStart = DebutMot - 1
  • rtbProgram.SelLength = Len(ListMot(i)) + 1
  • rtbProgram.SelColor = BLEU
  • End If
  • End If
  • End If
  • Loop While DebutMot <> 0
  • pgb.Value = (i + 1) * 75 / UBound(ListMot)
  • Next i
  • 'Ce qui est compliqué là de dans c'est que j'utilise mais variable pour tout et n'importe quoi
  • 'Met en vert les commentaires
  • Debut = 1
  • Do
  • 'Verifie que le commentaire n'est pes entre Guillemet
  • DebutMot = InStr(Debut, rtbProgram.Text, "'", vbTextCompare)
  • If DebutMot <> 0 Then
  • pgb.Value = 75 + (DebutMot * 25 / Len(rtbProgram.Text))
  • 'Enregistre la ligne qui contient le caractère "'" dans TextLine
  • Debut = InStr(DebutMot, rtbProgram.Text, vbCrLf, vbTextCompare)
  • posGuilD = InStrRev(rtbProgram.Text, vbCrLf, Debut)
  • TextLine = Mid(rtbProgram.Text, posGuilD + 2, Debut - posGuilD - 2)
  • 'Recherche la position du guillemet suivant
  • posGuilF = InStr(DebutMot - posGuilD, TextLine, Chr(34), vbTextCompare)
  • 'Compte le nombre de guillemet
  • nbGuil = -1
  • posGuilD = DebutMot - posGuilD
  • Do
  • nbGuil = nbGuil + 1
  • posGuilD = InStrRev(TextLine, Chr(34), posGuilD) - 1
  • Loop While posGuilD <> -1
  • 'S'il n'y a pas de guillemet devant ou s'il y en un nombre pair de guillemet
  • 'devant c'est bon, c'est un commentaire
  • If posGuilF = 0 Or nbGuil Mod 2 = 0 Then
  • rtbProgram.SelStart = DebutMot - 1
  • rtbProgram.SelLength = Debut - DebutMot
  • rtbProgram.SelColor = VERT
  • End If
  • End If
  • Debut = DebutMot + 1
  • DoEvents
  • Loop While DebutMot <> 0
  • pgb.Value = pgb.Max
  • rtbProgram.SelStart = 0
  • rtbProgram.SelLength = 0
  • txtEtat.Visible = False
  • rtbProgram.Visible = True
  • rtbProgram.SetFocus
  • End Sub
'----------------- Commentaire ----------------------------------------------------------------------------------------
' Créer : 21/05/2002
' Version 1.0   : Dernier modif le 07/04/2002

'Ajoute dans un formulaire
  - un richtextbox : rtbProgram
  - un boite texte : txtEtat
  - un progress bar : pgb
  - un commandbutton : cmdCouleur
'---------------------------------------------------------------------------------------------------------

Option Explicit

Const BLEU = 8650752
Const VERT = 33280
Const NOIR = 0

Dim ListMot

Private Sub Form_Load()
  ListMot = Array("And", "As", "Boolean", "ByRef", "Byte", "ByVal", "Call", "Case" _
    , "Case Is", "Close", "Const", "Declare", "Dim", "Do", "DoEvents", "Else" _
    , "ElseIf", "End", "Enum", "Error", "Events", "Exit", "Exit For", "False" _
    , "FileCopy", "For", "Function", "GoTo", "If", "Input", "Integer", "Line" _
    , "Long", "Loop", "New", "Next", "Not", "Object", "On", "Open", "Option Explicit" _
    , "Or", "Output", "Print", "Private", "Public", "Resume", "Select", "Set" _
    , "Single", "String", "Sub", "Then", "To", "True", "Type", "Wend", "While", "With")

  With rtbProgram.Font
    .Name = "Courier New"
    .Size = 8.5
    .Bold = False
    .Italic = False
  End With
  rtbProgram.Text = ""

End Sub

Private Sub cmdCouleur_Click()
Dim i As Long
Dim Debut As Long, DebutMot As Long
Dim posGuilD As Long, posGuilF As Long, nbGuil As Integer
Dim TextLine As String, LinePrec As String
  If rtbProgram.Text = "" Then Exit Sub
  txtEtat.Visible = True
  rtbProgram.Visible = False
  If Mid(rtbProgram.Text, 1, 2) <> vbCrLf Then rtbProgram.Text = vbCrLf & rtbProgram.Text
  'Permet d'avoir un progress bar fluide
  pgb.Min = 0
  pgb.Max = 100
  pgb.Visible = True
  pgb.Value = 0
  
  rtbProgram.SelStart = 0
  rtbProgram.SelLength = Len(rtbProgram.Text)
  With rtbProgram.Font
    .Name = "Courier New"
    .Size = 8.5
    .Bold = False
    .Italic = False
  End With
  'Recherche les mots en bleu
  DoEvents
  For i = 0 To UBound(ListMot)
    Debut = 1
    Do
      DebutMot = InStr(Debut, rtbProgram.Text, ListMot(i), vbBinaryCompare)
      If DebutMot <> 0 Then
        Debut = DebutMot + Len(ListMot(i))
        TextLine = Mid(rtbProgram.Text, DebutMot - 1, 1)
        If (Mid(rtbProgram.Text, DebutMot - 2, 2) = vbCrLf Or TextLine = " " Or TextLine = "(" Or TextLine = "(" Or TextLine = ")") Then
          TextLine = Mid(rtbProgram.Text, Debut, 1)
          If (Mid(rtbProgram.Text, Debut, 2) = vbCrLf Or TextLine = " " Or TextLine = "," Or TextLine = "(" Or TextLine = ")" Or TextLine = ":") Then
            rtbProgram.SelStart = DebutMot - 1
            rtbProgram.SelLength = Len(ListMot(i)) + 1
            rtbProgram.SelColor = BLEU
          End If
        End If
      End If
    Loop While DebutMot <> 0
    pgb.Value = (i + 1) * 75 / UBound(ListMot)
  Next i
  
  'Ce qui est compliqué là de dans c'est que j'utilise mais variable pour tout et n'importe quoi
  'Met en vert les commentaires
  Debut = 1
  Do
    'Verifie que le commentaire n'est pes entre Guillemet
    DebutMot = InStr(Debut, rtbProgram.Text, "'", vbTextCompare)
    If DebutMot <> 0 Then
      pgb.Value = 75 + (DebutMot * 25 / Len(rtbProgram.Text))
      'Enregistre la ligne qui contient le caractère "'" dans TextLine
      Debut = InStr(DebutMot, rtbProgram.Text, vbCrLf, vbTextCompare)
      posGuilD = InStrRev(rtbProgram.Text, vbCrLf, Debut)
      TextLine = Mid(rtbProgram.Text, posGuilD + 2, Debut - posGuilD - 2)
      'Recherche la position du guillemet suivant
      posGuilF = InStr(DebutMot - posGuilD, TextLine, Chr(34), vbTextCompare)
      'Compte le nombre de guillemet
      nbGuil = -1
      posGuilD = DebutMot - posGuilD
      Do
        nbGuil = nbGuil + 1
        posGuilD = InStrRev(TextLine, Chr(34), posGuilD) - 1
      Loop While posGuilD <> -1
      'S'il n'y a pas de guillemet devant ou s'il y en un nombre pair de guillemet
      'devant c'est bon, c'est un commentaire
      If posGuilF = 0 Or nbGuil Mod 2 = 0 Then
        rtbProgram.SelStart = DebutMot - 1
        rtbProgram.SelLength = Debut - DebutMot
        rtbProgram.SelColor = VERT
      End If
    End If
    Debut = DebutMot + 1
    DoEvents
  Loop While DebutMot <> 0

  pgb.Value = pgb.Max
  rtbProgram.SelStart = 0
  rtbProgram.SelLength = 0
  txtEtat.Visible = False
  rtbProgram.Visible = True
  rtbProgram.SetFocus
End Sub

 Conclusion

Pour avoir des explications ou pour avoir la dernière version envoyer moi un mail sur patdeterre@aol.com

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip CRAPETTE
Source avec Zip Source avec une capture GAGNER AU LOTO
Source avec Zip AOL CONNECTEUR ( AOLDECO )
Source avec Zip Source avec une capture CONTROLE WINAMP COMPLETEMENT

 Sources de la même categorie

Source avec Zip TEXTBOX EN NUMÉRIQUE par 320C
Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200
SOUS-TITRES : INCRÉMENTATION DE TOUTES LES CHAÎNES DE CARACT... par ALMIRA
Source avec Zip Source avec une capture EVALUER UN NOMBRE D'OBJETS AVEC UNE BALANCE ET DEUX ÉCHANTIL... par lexsty
Source avec Zip Source avec une capture PETIT LOGICIEL DE DEVIS SANS BD par lololilizozo

Commentaires et avis

Commentaire de max12 le 05/07/2002 18:27:28 administrateur CS

C'est cool, mais faudrais que tu laisse tomber sellenght et tout sa, au lieux faudrais que tu trouve le moyen de générer ton texte au lieux de le modifier, sa serais BEAUCOUPS plus vite

A+

Commentaire de grosiflex le 19/03/2003 10:47:58

Trs bonne idée je trouve !!!!

Commentaire de psy4meuh le 01/07/2003 15:35:23

Nikel...
pour la vitesse, fo juste cacher le RTB quand tu le modifie...
8/10

Commentaire de ghuysmans99 le 09/10/2005 14:01:38

Ca me sera utile ...

9,5/10

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales