IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Portage code VB6 en Java : problème avec les GOTOs


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 146
    Points : 34
    Points
    34
    Par défaut Portage code VB6 en Java : problème avec les GOTOs
    Bonsoir je dois réécrire une application VB6 en Java et je bloque sur ce module vb:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    Sub CalculPend()
    FrmConf.Hide
    If bon = "OK" Then
        RFcSup = HNewRelev
        GoTo NouveauRelevement
    End If
     
    Passage = 0
    NePlusOptimiser = False
     
    Initialisation:
            {...}
     
    Transfert:
            {...}
     
    FlechesDuFilDeContact:
            {...}
     
            If <Condition> Then
                                    toto = True: GoTo FlechesDuFilDeContact
                            Else
                                    toto = False
                            End If
     
            NouveauRelevement:
            {...}
     
            If tata = 1 Then
                    GoTo suite
            Else
                    GoTo Initialisation
            End If
     
    suite:
    {...}
     
    CalculReactionRA:
    {...}
    CalculFlechesPorteur;
     
    if <condition> then
        (...)
        GoTo Transfert
    End If
     
    Sub CalculFlechesPorteur()
     
    ....
    J'ai essayé de transposer les goto en Java en utilisant la structure Break/Continue sans succès :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    static void CalculPend() throws Exception
      {
        ...
        if <condition>
        {
          ...
          continue NouveauRelevement;
        }
     
        Passage = 0;
        NePlusOptimiser = false;
     
        ...
     
        Initialisation:
        {...}
     
        ....
     
        FlechesDuFilDeContact:
        ...
             NouveauRelevement:
             {...} => Eclipse m'indique comme erreur : "Unreachable code"
             ....
    Si quelqu'un peut me débloquer je lui en serais très redevable merci

    PS : je débute en VB et pourtant c'est d'après moi le seul point bloquant de mon portage

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Je pense que tu devrais commencer par revoir ton code vb6 pour éviter tout Goto. Son utilisation à outrance tend à rendre les programmes illisibles et peu portable. La ou il est quasi incontournable c'est dans le cas des traitements d'erreur.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    FlechesDuFilDeContact:
            {...}
     
            If <Condition> Then
                                    toto = True: GoTo FlechesDuFilDeContact
                            Else
                                    toto = False
                            End If
    pourrait être ré ecrit en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Do While <Condition>
         {...}
      Loop
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 146
    Points : 34
    Points
    34
    Par défaut Portage code VB6 en Java : problème avec les GOTOs
    J'ai déjà tenté une solution proposée dans un autre post en utilisant le break label :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
              if( Variable.ErreurIrrecuperable == 1 )
              {
                break suite;
              }
              else
              {
                break Initialisation;
              }
    A la compilation Eclipse me dit :

    The label ... is missing

    Et pourtant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    suite: 
            if (condition) 
           {
                if (condition)
                {
                     ...
                } 
                else
                {
                     ...
                }
            }

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour,
    Pourtant Delbeke a été clair
    Je pense que tu devrais commencer par revoir ton code vb6 pour éviter tout Goto...
    Déjà ici encore un goto à éviter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
           If tata = 1 Then
                    GoTo suite
            Else
                    GoTo Initialisation
            End If
     
    suite:
    {...}
    pourrait devenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
           If tata<> 1 Then
                     Initialisation  'procédure
           End If
     
    suite:
    {...}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec les vecteurs Java
    Par choko83 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 22/05/2008, 17h52
  2. Problème avec les méthodes en JAVA
    Par beegees dans le forum Langage
    Réponses: 9
    Dernier message: 04/02/2007, 20h19
  3. [Débutant] problème avec les IO de java
    Par Amissan dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 17/11/2006, 16h27
  4. problème avec les .java compilés
    Par root76 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 05/05/2006, 19h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo