Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

convertion vba en c#

1 réponse
Avatar
Alexandre Jaquet
Bonjour quelqu un pourrait m aider a convertir ce bout de code vba en c# d avance je vous remercie

Function ChiffreClé(Texte As String) As String

Static Mod10(0 To 10, 0 To 10)
Static Mod10Result(0 To 9)

Mod10(0, 0) = 0
Mod10(0, 1) = 9
Mod10(0, 2) = 4
Mod10(0, 3) = 6
Mod10(0, 4) = 8
Mod10(0, 5) = 2
Mod10(0, 6) = 7
Mod10(0, 7) = 1
Mod10(0, 8) = 3
Mod10(0, 9) = 5

Mod10(1, 0) = 9
Mod10(1, 1) = 4
Mod10(1, 2) = 6
Mod10(1, 3) = 8
Mod10(1, 4) = 2
Mod10(1, 5) = 7
Mod10(1, 6) = 1
Mod10(1, 7) = 3
Mod10(1, 8) = 5
Mod10(1, 9) = 0

Mod10(2, 0) = 4
Mod10(2, 1) = 6
Mod10(2, 2) = 8
Mod10(2, 3) = 2
Mod10(2, 4) = 7
Mod10(2, 5) = 1
Mod10(2, 6) = 3
Mod10(2, 7) = 5
Mod10(2, 8) = 0
Mod10(2, 9) = 9

Mod10(3, 0) = 6
Mod10(3, 1) = 8
Mod10(3, 2) = 2
Mod10(3, 3) = 7
Mod10(3, 4) = 1
Mod10(3, 5) = 3
Mod10(3, 6) = 5
Mod10(3, 7) = 0
Mod10(3, 8) = 9
Mod10(3, 9) = 4

Mod10(4, 0) = 8
Mod10(4, 1) = 2
Mod10(4, 2) = 7
Mod10(4, 3) = 1
Mod10(4, 4) = 3
Mod10(4, 5) = 5
Mod10(4, 6) = 0
Mod10(4, 7) = 9
Mod10(4, 8) = 4
Mod10(4, 9) = 6

Mod10(5, 0) = 2
Mod10(5, 1) = 7
Mod10(5, 2) = 1
Mod10(5, 3) = 3
Mod10(5, 4) = 5
Mod10(5, 5) = 0
Mod10(5, 6) = 9
Mod10(5, 7) = 4
Mod10(5, 8) = 6
Mod10(5, 9) = 8

Mod10(6, 0) = 7
Mod10(6, 1) = 1
Mod10(6, 2) = 3
Mod10(6, 3) = 5
Mod10(6, 4) = 0
Mod10(6, 5) = 9
Mod10(6, 6) = 4
Mod10(6, 7) = 6
Mod10(6, 8) = 8
Mod10(6, 9) = 2

Mod10(7, 0) = 1
Mod10(7, 1) = 3
Mod10(7, 2) = 5
Mod10(7, 3) = 0
Mod10(7, 4) = 9
Mod10(7, 5) = 4
Mod10(7, 6) = 6
Mod10(7, 7) = 8
Mod10(7, 8) = 2
Mod10(7, 9) = 7

Mod10(8, 0) = 3
Mod10(8, 1) = 5
Mod10(8, 2) = 0
Mod10(8, 3) = 9
Mod10(8, 4) = 4
Mod10(8, 5) = 6
Mod10(8, 6) = 8
Mod10(8, 7) = 2
Mod10(8, 8) = 7
Mod10(8, 9) = 1

Mod10(9, 0) = 5
Mod10(9, 1) = 0
Mod10(9, 2) = 9
Mod10(9, 3) = 4
Mod10(9, 4) = 6
Mod10(9, 5) = 8
Mod10(9, 6) = 2
Mod10(9, 7) = 7
Mod10(9, 8) = 1
Mod10(9, 9) = 3

Mod10Result(0) = 0
Mod10Result(1) = 9
Mod10Result(2) = 8
Mod10Result(3) = 7
Mod10Result(4) = 6
Mod10Result(5) = 5
Mod10Result(6) = 4
Mod10Result(7) = 3
Mod10Result(8) = 2
Mod10Result(9) = 1

LigneCode = 0
For I = 1 To Len(Texte)
Chiffre = Mid$(Texte, I, 1)
Valeur = Val(Chiffre)
'Debug.Print "Tableau " & LigneCode & " " & Valeur
LigneCode = Mod10(LigneCode, Valeur)
Next I

ChiffreClé = Mod10Result(LigneCode)

End Function

1 réponse

Avatar
Julien Bakmezdjian [MS]
Bonjour,

Je n'ai pas testé, mais ça devrait ressembler à quelque chose comme ça :

static string ChiffreCle(string Texte)
{
int[,] Mod10 = new int[11, 11];
int[] Mod10Result = new int[10];
Mod10[0, 0] = 0;
// . . .
Mod10[9,9] = 3;
Mod10Result[0] = 0;
// . . .
Mod10Result[9] = 1;
int LigneCode = 0;
for(int i = 0; i < Texte.Length; i++)
{
string Chiffre = Texte.Substring(i,1);
int valeur = int.Parse(Chiffre);
LigneCode = Mod10[LigneCode, valeur];
}
return Mod10Result[LigneCode].ToString();
}

Cordialement,

Julien

"Alexandre Jaquet" a écrit dans
le message de news:
Bonjour quelqu un pourrait m aider a convertir ce bout de code vba en c# d


avance je vous remercie

Function ChiffreClé(Texte As String) As String

Static Mod10(0 To 10, 0 To 10)
Static Mod10Result(0 To 9)

Mod10(0, 0) = 0
Mod10(0, 1) = 9
Mod10(0, 2) = 4
Mod10(0, 3) = 6
Mod10(0, 4) = 8
Mod10(0, 5) = 2
Mod10(0, 6) = 7
Mod10(0, 7) = 1
Mod10(0, 8) = 3
Mod10(0, 9) = 5

Mod10(1, 0) = 9
Mod10(1, 1) = 4
Mod10(1, 2) = 6
Mod10(1, 3) = 8
Mod10(1, 4) = 2
Mod10(1, 5) = 7
Mod10(1, 6) = 1
Mod10(1, 7) = 3
Mod10(1, 8) = 5
Mod10(1, 9) = 0

Mod10(2, 0) = 4
Mod10(2, 1) = 6
Mod10(2, 2) = 8
Mod10(2, 3) = 2
Mod10(2, 4) = 7
Mod10(2, 5) = 1
Mod10(2, 6) = 3
Mod10(2, 7) = 5
Mod10(2, 8) = 0
Mod10(2, 9) = 9

Mod10(3, 0) = 6
Mod10(3, 1) = 8
Mod10(3, 2) = 2
Mod10(3, 3) = 7
Mod10(3, 4) = 1
Mod10(3, 5) = 3
Mod10(3, 6) = 5
Mod10(3, 7) = 0
Mod10(3, 8) = 9
Mod10(3, 9) = 4

Mod10(4, 0) = 8
Mod10(4, 1) = 2
Mod10(4, 2) = 7
Mod10(4, 3) = 1
Mod10(4, 4) = 3
Mod10(4, 5) = 5
Mod10(4, 6) = 0
Mod10(4, 7) = 9
Mod10(4, 8) = 4
Mod10(4, 9) = 6

Mod10(5, 0) = 2
Mod10(5, 1) = 7
Mod10(5, 2) = 1
Mod10(5, 3) = 3
Mod10(5, 4) = 5
Mod10(5, 5) = 0
Mod10(5, 6) = 9
Mod10(5, 7) = 4
Mod10(5, 8) = 6
Mod10(5, 9) = 8

Mod10(6, 0) = 7
Mod10(6, 1) = 1
Mod10(6, 2) = 3
Mod10(6, 3) = 5
Mod10(6, 4) = 0
Mod10(6, 5) = 9
Mod10(6, 6) = 4
Mod10(6, 7) = 6
Mod10(6, 8) = 8
Mod10(6, 9) = 2

Mod10(7, 0) = 1
Mod10(7, 1) = 3
Mod10(7, 2) = 5
Mod10(7, 3) = 0
Mod10(7, 4) = 9
Mod10(7, 5) = 4
Mod10(7, 6) = 6
Mod10(7, 7) = 8
Mod10(7, 8) = 2
Mod10(7, 9) = 7

Mod10(8, 0) = 3
Mod10(8, 1) = 5
Mod10(8, 2) = 0
Mod10(8, 3) = 9
Mod10(8, 4) = 4
Mod10(8, 5) = 6
Mod10(8, 6) = 8
Mod10(8, 7) = 2
Mod10(8, 8) = 7
Mod10(8, 9) = 1

Mod10(9, 0) = 5
Mod10(9, 1) = 0
Mod10(9, 2) = 9
Mod10(9, 3) = 4
Mod10(9, 4) = 6
Mod10(9, 5) = 8
Mod10(9, 6) = 2
Mod10(9, 7) = 7
Mod10(9, 8) = 1
Mod10(9, 9) = 3

Mod10Result(0) = 0
Mod10Result(1) = 9
Mod10Result(2) = 8
Mod10Result(3) = 7
Mod10Result(4) = 6
Mod10Result(5) = 5
Mod10Result(6) = 4
Mod10Result(7) = 3
Mod10Result(8) = 2
Mod10Result(9) = 1

LigneCode = 0
For I = 1 To Len(Texte)
Chiffre = Mid$(Texte, I, 1)
Valeur = Val(Chiffre)
'Debug.Print "Tableau " & LigneCode & " " & Valeur
LigneCode = Mod10(LigneCode, Valeur)
Next I

ChiffreClé = Mod10Result(LigneCode)

End Function