OVH Cloud OVH Cloud

Pb avec procedure, fonction et objet!

3 réponses
Avatar
News
Bonjour,
Mon niveau est débutant.
Je me suis lancé sur vb.net édition initiation 2003.
j'éssaie de reproduire le système des groupes de contrôles sous vb 6.0.
Le but de mon programme est de parcourir 10 TextBox à l'intérieur d'une
procédure écrite dans un module.
Je distingue une form contenant:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Dim t1(10) As Control

Dim i As Integer

t1(1) = TextBox1

t1(2) = TextBox2

init()

End Sub

Et un module disposant de:

Module Module1

Public Sub init(ByRef t1() As Control)

t1(1).Text = ""

t1(2).Text = ""

End Sub

End Module

Le problème est qu'avec ce code, cela me provoque l'erreur suivante:

C:\PROG\es2\Form1.vb(72): Argument non spécifié pour le paramètre 't1' de
'Public Sub init(ByRef t1() As Object)'

Ok, cela est normal car une procedure sans parametre ça plante.

J'ai testé plusieurs paramètres, mais cela plante toujours avec ce message:

C:\PROG\es2\Form1.vb(72): Une valeur de type 'Integer' ne peut pas être
convertie en 'Tableau 1-dimensionnel de System.Object'.

C'est ici que j'ai besoin de conseil sur ce problème.

Je souhaiterais connaitre aussi, l'équivalent de Form.show et Form.hide en
vb.net

En espérant trouver ici de précieux conseils, veuillez accepter mes
remerciements anticipés.

3 réponses

Avatar
David Scime
News a écrit :
Bonjour,
Mon niveau est débutant.
Je me suis lancé sur vb.net édition initiation 2003.
j'éssaie de reproduire le système des groupes de contrôles sous vb 6.0.
Le but de mon programme est de parcourir 10 TextBox à l'intérieur d'une
procédure écrite dans un module.
Je distingue une form contenant:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Dim t1(10) As Control

Dim i As Integer

t1(1) = TextBox1

t1(2) = TextBox2

init()

End Sub

Et un module disposant de:

Module Module1

Public Sub init(ByRef t1() As Control)

t1(1).Text = ""

t1(2).Text = ""

End Sub

End Module

Le problème est qu'avec ce code, cela me provoque l'erreur suivante:

C:PROGes2Form1.vb(72): Argument non spécifié pour le paramètre 't1' de
'Public Sub init(ByRef t1() As Object)'

Ok, cela est normal car une procedure sans parametre ça plante.

J'ai testé plusieurs paramètres, mais cela plante toujours avec ce message:

C:PROGes2Form1.vb(72): Une valeur de type 'Integer' ne peut pas être
convertie en 'Tableau 1-dimensionnel de System.Object'.

C'est ici que j'ai besoin de conseil sur ce problème.

Je souhaiterais connaitre aussi, l'équivalent de Form.show et Form.hide en
vb.net

En espérant trouver ici de précieux conseils, veuillez accepter mes
remerciements anticipés.





Sans vraiment connaitre VB6.. je dirais que ca ne fonctionne plus comme
ca.. et que le plus facile serait pour toi de lire un tutoriel ou un bon
bouquin sur le sujet..
Avatar
Pierre Alexis
News a écrit :

j'éssaie de reproduire le système des groupes de contrôles sous vb 6.0.
Le but de mon programme est de parcourir 10 TextBox à l'intérieur d'une
procédure écrite dans un module.



Public Shared Sub Main()

Dim textBoxArray(10) As TextBox
Dim curTextBox As TextBox

For Each curTextBox In textBoxArray
curTextBox = New TextBox
Next

End Sub

Public Sub Init(ByVal textBoxArray() As TextBox)

Dim curTextBox As TextBox

For Each curTextBox In textBoxArray
curTextBox.Text = ""
Next

End Sub

Je souhaiterais connaitre aussi, l'équivalent de Form.show et Form.hide en
vb.net



Public Shared Sub Main()

Dim newMainForm As New MainForm

newMainForm.Show()

newMainForm.Hide()

End Sub

Bonne chance !

--
Pierre ALEXIS
Courriel :
FAQ Visual Basic : http://faq.vb.free.fr/
Avatar
Pierre Alexis
J'ai écrit :

Dim textBoxArray(10) As TextBox



Sorry, cela déclare un tableau de 11 éléments (de 0 jusqu'à 10) et pas 10.

--
Pierre ALEXIS
Courriel :
FAQ Visual Basic : http://faq.vb.free.fr/