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.NET Discussion :

Convertir de vb6 à vb.net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Novembre 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 8
    Par défaut Convertir de vb6 à vb.net
    Bonjour à tous,

    J'ai un problème, j'ai trouvé un code(fonction qui gêner des codes barre) écrit en vb6 et je veux le convertir en vb.net
    voici la fonction :
    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    Public Function code128$(chaine$)
     
    'Paramètres : une chaine
    'Parameters : a string
    'Retour : * une chaine qui, affichée avec la police CODE128.TTF, donne le code barre
    ' * une chaine vide si paramètre fourni incorrect
    'Return : * a string which give the bar code when it is dispayed with CODE128.TTF font
    ' * an empty string if the supplied parameter is no good
    Dim i%, checksum&, mini%, dummy%, tableB As Boolean
    code128$ = ""
    If Len(chaine$) > 0 Then
    'Vérifier si caractères valides
    'Check for valid characters
    For i% = 1 To Len(chaine$)
    Select Case Asc(Mid$(chaine$, i%, 1))
    Case 32 To 126, 203
    Case Else
    i% = 0
    Exit For
    End Select
    Next
    'Calculer la chaine de code en optimisant l'usage des tables B et C
    'Calculation of the code string with optimized use of tables B and C
    code128$ = ""
    tableB = True
    If i% > 0 Then
    i% = 1 'i% devient l'index sur la chaine / i% become the string index
    Do While i% <= Len(chaine$)
    If tableB Then
    'Voir si intéressant de passer en table C / See if interesting to switch to table C
    'Oui pour 4 chiffres au début ou à la fin, sinon pour 6 chiffres / yes for 4 digits at start or end, else if 6 digits
    mini% = IIf(i% = 1 Or i% + 3 = Len(chaine$), 4, 6)
    GoSub testnum
    If mini% < 0 Then 'Choix table C / Choice of table C
    If i% = 1 Then 'Débuter sur table C / Starting with table C
    code128$ = Chr$(210)
    Else 'Commuter sur table C / Switch to table C
    code128$ = code128$ & Chr$(204)
    End If
    tableB = False
    Else
    If i% = 1 Then code128$ = Chr$(209) 'Débuter sur table B / Starting with table B
    End If
    End If
    If Not tableB Then
    'On est sur la table C, essayer de traiter 2 chiffres / We are on table C, try to process 2 digits
    mini% = 2
    GoSub testnum
    If mini% < 0 Then 'OK pour 2 chiffres, les traiter / OK for 2 digits, process it
    dummy% = Val(Mid$(chaine$, i%, 2))
    dummy% = IIf(dummy% < 95, dummy% + 32, dummy% + 105)
    code128$ = code128$ & Chr$(dummy%)
    i% = i% + 2
    Else 'On n'a pas 2 chiffres, repasser en table B / We haven't 2 digits, switch to table B
    code128$ = code128$ & Chr$(205)
    tableB = True
    End If
    End If
    If tableB Then
    'Traiter 1 caractère en table B / Process 1 digit with table B
    code128$ = code128$ & Mid$(chaine$, i%, 1)
    i% = i% + 1
    End If
    Loop
    'Calcul de la clé de contrôle / Calculation of the checksum
    For i% = 1 To Len(code128$)
    dummy% = Asc(Mid$(code128$, i%, 1))
    dummy% = IIf(dummy% < 127, dummy% - 32, dummy% - 105)
    If i% = 1 Then checksum& = dummy%
    checksum& = (checksum& + (i% - 1) * dummy%) Mod 103
    Next
    'Calcul du code ASCII de la clé / Calculation of the checksum ASCII code
    checksum& = IIf(checksum& < 95, checksum& + 32, checksum& + 105)
    'Ajout de la clé et du STOP / Add the checksum and the STOP
    code128$ = code128$ & Chr$(checksum&) & Chr$(211)
    End If
    End If
    Exit Function
    testnum:
    'si les mini% caractères à partir de i% sont numériques, alors mini%=0
    'if the mini% characters from i% are numeric, then mini%=0
    mini% = mini% - 1
    If i% + mini% <= Len(chaine$) Then
    Do While mini% >= 0
    If Asc(Mid$(chaine$, i% + mini%, 1)) < 48 Or Asc(Mid$(chaine$, i% + mini%, 1)) > 57 Then Exit Do
    mini% = mini% - 1
    Loop
    End If
    Return
    End Function
    Merci

  2. #2
    Membre éclairé Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Par défaut
    Renseigne toi un peu assi youness avant de poster!
    Fais une recherche google. et n'attends pas une réponse à toi seul dans ta boite e-mail, ou en fais ne pense plus comme ça si tu veux tirer du bien de ce forum. Ici on partage.
    Sinon pour ton code, vaut mieux le convertir "à la main".

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    pour les codes barres y a rien à coder, il existe des police de caractères qui transforme une chaine de caractère en code barre
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Il est inutile de multiposter dans tous les forums ...
    Vos trouverez plein d'informations et de posts sur le sujet dans nos forums et il y a deja une piste (sérieuse) de la part de pol.
    Juste pour rappel, personne ici de fera votre conversion à votre place, mais tout le monde vous aidera à le faire.

Discussions similaires

  1. Réponses: 8
    Dernier message: 08/09/2014, 15h14
  2. [VB6 >VB.Net] Comment migrer ce code ?
    Par stef123 dans le forum VB.NET
    Réponses: 2
    Dernier message: 24/05/2006, 09h40
  3. Réponses: 2
    Dernier message: 23/03/2006, 10h56
  4. [VB6>VB.NET] Comment coder "break on all errors"
    Par RiiiDD dans le forum VB.NET
    Réponses: 5
    Dernier message: 07/03/2006, 12h53
  5. [VB.NET] Migration VB6---VB.NET
    Par billyyy dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/01/2005, 15h30

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