Jeu de pendu sous visual studio 2005 (.net framework 2.0 requis)

Soyez le premier à donner votre avis sur cette source.

Vue 15 394 fois - Téléchargée 22 351 fois

Description

Jeu de pendu, à la fine pointe de la technologie! En effet, une première pour D.R.E.A.M.© et certainement pas une dernière, ce jeu de pendu a été programmé sous Visual Studio 2005, utilisant la nouvelle technologie que personne ne possède(incluse dans l'installation du jeu), il sagit de .Net Framework 2.0! Imaginez, environ 75% des utilisateurs de windows n'avaient même pas la version 1.1 requise pour les programmes fait sous Visual Studio 2003. Peu importe, Ce jeu est pour moi une énorme réuissite car j'ai énormément joué avec les controlles systèmes. J'aurais pu faire un mode ultimatum qui aurait fermer votre ordinateur à la première erreur mais ça aurais été un peu chien! Donc voici pour vous, un jeu de pendu de 50 mots pigés au hasard dans le dictionaire.

Source / Exemple :


' --------------------------------------------------
'|**************************************************|
'|**************Ultimate Pendu 1.9.46***************|
'|*************Par Marc-André Chartrand*************|
'|********Questions, ThePunisher713@gmail.com*******|
'|*****************D.R.E.A.M.© 2005*****************|
'|**************************************************|
' --------------------------------------------------
Imports Microsoft.VisualBasic
Public Class Form1
    Inherits System.Windows.Forms.Form
    Private lettre, deviner, Mots(50), LeMot, cases(18), nom, Scores(100), AvantS, AprèsS As String
    Private nb, nombre, essais, nbchars, i, position, Quitter, victoire, Score, Hs As Integer
    Private chiffres(50), flash, rate(1), son, image, loaded, fin, saved, wrote As Boolean

 + Windows Form Designer generated code

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        lettre = Chr(65)
        Button2.Enabled = False
        charche()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        lettre = Chr(66)
        Button3.Enabled = False
        charche()
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        lettre = Chr(67)
        Button4.Enabled = False
        charche()
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        lettre = Chr(68)
        Button5.Enabled = False
        charche()
    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        lettre = Chr(69)
        Button6.Enabled = False
        charche()
    End Sub

    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        lettre = Chr(70)
        Button7.Enabled = False
        charche()
    End Sub

    Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        lettre = Chr(71)
        Button8.Enabled = False
        charche()
    End Sub

    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        lettre = Chr(72)
        Button9.Enabled = False
        charche()
    End Sub

    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        lettre = Chr(73)
        Button10.Enabled = False
        charche()
    End Sub

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        lettre = Chr(74)
        Button11.Enabled = False
        charche()
    End Sub

    Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
        lettre = Chr(75)
        Button12.Enabled = False
        charche()
    End Sub

    Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
        lettre = Chr(76)
        Button13.Enabled = False
        charche()
    End Sub

    Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
        lettre = Chr(77)
        Button14.Enabled = False
        charche()
    End Sub

    Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
        lettre = Chr(78)
        Button15.Enabled = False
        charche()
    End Sub

    Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
        lettre = Chr(79)
        Button16.Enabled = False
        charche()
    End Sub

    Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
        lettre = Chr(80)
        Button17.Enabled = False
        charche()
    End Sub

    Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
        lettre = Chr(81)
        Button18.Enabled = False
        charche()
    End Sub

    Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.Click
        lettre = Chr(82)
        Button19.Enabled = False
        charche()
    End Sub

    Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click
        lettre = Chr(83)
        Button20.Enabled = False
        charche()
    End Sub

    Private Sub Button21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button21.Click
        lettre = Chr(84)
        Button21.Enabled = False
        charche()
    End Sub

    Private Sub Button22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button22.Click
        lettre = Chr(85)
        Button22.Enabled = False
        charche()
    End Sub

    Private Sub Button23_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button23.Click
        lettre = Chr(86)
        Button23.Enabled = False
        charche()
    End Sub

    Private Sub Button24_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button24.Click
        lettre = Chr(87)
        Button24.Enabled = False
        charche()
    End Sub

    Private Sub Button25_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button25.Click
        lettre = Chr(88)
        Button25.Enabled = False
        charche()
    End Sub

    Private Sub Button26_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button26.Click
        lettre = Chr(89)
        Button26.Enabled = False
        charche()
    End Sub

    Private Sub Button27_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button27.Click
        lettre = Chr(90)
        Button27.Enabled = False
        charche()
    End Sub

    Private Sub Button28_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button28.Click
        deviner = InputBox("Vous savez la réponse? entrez-la ici!", "Entrez le mot").ToUpper
        If deviner = LeMot Then
            MsgBox("Bonne réponse, on passe au suivant?", MsgBoxStyle.OkOnly, "Woaw!! Géant!!!!!")
            Score += 5
            reset()
            Exit Sub
        Else
            Timer2.Enabled = False
            montre_pendu()
        End If
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Timer1.Enabled = False
        GroupBox1.Visible = True
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Sizable
        Me.WindowState = FormWindowState.Normal
        PictureBox2.Visible = False
        Me.Width = 568
        Me.Height = 664
        MenuStrip1.Visible = True
        MsgBox("La Réponse était : " + LeMot)
        reset()
    End Sub
    Public Sub montre_pendu()
        If image = True Then
            Timer1.Enabled = True
            GroupBox1.Visible = False
            Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
            Me.WindowState = FormWindowState.Maximized
            PictureBox2.Size = Me.Size
            PictureBox2.Visible = True
            MenuStrip1.Visible = False
            If son = True Then
                My.Computer.Audio.Play(Application.StartupPath + "\hal-scream.wav")
            End If
        Else
            MsgBox("La Réponse était : " + LeMot)
            reset()
        End If
    End Sub

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If saved = False Then
            Quitter = MsgBox("Désirez-Vous Sauvegarder Avant de Quitter?", MsgBoxStyle.YesNoCancel, "Avant de quitter...")
            Select Case Quitter
                Case 6
                    Sauvegarde()
                    End
                Case 7
                    End
            End Select
        Else
            End
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        On Error GoTo Nofile
        Microsoft.VisualBasic.FileOpen(1, Application.StartupPath + "\Pendu.dll", OpenMode.Input, OpenAccess.Read, OpenShare.Default)
        GoTo filefound
Nofile:
        MsgBox("fichier non trouvé", MsgBoxStyle.Critical, "Erreur")
        Open1.ShowDialog()
        Dim FileName As String
        FileName = Open1.FileName
        Microsoft.VisualBasic.FileOpen(1, FileName, OpenMode.Input, OpenAccess.Read, OpenShare.Default)
filefound:
        Do Until EOF(1)
            nb += 1
            Input(1, Mots(nb))
        Loop
        Microsoft.VisualBasic.FileClose()
        nombre = 0
        rate(1) = True
        rate(0) = False
        victoire = 0
        Score = 0
        son = True
        image = True
        GroupBox1.Enabled = False
        SauvegarderToolStripMenuItem.Enabled = False
        saved = True
        Hs = 0
        Readhighscore()
        Dim form2 As New Form2
    End Sub
    Public Sub charche()
        For i = 1 To nbchars
            If lettre = Mid(LeMot, i, 1) Then
                Mid(Label19.Text, (i * 2) - 1, 1) = lettre
                rate(1) = False
                rate(0) = False
            Else
                If rate(1) = True Then
                    rate(0) = True
                End If
            End If
            If (Mid(Label19.Text, (i * 2) - 1, 1)) = (Mid(LeMot, i, 1)) Then
                victoire += 1
                If victoire = nbchars Then
                    MsgBox("Bonne réponse, on passe au suivant?", MsgBoxStyle.OkOnly, "Woaw!! Géant!!!!!")
                    Score += 1
                    reset()
                    Exit Sub
                End If
            Else
                victoire = 0
            End If
        Next
        If rate(0) = True Then
            If essais = 0 Then
                essais += 1
            End If
            Select Case essais
                Case 1
                    Pb3.Visible = True
                    If rate(0) = True Then
                        essais += 1
                    End If
                Case 2
                    Pb4.Visible = True
                    If rate(0) = True Then
                        essais += 1
                    End If
                Case 3
                    Pb7.Visible = True
                    If rate(0) = True Then
                        essais += 1
                    End If
                Case 4
                    Pb5.Visible = True
                    If rate(0) = True Then
                        essais += 1
                    End If
                Case 5
                    Pb8.Visible = True
                    If rate(0) = True Then
                        essais += 1
                    End If
                Case 6
                    Pb6.Visible = True
                    Timer2.Enabled = True
                    If rate(0) = True Then
                        essais += 1
                    End If
                Case 7
                    Timer2.Enabled = False
                    montre_pendu()
            End Select
        End If
        rate(1) = True
        rate(0) = False
        If essais = 0 Then
            ProgressBar1.Value = essais
        Else
            ProgressBar1.Value = essais - 1
        End If
    End Sub
    Public Sub newmot()
        chiffres(nombre) = False
        For i = 1 To 500
            Randomize()
            nombre = CInt(Int((50 * Rnd()) + 1))
            If chiffres(nombre) = True Then
                Exit For
            End If
            If i = 500 Then
                MsgBox("Partie Terminée,Votre Score Final Est De " + Str(Score), MsgBoxStyle.OkOnly, "Fini")
                fin = True
                Sauvegarde()
                SetHighscore()
                Form2.Show()
                Exit Sub
            End If
        Next
        LeMot = Mots(nombre)
        nbchars = LeMot.Length
        Label19.Text = ""
        For i = 1 To nbchars
            cases(i) = Mid(LeMot, i, 1)
            Label19.Text += "_" + " "
        Next
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        If flash = True Then
            Pb3.Visible = False
            Pb4.Visible = False
            Pb5.Visible = False
            Pb6.Visible = False
            Pb7.Visible = False
            Pb8.Visible = False
            flash = False
            Exit Sub
        End If
        If flash = False Then
            Pb3.Visible = 1
            Pb4.Visible = 1
            Pb5.Visible = 1
            Pb6.Visible = 1
            Pb7.Visible = 1
            Pb8.Visible = 1
            flash = 1
            Exit Sub
        End If
    End Sub
    Public Sub reset()
        Pb3.Visible = False
        Pb4.Visible = False
        Pb5.Visible = False
        Pb6.Visible = False
        Pb7.Visible = False
        Pb8.Visible = False
        flash = False
        LeMot = ""
        newmot()
        essais = 0
        rate(1) = True
        rate(0) = False
        victoire = 0
        Timer2.Enabled = False
        Button2.Enabled = True
        Button3.Enabled = True
        Button4.Enabled = True
        Button5.Enabled = True
        Button6.Enabled = True
        Button7.Enabled = True
        Button8.Enabled = True
        Button9.Enabled = True
        Button10.Enabled = True
        Button11.Enabled = True
        Button12.Enabled = True
        Button13.Enabled = True
        Button14.Enabled = True
        Button15.Enabled = True
        Button16.Enabled = True
        Button17.Enabled = True
        Button18.Enabled = True
        Button19.Enabled = True
        Button20.Enabled = True
        Button21.Enabled = True
        Button22.Enabled = True
        Button23.Enabled = True
        Button24.Enabled = True
        Button25.Enabled = True
        Button26.Enabled = True
        Button27.Enabled = True
        Button28.Enabled = True
        ProgressBar1.Value = 0
        Label1.Text = "Score : " + Str(Score)
        SauvegarderToolStripMenuItem.Enabled = True
        saved = False
    End Sub

    Private Sub NouvellePartieToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NouvellePartieToolStripMenuItem.Click
        nom = InputBox("Entrez votre nom", "Identifiez-Vous", "Joueur1")
        If nom = "" Then
            Exit Sub
        End If
        GroupBox1.Enabled = True
        Label3.Text = "Bienvenue," + nom
        For nombre = 1 To 50
            chiffres(nombre) = True
        Next
        nombre = 0
        reset()
        Score = 0
        newmot()
        rate(1) = True
        rate(0) = False
        victoire = 0
        Score = 0
        fin = False
        Label1.Text = "Score : " + Str(Score)
        son = True
        image = True
    End Sub
    Public Sub Sauvegarde()
        FileOpen(2, Application.StartupPath + "\Saves\" + nom + ".sav", OpenMode.Output, OpenAccess.Write, OpenShare.Default)
        Dim word As Integer
        For word = 1 To 50
            Print(2, Str(chiffres(word)) & vbCrLf)
        Next
        Print(2, Score & vbCrLf)
        Print(2, image & vbCrLf)
        Print(2, son & vbCrLf)
        Print(2, nom & vbCrLf)
        Print(2, fin & vbCrLf)
        FileClose()
        saved = True
    End Sub

    Private Sub SauvegarderToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SauvegarderToolStripMenuItem.Click
        Sauvegarde()
    End Sub

    Private Sub ActiverToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ActiverToolStripMenuItem.Click
        'Active le son du pendu
        son = True
        ActiverToolStripMenuItem.Checked = True
        DésactiverToolStripMenuItem.Checked = False
    End Sub

    Private Sub DésactiverToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DésactiverToolStripMenuItem.Click
        'désactive le son su pendu
        son = False
        DésactiverToolStripMenuItem.Checked = True
        ActiverToolStripMenuItem.Checked = False
    End Sub

    Private Sub ActiverToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ActiverToolStripMenuItem1.Click
        'Affiche L'image du pendu à chaque mot raté
        image = True
        ActiverToolStripMenuItem1.Checked = True
        DésactiverToolStripMenuItem1.Checked = False
    End Sub

    Private Sub DésactiverToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DésactiverToolStripMenuItem1.Click
        'n'Affiche pas L'image du pendu à chaque mot raté
        image = False
        DésactiverToolStripMenuItem1.Checked = True
        ActiverToolStripMenuItem1.Checked = False
    End Sub

    Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click
        'Charge la partie
        Dim charge As Integer
        OpenFileDialog1.FileName = ""
        OpenFileDialog1.InitialDirectory = Application.StartupPath + "\Saves\"
        OpenFileDialog1.ShowDialog()
        If OpenFileDialog1.FileName = "" Then
            Exit Sub
        End If
        FileOpen(2, OpenFileDialog1.FileName, OpenMode.Input, OpenAccess.Read, OpenShare.Default)
        Do Until EOF(2)
            charge += 1
            Select Case charge
                Case 51
                    Input(2, Score)
                Case 1 To 50
                    Input(2, chiffres(charge))
                Case 52
                    Input(2, image)
                Case 53
                    Input(2, son)
                Case 54
                    Input(2, nom)
                Case 55
                    Input(2, fin)
                    Exit Do
            End Select
        Loop
        If fin = True Then
            MsgBox("Partie Déjà Terminée,Veuillez Recommencer Une Nouvelle Partie", MsgBoxStyle.OkOnly, "Fini")
            FileClose()
        Else
            reset()
            Label3.Text = "Bienvenue," + nom
            FileClose()
            GroupBox1.Enabled = True
            SauvegarderToolStripMenuItem.Enabled = True
            If image = True Then
                ActiverToolStripMenuItem1.Checked = True
                DésactiverToolStripMenuItem1.Checked = False
            Else
                DésactiverToolStripMenuItem1.Checked = True
                ActiverToolStripMenuItem1.Checked = False
            End If
            If son = True Then
                ActiverToolStripMenuItem.Checked = True
                DésactiverToolStripMenuItem.Checked = False
            Else
                DésactiverToolStripMenuItem.Checked = True
                ActiverToolStripMenuItem.Checked = False
            End If
            MsgBox("Partie Chargée correctement")
            loaded = True
        End If
    End Sub

    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
        If LeMot = "" Then
            fin = True
        End If
        Timer3.Enabled = False
    End Sub

    Private Sub QuitterToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem1.Click
        If saved = False Then
            Quitter = MsgBox("Désirez-Vous Sauvegarder Avant de Quitter?", MsgBoxStyle.YesNoCancel, "Avant de quitter...")
            Select Case Quitter
                Case 6
                    Sauvegarde()
                    End
                Case 7
                    End
            End Select
        Else
            End
        End If
    End Sub
    Public Sub Readhighscore()
        FileOpen(3, Application.StartupPath + "\Saves\High Scores.txt", OpenMode.Input, OpenAccess.Read, OpenShare.Default)
        Do Until EOF(3)
            Hs += 1
            Input(3, Scores(Hs))
        Loop
        FileClose()
    End Sub

    Public Sub SetHighscore()
        FileOpen(3, Application.StartupPath + "\Saves\High Scores.txt", OpenMode.Output, OpenAccess.Write, OpenShare.Default)
        i = 0
        Do Until i = Hs
            i += 1
            If Scores(1) = "" Then
                AvantS = ""
                AprèsS = ""
                Exit Do
            Else
                If Score > Val(Mid(Scores(i), 1, 3)) Then
                    wrote = True
                Else
                    If Scores(i + 1) = "" Then
                        AprèsS = ""
                    End If
                End If
            End If
            If wrote = False Then
                AvantS += Scores(i) & vbCrLf
            Else
                AprèsS += Scores(i) & vbCrLf
            End If
        Loop
        Print(3, AvantS + Str(Score) + "  " + nom & vbCrLf + AprèsS)
        Hs = 0
        i = 0
        FileClose()
        Readhighscore()
        Sauvegarde()
        AvantS = ""
        AprèsS = ""
        wrote = False
        SauvegarderToolStripMenuItem.Enabled = False
        GroupBox1.Enabled = False
    End Sub

    Private Sub Top5ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Top5ToolStripMenuItem.Click
        Form2.toutlestop = 0
        Form2.Show()
    End Sub

    Private Sub Top10ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Top10ToolStripMenuItem.Click
        Form2.toutlestop = 1
        Form2.Show()
    End Sub

    Private Sub ÀProposDeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ÀProposDeToolStripMenuItem.Click
        Form3.Show()
    End Sub

    Private Sub CommentJouerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommentJouerToolStripMenuItem.Click
        System.Diagnostics.Process.Start(Application.StartupPath + "\README.TXT")
    End Sub
End Class

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
salut THEPUNISHER713 , bon pour commencer tu es punis :)

On Error GoTo Nofile ???
utilises des try catch

Microsoft.VisualBasic.FileOpen(
c'est pas .net
c'est plutot le résultat de la conversion d'un prog vb6

Pendu.dll => c'est n'importe quoi
si tu as peur que les gens regardent la réponse (tricher c'est idiot) tu peux crypter le fichier très simplement
et aussi pour une liste de 50 mots un tableau de string était suffisant pas besoin d'un fichier
Messages postés
5
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
7 juillet 2007

Merci du commentaire pertinent. J'en tiens compte!
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

lol t'aurais du faire un jeu qui mesurerais les chevilles qui hanfle ...
Messages postés
5
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
7 juillet 2007

d'accord, je vais m'y mettre dès que j'aurai 2 minutes et je te tiens au courant. merci beaucoup!
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
les commentaire que j'ai sortie était pour niveau initié, j'aurais jamais dit ça pour une source débutant

pour indexé des objet tu as plusieurs façon.

1- tu te crées un tableau d.object, mais tu pourras pas mettre withevent. donc tu devras créé tes propres handler pour faire tes évênements.

2- tu crées tes boutons normallement et ensuite tu mets des référence dans un tableau qui peut-être utilisé grâce à un patron itérateur (mais les patrons c'est trop avancé, même pour vbfrance, je suis dans les seul a savoir les maitriser).

Donc utilises la méthode numéro 1, tu devrais trouver des info facilement a cherchant handler sur le site ou sur le web.

moi j'aime bien mixer la méthode 1 et 2 en même temps. ça me donne un control beaucoup plus serré sur mes items et je peux les modifier en batch.

En passant, le passage en .net a apporté l'orienté objet. Donc si tu veut pousser encore plus loin, faut tout mixer ensemble. Genre te créé plusieurs class qui extend button. Ensuite te créé une interface avec tes méthode commune entre les boutons. Et tu finis par créé tes item dans un tableau ou une collection de type "nom de ton interface". Mais bon, là je suis rendu trop loin a mixer des patron, de l'orienté object et des handlers.

Tu as aussi la proprité TAG qui te permet de stocker un numéro d'index. j'ai fait un tutorial dessus. Mais à moins que ça soit une ou 2 valeur,. mise plutot pour l'orienté objet et faire une class, ça fini par être plus facile à débogué, puisque sinon tu es pris avec ex: "if object.tag(4) sender.tag(2) then .... ". Donc ça deviens vite le bordel. Mieux vaut l'orienté objet qui te permettrais d'écrire ex : "if object.getIndex ctype(sender,monTypeObject).getPosition then". C'est plus long à écrire, mais beaucoup plus explicite comme écriture.

Mais rendu là, fouille sur vbfrance ou sur le web, tu vas trouver pleins de trucs comme ça
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.