le dessin en visual basic
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

le dessin en visual basic



  1. #1
    369

    le dessin en visual basic


    ------

    bonsoir
    dans un programme en visual basic on me demande de dessiner un motif, là pas de problème
    dans la suite on me demande de répéter ce motif n fois. Je sais qu'il faut faire une boucle pour. Le problème est que je ne vois pas comment construire la boucle ou mettre la variable?
    voici les données
    Construire un programme qui permet de dessiner cette figure. L’utilisateur fournira les coordonnées du point supérieur gauche (x1, y1) du premier motif, la hauteur (h) de la figure, la largeur (l) d’un motif, et le nombre d’éléments (n).


    Code:
    ublic Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim x1 As Integer
            Dim y1 As Integer
            Dim l As Integer
            Dim h As Integer
            Dim g As Graphics
            Dim a As Integer
            Dim b As Integer
            Dim c As Integer
            Dim d As Integer
            Dim i As Integer
            Dim n As Integer
            x1 = InputBox("x1")
            y1 = InputBox("y1")
            l = InputBox("l")
            h = InputBox("h")
            n = InputBox("n")
    
            a = y1 + h
            b = x1 + l / 2
            c = a - h
            d = b + l / 2
            i = 1
    
          
            g = Panel1.CreateGraphics
            For i = 1 To n
                g.DrawLine(Pens.Red, x1, y1, b, a)
                g.DrawLine(Pens.Red, b, a, d, c)
            Next
    
    
    
    
        End Sub


    merci de votre aide

    -----

  2. #2
    Xoxopixo

    Re : le dessin en visual basic

    Bonjour,

    effectivement, le code
    Code:
    For i = 1 To n
         g.DrawLine(Pens.Red, x1, y1, b, a)
         g.DrawLine(Pens.Red, b, a, d, c)
    Next
    fait n fois la même chose, donc inutile

    Il te faudrait n graphiques.
    donc
    Dim g(1 to n) As Graphics semblerait adapté.
    Mais je ne pense pas que l'on puisse mettre autre chose qu'une constante pour une declaration de type Dim. (or n n'est pas constant)

    Donc il faudrait plutot déclarer g comme un tableau dynamique
    Dim g() As Graphics

    Ensuite apres avoir lu la valeur n, il faut déclarer la vrai taille du tableau pour permettre son allocation memoire.
    ReDim g(1 to n) As Graphics

    Tu dois ensuite utiliser la fonction Panel1.CreateGraphics pour initialiser chaque objet Graphics AVANT utilisation
    Ta boucle devient :

    Code:
    For i = 1 To n
      g(i) = Panel1.CreateGraphics
      g(i).DrawLine(Pens.Red, x1, y1, b, a)
      g(i).DrawLine(Pens.Red, b, a, d, c)
    Next i
    PS :J'ai mi Next i à la place de Next tout court, c'est une bonne habitude qui me permet de relire plus vite le code et voir qq bugs.

  3. #3
    bzh_nicolas

    Re : le dessin en visual basic

    Je te l'ai dit dans l'autre discussion. Il suffit de modifier x et y à chaque tour de boucle.
    par exemple si tu veux que toutes tes figures se touchent de gauche à droite :
    x = x + l
    ou de haut en bas :
    y = y + h
    Si ma mémoire est bonne (mais ça demanderait vérification) un seul graphic devrait suffire pas besoin de tableau.

  4. #4
    Xoxopixo

    Re : le dessin en visual basic

    Citation Envoyé par bzh_nicolas
    un seul graphic devrait suffire pas besoin de tableau
    Tout à fait d'accord, apres ça depend de la tournure que doit prendre le programme.

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Visual Basic
    Par invited280a227 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 17/09/2007, 12h45
  2. Visual basic
    Par invite232ca604 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 20/02/2007, 19h55
  3. Visual Basic
    Par invite16ba2b9a dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 09/01/2007, 10h09
  4. Visual Basic
    Par invite47810f95 dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 24/10/2006, 14h09
  5. Visual Basic
    Par invite588da7a7 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 09/07/2004, 13h57