Différents forms

Messages postés
58
Date d'inscription
dimanche 29 janvier 2012
Statut
Membre
Dernière intervention
29 avril 2012
- - Dernière réponse : ehjoe
Messages postés
728
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
30 mars 2014
- 20 mars 2012 à 22:00
bonjour,
dans mon programme j'ai créé différents radiobuttons. l'état de ces radiobuttons je l'ai caractérisé par une variable booléene (1 s'il est coché et 0 sinon). j'ai utilisé cette variable dans un nouveau form '3'. en effet il s'agit de tracer un graphe séléctionné par l'utilisateur. donc il choisit parmi les différents choix un 'x' donc la variable booléene associée à 'x' se met à 1 et les autres variables se mettents à 0. je met dans la form3 des tests sur ces variables pour enfin choisir un seul signal (choix) qui va étre tracé. ces variables je les ai déclaré dans un module. je commence le débogage et ça marche pas. je me sert de l'execution ligne par ligne et je remarque que la variable booléene reçoit 1 dans le form1 mais dans le test au form3 le compilateur la saute et n'execute pas le programme associé qui est la traçage ???. donc au form1 'x=1' et dans form3 'x devient nulle' et je ne sais pas pourquoi ???. voici le programme pour mieux comprendre:
Public Sub carre_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles carre.CheckedChanged

        Dim t, k, n As Integer
       
        'rapport.Visible = True
        'Label6.Visible = True
        'Label12.Visible = True

        carrevrai = 1 'la variable booléene
        trivrai = 0
        scievrai = 0
        monovrai = 0
        bivrai = 0

        If impaire.Checked = True Then
            For t = 0 To 5
                temps(t) = t
                For k = 1 To ord
                    n = 2 * k - 1
                    sc(t) += moy + (4 * amp / (n * DegreeToRad(Math.PI))) * Math.Cos((n * 2 * DegreeToRad(Math.PI) / T0) * temps(t) - (DegreeToRad(Math.PI / 2)))
                Next k
            Next t
        End If

        If paire.Checked = True Then
            For t = 0 To 1200
                temps(t) = t
                For k = 1 To ord
                    n = 2 * k - 1
                    sc(t) += moy + (4 * amp / (n * DegreeToRad(Math.PI))) * Math.Cos((n * 2 * DegreeToRad(Math.PI) / T0) * temps(t) + 0)
                Next k
            Next t
        End If
    End Sub

'ça concerne le form1
' maintenant  au form3:
Private Sub DrawCurves(ByVal gr As System.Drawing.Graphics, ByVal mypanel As Panel)

        Dim mypen As New Pen(Color.DarkBlue, 1)

        If carrevrai = 1 Then
            For iter = 0 To 1200
                ReDim Preserve vertext(iter)
                vertext(iter).X = temps(iter)
                Try
                    vertext(iter).Y = Convert.ToSingle(sc(iter)) * 50 + mypanel.Height \ 2
                    If iter > 0 Then
                        gr.DrawLine(mypen, vertext(iter - 1).X, vertext(iter - 1).Y, vertext(iter).X, vertext(iter).Y)
                    End If
                Catch ex As Exception
                End Try
            Next
        End If
'le module
Public carre As RadioButton
    Public triangulaire As RadioButton
    Public dentsdescie As RadioButton
    Public monoalternance As RadioButton
    Public bialternance As RadioButton

    Public carrevrai As Boolean = 0
    Public trivrai As Boolean = 0
    Public scievrai As Boolean = 0
    Public monovrai As Boolean = 0
    Public bivrai As Boolean = 0



    Public Function DegreeToRad(ByVal deg As Integer) As Double
        Return deg * Math.PI / 180
    End Function
    Public pii As Single = Math.PI
End Module


juste pour rappeller:
x=1 (dans le code x: variable booléene) au form1 mais au form3 le compilateur saute la partie du test

if carrevrai=1 then
'programme de traçage
end if

donc ça trace pas et n'affiche rien

Ou est l'erreur ? Merci de m'aider SVP
Afficher la suite 

3 réponses

Messages postés
329
Date d'inscription
jeudi 20 novembre 2003
Statut
Membre
Dernière intervention
10 mai 2014
4
0
Merci
Salut,

un boolean est à TRUE ou à FALSE

essaye de remplacer dans ton code tes 1 et 0 par True et False

Active Option Strict dans les propriétés du projet cela t'évitera des erreurs de conversion implicite

@+LIM
Commenter la réponse de cs_lim
Messages postés
58
Date d'inscription
dimanche 29 janvier 2012
Statut
Membre
Dernière intervention
29 avril 2012
0
Merci
merci lim pour votre aide maintenant ça marche bien ^^
Commenter la réponse de kobeymane
Messages postés
728
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
30 mars 2014
2
0
Merci
Bonjour,

Mais ce n'est pas la peine de faire une variable, suffit de tester l'état du radio bouton, ah

Cordialement, Joe.
Commenter la réponse de ehjoe