تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] تحويل العمله الى نص مكتوب
#1
السلام عليكم
اريد كود يقوم يتحويل العمله من رقم الى حروف مكتوبه باستخدام vb.net2010
بمعنى :::: = 1320
الى :::: = الف وثلاث مائه وعشرون .

وشكراً ..
الرد }}}
تم الشكر بواسطة:
#2
.....

منقول

طريقة استخدام دالة تحويل الرقم إلى نص مع إضافة اسم العملة وإضافة خاصية اختيار الكسر العشري الثلاثي
كود :
' عملة بكسر عشري ثنائي
Me.TextBox2.Text = NoToTxt(Val(Me.TextBox1.Text), "ريال", "هللة", False)
كود :
' عملة بكسر عشري ثلاثي كالعملة الليبية حيث يتكون الدينار من 1000 درهم
Me.TextBox2.Text = NoToTxt(Va(Me.TextBox1.Text), "دينار", "درهم", True)

دالة التحويل بعد تحسينها وإضافة خاصية اختيار الكسر العشري الثلاثي
ضع هذا الكود في موديول Module
كود :
Module mdl_NoToTxt
    Function NoToTxt(ByVal TheNo As Double, ByVal MyCur As String, ByVal MySubCur As String, Optional ByVal Dec3Digit As Boolean = False) As String
        '======================
        If Dec3Digit Then
            If TheNo > 999999999999.999 Then Return Nothing
        Else
            If TheNo > 999999999999.99 Then Return Nothing
        End If
        '======================
        If TheNo = 0 Then Return "صفر"
        '======================

        Dim MyNoToTxt As String
        Dim MyNo, GetNo, RdNo, GetTxt, ReMark As String
        Dim My100, My10, My1, My11, My12 As String
        Dim Mybillion, MyMillion As String
        Dim MyThou, MyHun, MyFraction As String
        Dim MyArry1() As String = {"", "واحد", "إثنان", "ثلاثة", "أربعة", "خمسة", "ستة", "سبعة", "ثمانية", "تسعة"}
        Dim MyArry2() As String = {"", " عشر", "عشرون", "ثلاثون", "أربعون", "خمسون", "ستون", "سبعون", "ثمانون", "تسعون"}
        Dim MyArry3() As String = {"", "مئة", "مئتان", "ثلاثمائة", "اربعمائة", "خمسمائة", "ستمائة", "سبعمائة", "ثمانمائة", "تسعمائة"}
        Dim MyAnd As String = " و"

        '======================
        If Dec3Digit Then
            GetNo = Format(TheNo, "000000000000.000")
        Else
            GetNo = Format(TheNo, "000000000000.00")
        End If
        '======================
        For i = 0 To 14 Step 3

            If i < 12 Then
                MyNo = Mid$(GetNo, i + 1, 3)
            Else
                If Dec3Digit Then
                    MyNo = Mid$(GetNo, i + 2, 3)
                Else
                    MyNo = "0" + Mid$(GetNo, i + 2, 3)
                End If
            End If

            If (Mid$(MyNo, 1, 3)) > 0 Then

                RdNo = Mid$(MyNo, 1, 1)
                My100 = MyArry3(RdNo)
                RdNo = Mid$(MyNo, 3, 1)
                My1 = MyArry1(RdNo)
                RdNo = Mid$(MyNo, 2, 1)
                My10 = MyArry2(RdNo)

                If Mid$(MyNo, 2, 2) = 11 Then My11 = "أحد عشر"
                If Mid$(MyNo, 2, 2) = 12 Then My12 = "أثنا عشر"
                If Mid$(MyNo, 2, 2) = 10 Then My10 = "عشرة"

                If ((Mid$(MyNo, 1, 1)) > 0) And ((Mid$(MyNo, 2, 2)) > 0) Then My100 = My100 + MyAnd
                If ((Mid$(MyNo, 3, 1)) > 0) And ((Mid$(MyNo, 2, 1)) > 1) Then My1 = My1 + MyAnd

                GetTxt = My100 + My1 + My10

                If ((Mid$(MyNo, 3, 1)) = 1) And ((Mid$(MyNo, 2, 1)) = 1) Then
                    GetTxt = My100 + My11
                    If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My11
                End If

                If ((Mid$(MyNo, 3, 1)) = 2) And ((Mid$(MyNo, 2, 1)) = 1) Then
                    GetTxt = My100 + My12
                    If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My12
                End If

                If (i = 0) And (GetTxt <> "") Then
                    If ((Mid$(MyNo, 1, 3)) > 10) Then
                        Mybillion = GetTxt + " مليون"
                    Else
                        Mybillion = GetTxt + " مليون"
                        If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " مليون"
                        If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " ملايين"
                    End If
                End If

                If (i = 3) And (GetTxt <> "") Then

                    If ((Mid$(MyNo, 1, 3)) > 10) Then
                        MyMillion = GetTxt + " مليون"
                    Else
                        MyMillion = GetTxt + " ملايين"
                        If ((Mid$(MyNo, 1, 3)) = 1) Then MyMillion = " مليون"
                        If ((Mid$(MyNo, 1, 3)) = 2) Then MyMillion = " ملايين"
                    End If
                End If

                If (i = 6) And (GetTxt <> "") Then
                    If ((Mid$(MyNo, 1, 3)) > 10) Then
                        MyThou = GetTxt + " ألف"
                    Else
                        MyThou = GetTxt + " آلاف"
                        If ((Mid$(MyNo, 3, 1)) = 1) Then MyThou = " ألف"
                        If ((Mid$(MyNo, 3, 1)) = 2) Then MyThou = " آلاف"
                    End If
                End If

                If (i = 9) And (GetTxt <> "") Then MyHun = GetTxt
                If (i = 12) And (GetTxt <> "") Then MyFraction = GetTxt
            End If
        Next

        If (Mybillion <> "") Then
            If (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then Mybillion = Mybillion + MyAnd
        End If

        If (MyMillion <> "") Then
            If (MyThou <> "") Or (MyHun <> "") Then MyMillion = MyMillion + MyAnd
        End If

        If (MyThou <> "") Then
            If (MyHun <> "") Then MyThou = MyThou + MyAnd
        End If

        If MyFraction <> "" Then
            If (Mybillion <> "") Or (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then
                MyNoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur + MyAnd + MyFraction + " " + MySubCur
            Else
                MyNoToTxt = ReMark + MyFraction + " " + MySubCur
            End If
        Else
            MyNoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur
        End If

        Return MyNoToTxt
    End Function
End Module

.....
الرد }}}
تم الشكر بواسطة: vb_net , مالكـ , أبو عمر , baha
#3
احسنت ،، وبارك الله فيك ..
الرد }}}
تم الشكر بواسطة:
#4
أحسنت أخي وبارك الله فيك
لكن هذا الكود هو للعربية أما لو حبيت أعمله بالفرنسية أو أي لغة أخرى فهل أغير نا هو بالعربية إلى الفرنسية فقط ؟
أرجوا الرد
الرد }}}
تم الشكر بواسطة:
#5
احسنت ،، وبارك الله فيك ..
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] تحويل المشروع سطح المكتب للعمل على الويب Doby 3 381 13-01-24, 04:22 AM
آخر رد: dr.programming
  تحويل مشروع من c# الى فيجول بيسك Lathe1 4 726 05-01-24, 01:05 AM
آخر رد: HALIM ELEULMA
  [VB.NET] تحويل التاريخ بين أداتين تايم بيكر في نفس الفورم محمد العموري 1 277 29-12-23, 10:44 PM
آخر رد: Kamil
  تحويل مشروع من 2008 الي 2015 atefkhalf2004 0 270 23-11-23, 03:10 PM
آخر رد: atefkhalf2004
  طريقة تحويل الأرقام إلى حروف Adel27213 2 532 18-11-23, 01:40 AM
آخر رد: sniper2030
  تحويل التاريخ في الداتاقريدفيو إلى أيام عربية صالح عبدالله 2 323 08-10-23, 12:17 AM
آخر رد: صالح عبدالله
  تحويل مشروع دوت نت الى native code ابو محمد محمد محمد 0 415 26-07-23, 12:18 AM
آخر رد: ابو محمد محمد محمد
  [VB.NET] تحويل من Hex الى text aminesori 4 449 18-07-23, 07:05 PM
آخر رد: aminesori
  تحويل من قاعدة بيانات الى مصفوفة Lathe1 4 831 31-05-23, 09:41 PM
آخر رد: fouadhdfouad
Lightbulb [كود] ♥ تحويل كودين مــــــــ VB.net ـــــــــن إلــــــــــــ VB6 ــــــــــــى♥ أبو خالد الشكري 7 576 27-05-23, 10:35 PM
آخر رد: أبو خالد الشكري

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم