Instruction ON var goto ligne1,ligne2

Faicalovich Messages postés 4 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 juin 2011 - 7 juin 2011 à 16:14
Faicalovich Messages postés 4 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 juin 2011 - 9 juin 2011 à 12:48
Bonjour tt le monde;
si c'est possible j'aimerais savoir comment traduire l'instruction

On Var goto lgn1,lgn2

avec VB6.
merci.

9 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 16:44
Bonjour,
j'aimerais savoir comment traduire l'instruction

On Var goto lgn1,lgn2

Et ?
Traduire en quoi ? en VB ? (c'est déjà fait) !

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
7 juin 2011 à 18:59
Bonjour,

On Var Goto ...
En QBasic (si mes souvenirs sont bons) cela permet de brancher en fonction de la valeur de la variable.

Sache qu'en VB, il faut EVITER les GOTO et GOSUB (seul exception en VB6/VBA/VBS : On Error Goto ...)

Ce genre de code peut être replacé avantageusement par un Select Case et des Sub/Function si le traitement à l'intérieur des Case est long.

Mon site
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 19:55
On Var Goto ...
En QBasic (si mes souvenirs sont bons) cela permet de brancher en fonction de la valeur de la variable

Idem en VB6, mais à éviter également (sans véritable intérêt, de surcroît)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 juin 2011 à 00:31
Salut

Select Case Var
    Case 11
        Goto Toto
    Case 4012
        Goto monLabel
    Case 5
        Goto CodesSources
End Select

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Faicalovich Messages postés 4 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 juin 2011
8 juin 2011 à 02:47
Merci pour les reponses, on faite j'ais un code qui je ne sais pas avec quel language est ecrit!! peut etre le picbasic et je ss entrain de le traduir en VB6. le PB ke je ss tombe dans un bloc de code ou il ya plain de GOTO et de ON var GOTO..plus que 30 instructions, est ce que je peux les traduires tel quel avec VB6 sans avoir des problemes de compilation; ou de resultats; par exemple la partie suivante:
...
...
...
...

1620 IP=1
1630 Kc=0
1640 LS=0
1650 NI=0
1660 ON IP goto 1670,1680
1670 if NI<=0 goto 2500
1680 for j=1 to N
1690 if I2(j)=0 goto 1780
1700 on IP goto 1710,1750
1710 if P1(j)<=LS goto 1780
1720 KC=j
1730 LS=P1(j)
1740 goto 1780
1750 if p2(j)<=LS goto 1780
1760 kc=j
1770 ls=P2(j)
1780 next j
...
...
...
...
2500 if ip-1>0 goto 2590
...
...
...


merci encor pour vous reponses.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 juin 2011 à 13:20
Bonjour,

j'adore (entre autres) :
...
1650 NI=0 ' ===> donc N = 0
1660 ON IP goto 1670,1680
1670 if NI<=0 goto 2500 ' ===>> risque pas d'être # 0 ! ===>> condition inutile !
...

(voir les commentaires)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Faicalovich Messages postés 4 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 juin 2011
8 juin 2011 à 13:59
bnj UCFOUTU; je me ss trompé; c'est pas NI=0 mais IT=0

...
...
1530 IP=1
1540 IT=0
1560 print
1570 REM main Program
1580 for j=1 to N
1590 P2(j)=P(j)
1600 next j
1610 REM
1620 LS=0
1630 KC=0
1640 on IP goto 1650,1660
1650 if NI<=0 GOTO 2500
1660 for j=1 to N
1670 REM
1680 IF P1(j)<=LS goto 1770
1690 on IP GOTO 1700, 1740
1700 IF I2(j)=0 goto 1770
1710 KC=j
1720 LS=P2(j)
1730 goto 1770
1740 if P2(j)<=LS goto 1770
1750 KC=j
1760 LS=P2(j)
1770 Next j
...
...
...
2500 if ip-1>0 goto 2590
...
...
...
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 juin 2011 à 19:20
Pour le fun, voilà ce que ça pourrait donner :
(à condition de dimensionner chaque variable correctement)
    IP = 1
    IT = 0
    
    For j = 1 To N
        P2(j) = P(j)
    Next j
    
    LS = 0
    KC = 0
    If Not (IP = 1 And NI <= 0) Then
        ' 1660
        For j = 1 To N
            If P1(j) > LS Then
                If IP = 1 Then
                    ' 1700
                    If I2(j) <> 0 Then
                        KC = j
                        LS = P2(j)
                    End If
                Else
                    ' 1740
                    If I2(j) > LS Then
                        KC = j
                        LS = P2(j)
                    End If
                End If
            End If
        Next j
    End If
    ' 2500
    If IP - 1 > 0 Then
        ' ...
    End If
0
Faicalovich Messages postés 4 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 juin 2011
9 juin 2011 à 12:48
Merci Jack,je vais esayer ce code
0
Rejoignez-nous