تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طريقة التفقيط لعملة دينار كويتى وقرائة 3 ارقام بعد العلامة
#5
السلام عليكم ورحمة الله وبركاته

أخي كودك ربما يكون معقد قليلآ والي فهمتو منك تريد تحول من رقم الى رقم كتابة ,, بصراحة كنت ناوي اعطيك فكرة اسهل وبدون تعقيد لكن وجدت الامر ممتع واكملت لك كود الى حد 9999 لكن المهم بالكود هو الفكرة التي اعطيتك هي اظنها ابسط من فكرتك وامكانية تطويرها بسهولة وايضآ يقل التعقيد بزيادة الاعداد


هذا هو الكود 

كود :
Dim Nf As String = "صفر,واحد,اثنان,ثلاثة,اربعة,خمسة,ستة,سبعة,ثمانية,تسعة"
   Dim N2 As String = "عشرون,ثلاثون,اربعون,خمسون,ستون,سبعون,ثمانون,تسعون"
   Dim Nm As String = "مائة,مئتان,ثلاث مائة,أربع مائة,خمس مائة,ست مائة,سبع مائة,ثمان مائة,تسع مائة"
   Dim Nt As String = "الف,الفان,ثلاثة الف,أربعة الف,خمسة الف,ستة الف,سبعة الف,ثمانية الف,تسعة الف"
   Function Tran(ByVal i As Integer) As String
       Dim Count As Integer = i.ToString.Length
       Select Case Count
           Case 1
               Return Nf.Split(",")(i)
           Case 2
               If i.ToString.Chars(0).ToString > 1 Then
                   If i.ToString.Chars(1) = "0" Then
                       Return N2.Split(",")(i.ToString.Chars(0).ToString - 2)
                   Else
                       Return Nf.Split(",")(i.ToString.Chars(1).ToString) & " و " & N2.Split(",")(i.ToString.Chars(0).ToString - 2)
                   End If
               ElseIf i.ToString.Chars(0).ToString = 1 Then
                   If i.ToString.Chars(1) = "0" Then
                       Return "عشرة"
                   ElseIf i.ToString.Chars(1) = "1" Then
                       Return "إحدى عشر"
                   ElseIf i.ToString.Chars(1) = "2" Then
                       Return "إثنى عشر"
                   Else
                       Return Nf.Split(",")(i.ToString.Chars(1).ToString) & " " & "عشر"
                   End If
               End If
           Case 3
               If i.ToString.Chars(1).ToString = "0" And i.ToString.Chars(2).ToString = "0" Then
                   Return Nm.Split(",")(i.ToString.Chars(0).ToString - 1)
               End If
               If i.ToString.Chars(1).ToString = "0" Then
                   Return Nm.Split(",")(i.ToString.Chars(0).ToString - 1) & " و " & Tran(i.ToString.Chars(2).ToString)
               End If
               Return Nm.Split(",")(i.ToString.Chars(0).ToString - 1) & " و " & Tran(i.ToString.Remove(0, 1))
           Case 4
               If i.ToString.Chars(1).ToString = "0" And i.ToString.Chars(2).ToString = "0" And i.ToString.Chars(3).ToString = "0" Then
                   Return Nt.Split(",")(i.ToString.Chars(0).ToString - 1)
               End If
               If i.ToString.Chars(1).ToString = "0" Then
                   Return Nt.Split(",")(i.ToString.Chars(0).ToString - 1) & " و " & Tran(i.ToString.Remove(0, 2))
               End If
               Return Nt.Split(",")(i.ToString.Chars(0).ToString - 1) & " و " & Tran(i.ToString.Remove(0, 1))
       End Select

   End Function


الان لو وضعت اثنان تكست بوكس وكتبت الكود التالي


كود :
TextBox2.Text = Tran(TextBox1.Text)


سوف يعطيك النتيجة ان شاء الله
الرد }}}
تم الشكر بواسطة: asemshahen5 , asemshahen5


الردود في هذا الموضوع
RE: طريقة التفقيط لعملة دينار كويتى وقرائة 3 ارقام بعد العلامة - بواسطة 3booody - 15-11-19, 08:25 PM


التنقل السريع :


يقوم بقرائة الموضوع: