IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

crée un colorateur syntaxique


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club Avatar de timiti29
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 60
    Points
    60
    Par défaut crée un colorateur syntaxique
    bonjour en ce moment j'ai crée un petit éditeur de texte et je voudrai colorer certain mot contenu dans le chant de texte
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    # -*- coding: iso-8859-1 -*-
    #------------------------------IMPORTATION--------------------#
    import Tkinter
    import tkFileDialog as Selector
    #------------------------------FONTION---------------------------#
    def ouvrir(ev=None):
          #Selection du fichier avec filtre .txt :
          file2=Selector.askopenfilename(filetypes = [("Fichiers Tim","*.tim")])
          fd=open(file2, 'r')
          chaine=fd.read()
          chaine2=""
          for lettre in reversed(chaine):
               chaine2 += lettre
          texte.insert(Tkinter.END,chaine2)
          fichier_courant = file2
    def sauvegarder(texte):
        #Fenêtre de sauvegarde 
        fichier=Selector.asksaveasfilename(filetypes = [("Fichiers Tim","*.tim")])
        fichier = str(fichier)
        fichiereverse = ""#chaine inversee
        for fichier2 in reversed(fichier):
            fichiereverse += fichier2
        extentionreverse = fichiereverse[:4]
        extention=""
        for extention2 in reversed(extentionreverse):
            extention += extention2
        if extention != ".tim":
            fichier= fichier + ".tim"
        fd2=open(fichier, 'w')
        texte2=""
        for lettre in reversed(texte):
            texte2 += lettre
        fd2.write(texte2)
        fd2.close()
    def ascenseur():
         scrollbar = Tkinter.Scrollbar(racine)
         scrollbar.pack(side=Tkinter.RIGHT, fill=Tkinter.BOTH)
    def quitter(ev=None):
           racine.destroy()
    def a_propos(ev=None):
          propos=Tkinter.Toplevel()
          propos.geometry("220x150")
          propos.grab_set()
          propos.focus_set()
          #Mise en place du titre:
          propos.title("A propos de Editim")
          #Mise de l'icone en haut a gauche de la fenetre :
          propos.iconbitmap("Editim.ico")
          zoneTexte=Tkinter.Label(propos, text="Version du 4 avril 2009\n\nPar Timothe Pennec en Python 2.4\n\nLogiciel crée pour Windows XP\n\nderniere mise a jpour le 08/05/09\n")
          zoneTexte.pack()
          bouton = Tkinter.Button(propos, text="OK", command=propos.destroy).pack()
     
    #-----------------------------FENETRE-------------------------------#
     
    racine=Tkinter.Tk()
    fichier_courant = "nouveau fichier"
    #Mise en place du titre:
    racine.title("Editim v1.0")
    #Mise de l'icone en haut a gauche de la fenetre :
    racine.iconbitmap("Editim.ico")
     
    #-----------------------------MENU---------------------------------#
     
    #menu Fichier :
     
    # Creation du systeme de menu (variable explicite sysdemenu):
    sysdemenu = Tkinter.Menu(racine)
    # Creation du menu Fichier :
    Fichier = Tkinter.Menu(sysdemenu, tearoff=0)
    #Partie Fichier :
    sysdemenu.add_cascade(label="Fichier", menu=Fichier)
    #Sous partie :
    Fichier.add_command(label="Ouvrir             Ctrl + o", command=ouvrir)
    Fichier.add_separator()#Separateur (bar de separation grise)
    Fichier.add_command(label="Sauvegarder    Ctrl + s", command=lambda: sauvegarder(texte.get(0., Tkinter.END)))
    Fichier.add_separator()#Separateur (bar de separation grise)
    Fichier.add_command(label="Quitter            Ctrl + q", command=quitter)
     
    # Creation du menu ? :
    intero = Tkinter.Menu(sysdemenu, tearoff=0)
    #Partie Fichier :
    sysdemenu.add_cascade(label="?", menu=intero)
    #Sous partie :
    intero.add_command(label="A propos de Editim    F1", command=a_propos)
    #-----------------------------Racourci clavier-----------------------#
     
    Fichier.bind_all('<Control-o>', ouvrir)         #Ctrl + o pour l'ancer l'ouverture du fichier
    Fichier.bind_all('<Control-s>', sauvegarder)#Ctrl + s pour enregistrer
    Fichier.bind_all('<Control-q>', quitter)        #Ctrl + q pour quitter
    intero.bind_all('<F1>', a_propos)                 #F1 l'ancer la fenêtre a_propos
    #-----------------------------------------------------------------------#
     
    #On met en place l'ascenseur :
    ascenseur()
    #Prevoit une place pour l'affichage des textes :
    texte=Tkinter.Text(racine)
    texte.pack(side=Tkinter.TOP, expand=True,fill=Tkinter.BOTH)
    #Insertion du menu
    racine.config(menu=sysdemenu)
    racine.mainloop()
    comment faire?
    timiti29
    ps:je travaille avec l'idle inclus dans l'installation de python et je sis sous xp
    Allez sur mon site : http://timituto.free.fr/ !!!
    J'ai Windows XP pro, Linux Mandriva FREE 2010.1 spring. Utilisant Gnome !!!

  2. #2
    Membre confirmé
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Points : 618
    Points
    618
    Par défaut
    Voici un petit exemple.
    Tu peut également extraire le texte puis utiliser les regex si tu ne veux pas utiliser Text.search

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    from tkinter import *
     
    root = Tk()
    text = Text( root )
    text.grid()
     
    leText = """
    b = 55
    a = 'salut'
    """
     
     
    text.insert( 'end', leText )
     
     
    # Recherche.
    nmbChar = IntVar()
    lastPos = "1.0"
    # Nombre.
    while 1 :
        lastPos = text.search( "\d+" , index = lastPos, stopindex = 'end', regexp = 1, count = nmbChar )
        if lastPos == "" :
            break
        # Ajout d'un tag
        text.tag_add( 'number', lastPos, "%s + %d chars" % ( lastPos, nmbChar.get() )  )
        lastPos = "%s + 1 chars" % lastPos
     
    lastPos = "1.0"
     
    # chaine.
    while 1 :
        lastPos = text.search( "'.*'" , index = lastPos, stopindex = 'end', regexp = 1, count = nmbChar )
        if lastPos == "" :
            break
        text.tag_add( 'string', lastPos, "%s + %d chars" % ( lastPos, nmbChar.get() )  )
        lastPos = "%s + 1 chars" % lastPos
     
    text.tag_configure( 'number', foreground = 'red')
    text.tag_configure( 'string', foreground = 'green')
     
     
     
    root.mainloop()
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

  3. #3
    Membre du Club Avatar de timiti29
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 60
    Points
    60
    Par défaut crée un colorateur syntaxique
    merci de ta réponses je voulais avoir des explication consernent le code ou si tu a des lien vers des doc sa m' intéresse merci
    timiti29
    ps et aussi quand je tape un nombre ex 140 il devrai être en rouge et ben sa fait rien!
    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
     
    # -*- coding: iso-8859-1 -*-
    #------------------------------IMPORTATION--------------------#
    import Tkinter
    import tkFileDialog as Selector
    from Tkinter import *
    #------------------------------FONTION---------------------------#
    def ouvrir(ev=None):
          #Selection du fichier avec filtre .txt :
          file2=Selector.askopenfilename(filetypes = [("Fichiers Texte","*.txt")])
          fd=open(file2, 'r')
          chaine=fd.read()
          texte.insert(Tkinter.END,chaine)
          fichier_courant = file2
    def sauvegarder(texte):
        #Fenêtre de sauvegarde 
        fichier=Selector.asksaveasfilename(filetypes = [("Fichiers Texte","*.txt")])
        fichier = str(fichier)
        fichiereverse = ""#chaine inversee
        for fichier2 in reversed(fichier):
            fichiereverse += fichier2
        extentionreverse = fichiereverse[:4]
        extention=""
        for extention2 in reversed(extentionreverse):
            extention += extention2
        if extention != ".txt":
            fichier= fichier + ".txt"
        fd2=open(fichier, 'w')
        texte2=texte
        fd2.write(texte2)
        fd2.close()
    def ascenseur():
         scrollbar = Tkinter.Scrollbar(racine)
         scrollbar.pack(side=Tkinter.RIGHT, fill=Tkinter.BOTH)
    def quitter(ev=None):
           racine.destroy()
    def a_propos(ev=None):
          propos=Tkinter.Toplevel()
          propos.geometry("220x150")
          propos.grab_set()
          propos.focus_set()
          #Mise en place du titre:
          propos.title("A propos de Editim")
          #Mise de l'icone en haut a gauche de la fenetre :
          propos.iconbitmap("Editim.ico")
          zoneTexte=Tkinter.Label(propos, text="Version du 4 avril 2009\n\nPar Timothe Pennec en Python 2.4\n\nLogiciel crée pour Windows XP\n\nderniere mise a jpour le 08/05/09\n")
          zoneTexte.pack()
          bouton = Tkinter.Button(propos, text="OK", command=propos.destroy).pack()
    def recherche():
          # Recherche.
          nmbChar = IntVar()
          lastPos = "1.0"
          # Nombre.
          while 1 :
                lastPos = texte.search( "\d+" , index = lastPos, stopindex = 'end', regexp = 1, count = nmbChar )
                if lastPos == "" :
                      break
                # Ajout d'un tag
                texte.tag_add( 'number', lastPos, "%s + %d chars" % ( lastPos, nmbChar.get() )  )
                lastPos = "%s + 1 chars" % lastPos
                lastPos = "1.0"
          texte.tag_configure( 'number', foreground = 'red')
     
    #-----------------------------FENETRE-------------------------------#
     
    racine=Tkinter.Tk()
    fichier_courant = "nouveau fichier"
    #Mise en place du titre:
    racine.title("Editim v1.0")
    #Mise de l'icone en haut a gauche de la fenetre :
    racine.iconbitmap("Editim.ico")
     
    #-----------------------------MENU---------------------------------#
     
    #menu Fichier :
     
    # Creation du systeme de menu (variable explicite sysdemenu):
    sysdemenu = Tkinter.Menu(racine)
    # Creation du menu Fichier :
    Fichier = Tkinter.Menu(sysdemenu, tearoff=0)
    #Partie Fichier :
    sysdemenu.add_cascade(label="Fichier", menu=Fichier)
    #Sous partie :
    Fichier.add_command(label="Ouvrir             Ctrl + o", command=ouvrir)
    Fichier.add_separator()#Separateur (bar de separation grise)
    Fichier.add_command(label="Sauvegarder    Ctrl + s", command=lambda: sauvegarder(texte.get(0., Tkinter.END)))
    Fichier.add_separator()#Separateur (bar de separation grise)
    Fichier.add_command(label="Quitter            Ctrl + q", command=quitter)
     
    # Creation du menu ? :
    intero = Tkinter.Menu(sysdemenu, tearoff=0)
    #Partie Fichier :
    sysdemenu.add_cascade(label="?", menu=intero)
    #Sous partie :
    intero.add_command(label="A propos de Editim    F1", command=a_propos)
    #-----------------------------Racourci clavier-----------------------#
     
    Fichier.bind_all('<Control-o>', ouvrir)         #Ctrl + o pour l'ancer l'ouverture du fichier
    Fichier.bind_all('<Control-s>', sauvegarder)#Ctrl + s pour enregistrer
    Fichier.bind_all('<Control-q>', quitter)        #Ctrl + q pour quitter
    intero.bind_all('<F1>', a_propos)                 #F1 l'ancer la fenêtre a_propos
    #-----------------------------------------------------------------------#
     
     
    #On met en place l'ascenseur :
    ascenseur()
    #Prevoit une place pour l'affichage des textes :
    texte=Tkinter.Text(racine)
    texte.pack(side=Tkinter.TOP, expand=True,fill=Tkinter.BOTH)
    #on recherche pour colorer les nombre
    recherche()
    #Insertion du menu
    racine.config(menu=sysdemenu)
    if __name__ == "__main__":
          racine.mainloop()
    Allez sur mon site : http://timituto.free.fr/ !!!
    J'ai Windows XP pro, Linux Mandriva FREE 2010.1 spring. Utilisant Gnome !!!

  4. #4
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Dans ton code ,tu faisais une boucle infinie en faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lastPos = "%s + 1 chars" % lastPos
    lastPos = "1.0"
    Je t'ai mis une fonction qui marche ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    def recherche():
          # Recherche.
          nmbChar = IntVar()
          lastPos = "1.0"
          # Nombre.
          while 1 :
                lastPos = texte.search( "\d+" , index = lastPos, stopindex = 'end', regexp = 1, count = nmbChar )
                if lastPos == "" :
                      break
                # Ajout d'un tag
                texte.tag_add( 'number', lastPos, "%s + %d chars" % ( lastPos, nmbChar.get() )  )
                lastPos = "%s + 1 chars" % lastPos
          texte.tag_configure( 'number', foreground = 'red')
    Et pour que la coloration se fasse au chargement du fichier,il faut bien sûr penser à appeler ta fonction recherche

    PS: Si tu veux colorer au fur et à mesure que tu tapes,tu dois placer un gestionnaire d'évènement qui détecte les pression du clavier,et qui va exécuter la fonction recherche
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  5. #5
    Membre du Club Avatar de timiti29
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 60
    Points
    60
    Par défaut crée un colorateur syntaxique
    merci sa marche et j'ai personaliser pour que sa colore le code en direct et au chargement du fichier !
    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    # -*- coding: iso-8859-1 -*-
    #------------------------------IMPORTATION--------------------#
    import Tkinter
    import tkFileDialog as Selector
    from Tkinter import *
    #------------------------------FONTION---------------------------#
    def ouvrir(ev=None):
          #Selection du fichier avec filtre .txt :
          file2=Selector.askopenfilename(filetypes = [("Fichiers Texte","*.txt")])
          fd=open(file2, 'r')
          chaine=fd.read()
          texte.insert(Tkinter.END,chaine)
          fichier_courant = file2
          recherche()
    def sauvegarder(texte):
        #Fenêtre de sauvegarde 
        fichier=Selector.asksaveasfilename(filetypes = [("Fichiers Texte","*.txt")])
        fichier = str(fichier)
        fichiereverse = ""#chaine inversee
        for fichier2 in reversed(fichier):
            fichiereverse += fichier2
        extentionreverse = fichiereverse[:4]
        extention=""
        for extention2 in reversed(extentionreverse):
            extention += extention2
        if extention != ".txt":
            fichier= fichier + ".txt"
        fd2=open(fichier, 'w')
        texte2=texte
        fd2.write(texte2)
        fd2.close()
    def ascenseur():
         scrollbar = Tkinter.Scrollbar(racine)
         scrollbar.pack(side=Tkinter.RIGHT, fill=Tkinter.BOTH)
    def quitter(ev=None):
           racine.destroy()
    def a_propos(ev=None):
          propos=Tkinter.Toplevel()
          propos.geometry("220x150")
          propos.grab_set()
          propos.focus_set()
          #Mise en place du titre:
          propos.title("A propos de Editim")
          #Mise de l'icone en haut a gauche de la fenetre :
          propos.iconbitmap("Editim.ico")
          zoneTexte=Tkinter.Label(propos, text="Version du 4 avril 2009\n\nPar Timothe Pennec en Python 2.4\n\nLogiciel crée pour Windows XP\n\nderniere mise a jpour le 08/05/09\n")
          zoneTexte.pack()
          bouton = Tkinter.Button(propos, text="OK", command=propos.destroy).pack()
    def recherche(ev=None):
          # Recherche.
          nmbChar = IntVar()
          lastPos = "1.0"
          # Nombre.
          while 1 :
                lastPos = texte.search( "\d+" , index = lastPos, stopindex = 'end', regexp = 1, count = nmbChar )
                if lastPos == "" :
                      break
                # Ajout d'un tag
                texte.tag_add( 'number', lastPos, "%s + %d chars" % ( lastPos, nmbChar.get() )  )
                lastPos = "%s + 1 chars" % lastPos
          texte.tag_configure( 'number', foreground = 'red')
     
     
    #-----------------------------FENETRE-------------------------------#
     
    racine=Tkinter.Tk()
    fichier_courant = "nouveau fichier"
    #Mise en place du titre:
    racine.title("Editim v1.0")
    #Mise de l'icone en haut a gauche de la fenetre :
    racine.iconbitmap("Editim.ico")
     
    #-----------------------------MENU---------------------------------#
     
    #menu Fichier :
     
    # Creation du systeme de menu (variable explicite sysdemenu):
    sysdemenu = Tkinter.Menu(racine)
    # Creation du menu Fichier :
    Fichier = Tkinter.Menu(sysdemenu, tearoff=0)
    #Partie Fichier :
    sysdemenu.add_cascade(label="Fichier", menu=Fichier)
    #Sous partie :
    Fichier.add_command(label="Ouvrir             Ctrl + o", command=ouvrir)
    Fichier.add_separator()#Separateur (bar de separation grise)
    Fichier.add_command(label="Sauvegarder    Ctrl + s", command=lambda: sauvegarder(texte.get(0., Tkinter.END)))
    Fichier.add_separator()#Separateur (bar de separation grise)
    Fichier.add_command(label="Quitter            Ctrl + q", command=quitter)
     
    # Creation du menu ? :
    intero = Tkinter.Menu(sysdemenu, tearoff=0)
    #Partie Fichier :
    sysdemenu.add_cascade(label="?", menu=intero)
    #Sous partie :
    intero.add_command(label="A propos de Editim    F1", command=a_propos)
    #-----------------------------Racourci clavier-----------------------#
     
    Fichier.bind_all('<Control-o>', ouvrir)         #Ctrl + o pour l'ancer l'ouverture du fichier
    Fichier.bind_all('<Control-s>', sauvegarder)#Ctrl + s pour enregistrer
    Fichier.bind_all('<Control-q>', quitter)        #Ctrl + q pour quitter
    intero.bind_all('<F1>', a_propos)                 #F1 l'ancer la fenêtre a_propos
    #-----------------------------------------------------------------------#
     
     
    #On met en place l'ascenseur :
    ascenseur()
    #Prevoit une place pour l'affichage des textes :
    texte=Tkinter.Text(racine)
    texte.pack(side=Tkinter.TOP, expand=True,fill=Tkinter.BOTH)
    #on recherche pour colorer les nombre
    racine.bind_all('<Key>', recherche)
    #Insertion du menu
    racine.config(menu=sysdemenu)
    if __name__ == "__main__":
          racine.mainloop()
    voila
    timiti29
    Allez sur mon site : http://timituto.free.fr/ !!!
    J'ai Windows XP pro, Linux Mandriva FREE 2010.1 spring. Utilisant Gnome !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PB de tables créées sous Windev
    Par Reynald dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/04/2004, 10h22
  2. Test table créée
    Par Fabsou dans le forum Langage SQL
    Réponses: 7
    Dernier message: 09/02/2004, 15h08
  3. Coloration syntaxique
    Par _-Sky-_ dans le forum Composants
    Réponses: 4
    Dernier message: 03/01/2004, 21h58
  4. [Vb.net] Indexé un objet crée dans une boucle
    Par picpic dans le forum Windows Forms
    Réponses: 10
    Dernier message: 17/12/2003, 14h37
  5. Coloration syntaxique ASM dans un RichEdit
    Par Crick dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/12/2002, 01h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo