OVH Cloud OVH Cloud

GOTO entre 2 private sub ?

4 réponses
Avatar
New Faz
Bonjour, je souhaiterais faire une chose en VB 6 pour différentes raison,
le bout de code correspond a ca en gros :-))

''''''''''''
private sub machin_click()

Label1:
-----code-----

End sub


private sub truc_Click

-----code-----

GOTO Label1

End sub
'''''''''''''''''''''''
mais le prob c'est que ca marche pas :'-(
Si qq'un savait comment on peut faire un truc comme ca, ca m'arrangerait
bien je dois dire :-)

Merci d'avance
NF

--

4 réponses

Avatar
progo
Pourquoi ne met-tu pas une fonction dans un module et au lieu de "goto
label1" , tu mets "call fctmachin"...



"New Faz" a écrit dans le message de
news:409c0e9e$0$17918$
Bonjour, je souhaiterais faire une chose en VB 6 pour différentes raison,
le bout de code correspond a ca en gros :-))

''''''''''''
private sub machin_click()

Label1:
-----code-----

End sub


private sub truc_Click

-----code-----

GOTO Label1

End sub
'''''''''''''''''''''''
mais le prob c'est que ca marche pas :'-(
Si qq'un savait comment on peut faire un truc comme ca, ca m'arrangerait
bien je dois dire :-)

Merci d'avance
NF

--





Avatar
François Picalausa
Hello,

Tu as au moins deux possibilités pour palier à ce problème.
1°):
private sub machin_click()
ClickCommon
End sub

private sub truc_Click
'Code
ClickCommon
End sub

Private Sub ClickCommon()
'Commun aux deux procédures
End Sub

2°) l'utilisation d'un argument (possible si la procédure n'est *pas* un
événement):
Private Enum PartsToExecute
FirstPart = 1
SecondPart = 2
ThirdPart = 4
End Enum

Private Sub MyProc(Parts As PartsToExecute) 'Changer le type
'Une partie d'initialisation?
If Parts And FirstPart Then
'Exécuter la première partie du code
End If
'Une partie commune?
If Parts And SecondPart Then
'Il faut la seconde partie du code
End If
...
End Sub

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"New Faz" a écrit dans le message de
news:409c0e9e$0$17918$
Bonjour, je souhaiterais faire une chose en VB 6 pour différentes
raison, le bout de code correspond a ca en gros :-))

''''''''''''
private sub machin_click()

Label1:
-----code-----

End sub


private sub truc_Click

-----code-----

GOTO Label1

End sub
'''''''''''''''''''''''
mais le prob c'est que ca marche pas :'-(
Si qq'un savait comment on peut faire un truc comme ca, ca
m'arrangerait bien je dois dire :-)

Merci d'avance
NF


Avatar
www.eztree-msdn.com \(Laurent Jordi\) Enlever le s à infos pour me contacter par mail
Salut !

ARGLLLLLLLLLL ! t barj ou koi ? Oublie le GOTO !!! Sauf dans certertains cas
pour optimiser la vitesse des boucles et encore uniquement dans une même
procédure et uniquement si ton programme ne devra pas migrer vers dot net...
En plus, losques tu es dans une Sub ou une fonction, tu es dans une boîte
hermétique au GOTO (heureusement)...

Tu dois suivre les conseils qui t'on été donné par progo ou françois... Mais
tu dois surtout essayer de comprendre la nature de la programmation
procédurale qui a été inventée pour tuer le Goto...

En plus les instructions goto et gosub ont été érradiquées des langages
actuels (dotNet) si tu utilises des Goto, tu auras beaucoup de mal pour
faire évoluer tes programmes vers ce nouvel environnement de dev...

@+

LJ
www.eztree-msdn.com
www.ezlogic.mc


"New Faz" a écrit dans le message de
news:409c0e9e$0$17918$
Bonjour, je souhaiterais faire une chose en VB 6 pour différentes raison,
le bout de code correspond a ca en gros :-))

''''''''''''
private sub machin_click()

Label1:
-----code-----

End sub


private sub truc_Click

-----code-----

GOTO Label1

End sub
'''''''''''''''''''''''
mais le prob c'est que ca marche pas :'-(
Si qq'un savait comment on peut faire un truc comme ca, ca m'arrangerait
bien je dois dire :-)

Merci d'avance
NF

--





Avatar
New Faz
Merci a tous les 3 pour vos réponse, je vais essayer tout ca :-)

Je tenais a savoir comment faire dans ce sens tout de meme, et j'avais pensé
au module (mais apres le post %-))
donc, je vais essayer la methode la plus simple dans un premier temps, et le
module juste apres ;-) car j'avoue, Honte sur moi, ne pas avoir pensé a la
"migration .net"...mais c'est noté ;-)

Merci encore :)

@+
NF





"New Faz" a écrit dans le message de
news:409c0e9e$0$17918$
Bonjour, je souhaiterais faire une chose en VB 6 pour différentes raison,
le bout de code correspond a ca en gros :-))

''''''''''''
private sub machin_click()

Label1:
-----code-----

End sub


private sub truc_Click

-----code-----

GOTO Label1

End sub
'''''''''''''''''''''''
mais le prob c'est que ca marche pas :'-(
Si qq'un savait comment on peut faire un truc comme ca, ca m'arrangerait
bien je dois dire :-)

Merci d'avance
NF

--