wxec
Messages postés8Date d'inscriptionsamedi 11 septembre 2010StatutMembreDernière intervention11 mai 2011
-
4 mai 2011 à 15:45
cs_Agnostik
Messages postés1Date d'inscriptionmardi 29 août 2006StatutMembreDernière intervention16 juin 2011
-
16 juin 2011 à 12:38
Bonjour
Je ne sais pas si mon message est dans la bonne catégorie, veuillez m'excuser d'avance.
Actuellement sur un projet, nous devons transformer le code d'une aplication de vb6 à vb.net, mais pour certaines lignes de codes, nous n'arrivons pas à trouver les erreurs affichées dans vb.net. Si quelqu'un peut nous aider:
voici une fonction pour laquelle je n'arrive pas à corriger l'erreur 'en rouge), on met un résultat à la variable C mais en utilisant un type string dans l'expression , ce qui n'est pas autorisé en vb.net:
Function BinAsc(ByVal C_Orig As String, ByVal C_Dest As String, ByVal L_Orig As Integer) As Short
Dim T_Val As String
Dim L_Dest As String
Dim L_Local As Short
T_Val = "0123456789ABCDEF"
L_Dest = Len(C_Dest)
C_Dest = ""
If L_Orig <= 0 Then
BinAsc = 0
Exit Function
End If
L_Local = L_Orig
'If L_Local > 128 Then L_Local% = 128
If L_Local > L_Dest / 2 Then
L_Local = L_Dest / 2
End If
C_Dest = string (2 * L_Local, " ")
For i = 1 To L_Local
Dim j = (i * 2) - 1
Dim car As String
car = Mid(C_Orig, i, 1)
Dim N_Droi As Short
N_Droi = Asc(car)
N_Droi = N_Droi Mod (16)
Dim N_Gauc As Short
N_Gauc = Asc(car)
N_Gauc = (N_Gauc - N_Droi) / 16
Mid(C_Dest, j, 1) = Mid(T_Val, N_Gauc + 1, 1)
Mid(C_Dest, j + 1, 1) = Mid(T_Val, N_Droi + 1, 1)
Next i
BinAsc = L_Local
End Function
' Effectue un changement de carte
'
Function ChangeCarte() As Short
Dim O As String
O = String$(256, 0)
InfosCarte.IdCarteLog = " " 'efface numéro de carte
Dim Screen
Screen.MousePointer = 11 'Pointeur en sablier'
'Print #1,
'Print #1, "*** Changement de carte..."
Lgraz = 50
CR_API = CPS_IntroductionCarte(Connex, Delai, StatusService(0), EtatCarte, Lgraz, O)
Dim ret = CR_TO_LIB() 'convertit CR_API% en CR_LIB$
'Print #1, "API Introduction carte : "; CR_LIB$
CR_API = CPS_InformationsCarte(Connex, InfosCarte, StatusService(0), EtatCarte)
ret = CR_TO_LIB() 'convertit CR_API% en CR_LIB$
'Print #1, "API Information carte : "; CR_LIB$
'If CR_API% 0 Then Print #1, "IdCarteLog "; InfosCarte.IdCarteLog
'Print #1,
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 4 mai 2011 à 16:12
Salut,
Apparemment ce constructeur String() en VB.NET a les paramètres inversés par rapport à VB6. Il devrait te suffire d'intervertir tes 2 paramètres pour que cela fonctionne. Tente ça et tiens moi au courant ;)
wxec
Messages postés8Date d'inscriptionsamedi 11 septembre 2010StatutMembreDernière intervention11 mai 2011 4 mai 2011 à 16:51
merci c'est parfait c'était bien ça :)
j'ai également une autre question au sujet de mes fonctions:
Function ImpAuthDyn() As Short
Dim OO As String = 32
Dim ret
'Print #1, "CalAuthDyn.RefCleI ",
ret = BinAsc(CalAuthDyn.RefCleI, OO, Len(CalAuthDyn.RefCleI))
'Print #1, OO
vb.net me dis que ceux qui est en rouge n'est pas membre de ma console.application. pourtant j'ai bien créer la structure avec les mêmes de nom variable
Structure T_CalAuthDyn
Sub main()
Dim RefCleI As String = 8
Dim PresDiversifiant As String = 1
Dim DiversifiantI As String = 8
Dim Defi As String = 8
End Sub
End Structure
Public CalAuthDyn As T_CalAuthDyn
vb.net me suggere de générer un stub de méthodes, ou un stub de propriété ou un champ de chaque variable en rouge c'est à dire dans le cas de cette fonction de RefCleI,DiversifiantI,etc...
Si quelqu'un peut m'éclairer
cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
wxec
Messages postés8Date d'inscriptionsamedi 11 septembre 2010StatutMembreDernière intervention11 mai 2011 4 mai 2011 à 17:20
non j'ai juste modifié le code de vb6 a vb.net c'est a dire je suis passé de type à structure mais je n'ai pas rajouté de namespaces pour les structures
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 5 mai 2011 à 22:09
Re,
je viens de voir que ta structure a une drôle de trogne ^^
pourquoi tes variables membres sont définies dans une procédure main() ?
essaie avec un truc comac :
Structure T_CalAuthDyn
'on commente la ligne en-dessous
'Sub main()
Dim RefCleI As String = 8
Dim PresDiversifiant As String = 1
Dim DiversifiantI As String = 8
Dim Defi As String = 8
'on commente la ligne en-dessous
'End Sub
End Structure
NB : je sais pas comment il est censé interpréter String = 8 par contre
wxec
Messages postés8Date d'inscriptionsamedi 11 septembre 2010StatutMembreDernière intervention11 mai 2011 11 mai 2011 à 16:47
merci de ta réponse
J'ai de nouveaux quelques petits problèmes:
j'ai créer une classe printer mais je ne sais pas trop comment transformer ce code de vb6 à vb.net
Printer.Print("=============================================")
Printer.Print("FICHIER GALSS.INI (dans WINDIR) le " & E)
Printer.Print("=============================================")
Printer.Print()
Printer.Print("Taille du fichier = " & InfosPoste.LgFichierGALSSINI)
Printer.Print("Taille imprimée = " & InfosPoste.LgBufferFichierGALSSINI)
Printer.Print()
Dim i = List2.ListCount
If i > 0 Then
For j = 0 To i - 1
C = List2.List(j)
Printer.Print(C)
Next j
End If
Printer.EndDoc()
Printer.Print n'est pas reconnu , ni Printer.EndDoc
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 11 mai 2011 à 16:50
Re,
Tu dois avoir un souci au niveau de la définition de ta classe.
A priori ça ne peut pas venir de l'appel.
Mets le code de ta classe ici qu'on regarde ça.
(perso j'aurais ptèt pas le temps, mais d'autres pourront alors te répondre)