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

EDI/Outils Discussion :

[Outils] Comment transformer du vieux code VB en .Net ?


Sujet :

EDI/Outils

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Par défaut [Outils] Comment transformer du vieux code VB en .Net ?
    Bonjour, on me transmet des sources vb
    des commes on en fait plus.....
    mais ces sources sont ne sont pas dans un projet visual basic 6 ou autres
    on me demande de les utiliser mais je ne sais pas par ou commencer
    j'ai cherché des 'transformateur' de code mais sans succès


    J'ai essayé d'inclure ces sources dans une classe vb .net directement
    mais ne connaissant pas vb je comprend rien aux fonctions...
    help!!!!

    ca ressemble à ca:
    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
    51
    52
    53
    54
    55
     
    Dim chd$, sStop$, sStart$, outString$, altString$
    Dim mCheck As Boolean
    Dim mChaineIn As String
     
    Private Sub do11() ' CODE 11
      sStart$ = "("  ' this is the start character
      sStop$ = ")"  ' this is the stop character
     
      chd$ = ""
      chn1 = 0
      chn2 = 0
      If mCheck Then  ' calculate check digit
      xx$ = x$
      n = Len(xx$)
      j = 1
      For i = n To 1 Step -1
          Y$ = Mid$(xx$, i, 1)
          If Y$ <> "-" And (Y$ < "0" Or Y$ > "9") Then
              outString$ = "Error in code"
              Exit Sub
              End If
          If Y$ = "-" Then z = 10 Else z = Asc(Y$) - 48 '  value of character
          chn1 = chn1 + j * z
          j = j + 1
          If j > 10 Then j = 1
          Next i
      t = chn1 Mod 11
      If t < 10 Then
          chd$ = chd$ + Chr$(t + 48) ' convert to ASCII character 0-9
          Else
          chd$ = chd$ + "-"
          End If
      If (n > 10) Then
          xx$ = xx$ + chd$ ' the first check digit is included in the calculation of the second
          j = 1
          For i = n + 1 To 1 Step -1
              Y$ = Mid$(xx$, i, 1)
              If Y$ = "-" Then z = 10 Else z = Asc(Y$) - 48 '  value of character
              chn2 = chn2 + j * z
              j = j + 1
              If j > 9 Then j = 1
              Next i
          t = chn2 Mod 11
          If t < 10 Then
              chd$ = chd$ + Chr$(t + 48) ' convert to ASCII character 0-9
              Else
              chd$ = chd$ + "-"
              End If
          End If
      End If
     
      outString$ = sStart$ + x$ + chd$ + sStop$   ' this is the string to output
     
    End Sub

  2. #2
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Effectivement çà pue

    typage à la bonne franquette, commentaires ridicules, optimisation bancale. En dehors d'un contexte d'application, je ne vois aucun intérêt de cette procedure en elle même pour manipulation de chaines de caractère.
    Il faudrait que tu precises ton besoin réel. A ma connaissance il n'y a pas de migration 'naturelle' du VB vers VB.Net (ou pourquoi pas en C#). Bien souvent tu ne peux echapper (et c'est tant mieux) à une reimplementation complète. Mais pour celà il faudrait que tu connaisses au moins le cahier des charges initial afin de concevoir la nouvelles librairie de classes.

  3. #3
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Par défaut
    Il me sembl qu Microsoft avait créé un utilitaire d'assistance pour le portage mais je n'en suis pas sur. D'autre part, je pense qu'il est franchement préférable de repartir sur des bases saines.
    Passer de procédural à orienté objet en conservant le programme au plus prêt me semble très moyen comme idée.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Par défaut
    Yep c'est du code bien dobé
    mais ce code je dois l'utiliser tel quel...
    ce code ne mérite pas de creation de class ou autre fantaisie Objet...
    il ne sera appelé qu'une suele fois pour générer un code barre...

    Mais tel quel je n'y comprend pas grand chose....

  5. #5
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par linux
    ...
    ce code ne mérite pas de creation de class ou autre fantaisie Objet....
    euh là tu pousses un peu linux
    Personne ne t'as dit que le programme VB dont tu disposes, c'est de la daube. Par contre ton portage le seras necessairement. Si tu ne veux pas de 'fantaisie objet' pourquoi faire ton portage qui est fantaisiste sur le coup

    Donc comprend bien le raisonnement de jab, si tu veux que ton application garde ses qualités de fonctionnalités, ne modifie pas les dlls VB6 en reference dans l'appli, mais bien le code du soft qui manage l'ensemble.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Par défaut
    Si j'avais ces dll cela serait merveilleux mais
    n'aillant que les sources non compilées et visual studio 2003 sous la main je ne vois pas comment
    a partir de ces sources crée une dll autrement qu'en l'incluant les sources dans un projet .net
    D'ou ma recherche de parseur vb vers du .net....

  7. #7
    Membre expérimenté Avatar de del-dongo
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Par défaut
    heu je ne comprends pas tout, tu n'as que le code de cette foction vb6? pourquoi essayer de la réécrire...? Pourquoi ne crées tu pas une dll vb6 à partir de ce code, et tu l'utilises dans ton assemblie .Net...? non?

  8. #8
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Par défaut
    Déjà tu t'appelles linux et tu fais du vb ... :p
    Bon sans rire. Si tu mets ta fonction tel quel dans un module VB.NET ça devrait marcher.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Par défaut
    En fait c'est que ce code fait à peu près 1000 lignes
    avec des vieilles fonctions VB que je ne connais pas...
    de plus pour faire une dll dites moi si je me trompe... mais
    avec ce type de code il me faudrait le visual studio pour visual basic N°5
    car dans le V.S. 2003 j'ai pas trouvé comment compilé ce code
    sans le refaire en entier....

  10. #10
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Par défaut
    Pourrais tu donner un ou deux exemples de fonctions que tu ne connais pas?
    Et aussi de message d'erreur à la compilation?

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Par défaut
    ca y est merci pour vos réponses mais apparement;
    il n'existe pas d'outils de transformation
    j'ai du trouvé qqn qui a bien voulu fouiller dans sa cave pour trouver un
    éditeur Visual Basic 5 pour faire cette dll....

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

Discussions similaires

  1. Comment transformé ce code en C en python ?
    Par maxstilde dans le forum Général Python
    Réponses: 1
    Dernier message: 01/04/2010, 01h10
  2. Réponses: 7
    Dernier message: 03/03/2010, 18h33
  3. Comment transformer un code Vb en Dll ( treeview ,treenode )
    Par lunik dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/03/2009, 00h42
  4. outil pour transformer code en diagramme
    Par lechacaldesbois12 dans le forum Outils
    Réponses: 4
    Dernier message: 05/05/2007, 15h14
  5. Comment trouver de vieux outils (MASM51 CL PROM86 XLINK86)
    Par CFred dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 11/01/2005, 17h54

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