OVH Cloud OVH Cloud

De Vb 6.0 á Vb.Net

2 réponses
Avatar
Ivan Pequeño
Je m'excuse des accents, mais j'ai un clavier chilien...
donc, un circonflex c'est de l'utopie

Cette Structure devrait etre dans un module de
facon qu'elle soit visible depuis forms, classes, etc

déjá en .Net
Structure StVarDat
Dim Nvl As Byte
Dim Nom As String
Dim Tip As String
End Structure
Public VarDat() As StVarDat
Public VarMax As Short

et quelque part dans une classe j'aurais besoin de faire...
'Et ici commencent les erreurs et l'horreur
VarMax = TotalDeVariablesCobol
ReDim Preserve VarDat(TotalDeVariablesCobol) As StVarDat
For i = 1 to TotalDeVariablesCobol
VarDat(i).Nvl = 10
VarDat().Nom = "WS-RUT-NUM"
VarDat().Tip = "X"
Nex

comme en Vb 6.0

Je remercie d'avance toute piste pour la chasse

2 réponses

Avatar
Mathieu Francesch
Bonsoir Ivan,

Voilà votre code corrigé (même si je ne comprend pas bien ce qu'il fait :-) )

VarMax = TotalDeVariablesCobol
Dim VarDat() As StVarDat
ReDim Preserve VarDat(TotalDeVariablesCobol)
For i As Integer = 1 To TotalDeVariablesCobol
VarDat(i).Nvl = TotalDeVariablesCobol
VarDat(i).Nom = "WS-RUT-NUM"
VarDat(i).Tip = "X"
Next

Correction au niveau du redimensionnement du tableau
On ne peut plus faire la déclaration + le redimenssionement dans la même
déclaration. Et pour finir, il manquait des indices de tableau (i).

Est ce que cela répond à votre problème ?

Bonne soirée,
--
Cordialement,

Mathieu Francesch



"Ivan Pequeño" a écrit :

Je m'excuse des accents, mais j'ai un clavier chilien...
donc, un circonflex c'est de l'utopie

Cette Structure devrait etre dans un module de
facon qu'elle soit visible depuis forms, classes, etc

déjá en .Net
Structure StVarDat
Dim Nvl As Byte
Dim Nom As String
Dim Tip As String
End Structure
Public VarDat() As StVarDat
Public VarMax As Short

et quelque part dans une classe j'aurais besoin de faire...
'Et ici commencent les erreurs et l'horreur
VarMax = TotalDeVariablesCobol
ReDim Preserve VarDat(TotalDeVariablesCobol) As StVarDat
For i = 1 to TotalDeVariablesCobol
VarDat(i).Nvl = 10
VarDat().Nom = "WS-RUT-NUM"
VarDat().Tip = "X"
Nex

comme en Vb 6.0

Je remercie d'avance toute piste pour la chasse


Avatar
Ivan Pequeño
Merci Mathieu de votre réponse,

Je n'avais pas pu vous remercier, car j'avais des problémes
pour accéder au forum en francais...

j'ai eu un réponse aussi du forum en espagnol
et en effet il n'est plus necessaire de ReDim QQC(Nnnn) As Type
car ceci provoque l'erreur.
Le compilateur connait deja le type

Le code que j'ai posté est un bout d'un verificateur de code COBOL
(syntaxe, Vars déclarées, Mortes) que nous fera gagner beaucoup
du temps dans la programation en IBM 3270

Je vous remercie encore de votre gentillese,
de votre temps et je continue, un peux grace á vous