Traduction de code VB .net en C# .net

Résolu
el3orf Messages postés 4 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 30 août 2010 - 30 août 2010 à 11:30
imothepe_33 Messages postés 168 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 28 novembre 2012 - 30 août 2010 à 14:24
Salut,

j'ai un problème de traduction de code C# .net en VB .net (2005) en fait je ss nul en C#

donc voila le code en VB.net:



Public Function Horof(ByVal X As Double)
Dim Ma As String = " د.ل لا غير"
Dim Mi As String = " درهم"
Dim Result As String = ""
Dim R As String = ""
Dim B As Integer
Dim N = (X)
B = Val(Right(Format(X, "000000000000.00"), 2))
R = SHorof(N)
If R <> "" And B > 0 Then Result = R & Ma & " و " & B & Mi
If R <> "" And B 0 Then Result R & Ma
If R "" And B <> 0 Then Result B & Mi
Horof = Result
End Function



Private Function SHorof(ByVal X)
Dim N = Int(X)
Dim C, C1, C2, C3, C4, C5, C6 As String
Dim letter1 As String = ""
Dim letter2 As String = ""
Dim letter3 As String = ""
Dim letter4 As String = ""
Dim letter5 As String = ""
Dim letter6 As String = ""
C = Format(N, "000000000000")
C1 = Val(Mid(C, 12, 1))
Select Case C1
Case Is 1 : Letter1 "واحد"
Case Is 2 : Letter1 "اثنان"
Case Is 3 : Letter1 "ثلاثة"
Case Is 4 : Letter1 "اربعة"
Case Is 5 : Letter1 "خمسة"
Case Is 6 : Letter1 "ستة"
Case Is 7 : Letter1 "سبعة"
Case Is 8 : Letter1 "ثمانية"
Case Is 9 : Letter1 "تسعة"
End Select
C2 = Val(Mid(C, 11, 1))
Select Case C2
Case Is 1 : Letter2 "عشر"
Case Is 2 : Letter2 "عشرون"
Case Is 3 : Letter2 "ثلاثون"
Case Is 4 : Letter2 "اربعون"
Case Is 5 : Letter2 "خمسون"
Case Is 6 : Letter2 "ستون"
Case Is 7 : Letter2 "سبعون"
Case Is 8 : Letter2 "ثمانون"
Case Is 9 : Letter2 "تسعون"
End Select
If Letter1 <> "" And C2 > 1 Then Letter2 = Letter1 + " و" + Letter2
If Letter2 "" Then Letter2 Letter1
If C1 0 And C2 1 Then Letter2 = Letter2 + "ة"
If C1 1 And C2 1 Then Letter2 = "احدى عشر"
If C1 2 And C2 1 Then Letter2 = "اثنى عشر"
If C1 > 2 And C2 1 Then Letter2 Letter1 + " " + Letter2
C3 = Val(Mid(C, 10, 1))
Select Case C3
Case Is 1 : Letter3 "مائة"
Case Is 2 : Letter3 "مئتان"
Case Is > 2 : Letter3 = Left(SHorof(C3), Len(SHorof(C3)) - 1) + "مائة"
End Select
If Letter3 <> "" And Letter2 <> "" Then Letter3 = Letter3 + " و" + Letter2
If Letter3 "" Then Letter3 Letter2
C4 = Val(Mid(C, 7, 3))
Select Case C4
Case Is 1 : Letter4 "الف"
Case Is 2 : Letter4 "الفان"
Case 3 To 10 : Letter4 = SHorof(C4) + " آلاف"
Case Is > 10 : Letter4 = SHorof(C4) + " الف"
End Select
If Letter4 <> "" And Letter3 <> "" Then Letter4 = Letter4 + " و" + Letter3
If Letter4 "" Then Letter4 Letter3
C5 = Val(Mid(C, 4, 3))
Select Case C5
Case Is 1 : Letter5 "مليون"
Case Is 2 : Letter5 "مليونان"
Case 3 To 10 : Letter5 = SHorof(C5) + " ملايين"
Case Is > 10 : Letter5 = SHorof(C5) + " مليون"
End Select
If Letter5 <> "" And Letter4 <> "" Then Letter5 = Letter5 + " و" + Letter4
If Letter5 "" Then Letter5 Letter4
C6 = Val(Mid(C, 1, 3))
Select Case C6
Case Is 1 : Letter6 "مليار"
Case Is 2 : Letter6 "ملياران"
Case Is > 2 : Letter6 = SHorof(C6) + " مليار"
End Select
If Letter6 <> "" And Letter5 <> "" Then Letter6 = Letter6 + " و" + Letter5
If Letter6 "" Then Letter6 Letter5
SHorof = Letter6
End Function

4 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
30 août 2010 à 12:22
Salut

Regarde par là :
http://tools.codes-sources.com/DotNetCodeConverter.aspx


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
3
imothepe_33 Messages postés 168 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 28 novembre 2012 7
30 août 2010 à 14:24
Essai d'utiliser aussi, Sharp Develop pour la conversion de code.

Only the strong survive !
3
el3orf Messages postés 4 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 30 août 2010
30 août 2010 à 13:04
merci, mais je trouve tjr des problemes pour traduire quelques instructions en C# comme:

B = Val(Right(Format(X, "000000000000.00"), 2))
et
C = Format(N, "000000000000")
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
30 août 2010 à 13:25
Désolé, je ne connais pas le VB

Elles sont censé faire quoi ces deux lignes ?

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
Rejoignez-nous