Traduction d'un code Vb .net vers un code C# [Résolu]

Messages postés
4
Date d'inscription
vendredi 2 novembre 2007
Statut
Membre
Dernière intervention
30 août 2010
- - Dernière réponse : cs_Galain
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
- 30 août 2010 à 21:44
Bjr,
je sais bien developper en Vb mais en c# je ss nul
priere qq1 m'aider a traduire ce code en c# et merci.

// 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
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
269
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
12 mars 2011
3
Merci
Salut,
CodeSource fourni gratuitement
un convertisseur de code vb vers c#
http://tools.codes-sources.com/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 140 internautes nous ont dit merci ce mois-ci

Commenter la réponse de raffika
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
28
3
Merci
Tu peux essayer d'utiliser l'outil de la communauté.

Il ne traduira peut-etre pas tout, mais t'avancera déjà une bonne partie

http://tools.codes-sources.com/DotNetCodeConverter.aspx

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 140 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
4
Date d'inscription
vendredi 2 novembre 2007
Statut
Membre
Dernière intervention
30 août 2010
3
Merci
merci pour votre collaboration , mais il reste qq instructions aux quelles je ne peux pas trouver leurs équivalents en c# comme:

B = Val(Right(Format(X, "000000000000.00"), 2)) ??

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 140 internautes nous ont dit merci ce mois-ci

Commenter la réponse de el3orf
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
0
Merci
Salut

C'est normal que certaines instructions ne soient pas traduisibles car ce sont des instructions ou fonctions VB 6.0 ( Val et Right et Mid par exemple)


La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
Commenter la réponse de cs_Galain