تفقيط فاتورة

الموضوع في 'لغات البرمجة' بواسطة wertani, بتاريخ ‏17 أفريل 2008.

  1. wertani

    wertani عضو نشيط

    إنضم إلينا في:
    ‏6 مارس 2007
    المشاركات:
    273
    الإعجابات المتلقاة:
    73
      17-04-2008 10:07
    عندي فاتورة بالكريستال ريبورت
    في ذيل الفاتورة يوجد حقل فيه مجموع الخام و أريد صياغة هذا المجموع (الأرقام) إلى كلمات
    علما لقد صممت الموديل التحويل من أرقام غلى كلمات بنجاح و هاهو الموديل
    الرجاء مساعدة لقد تعبت
    كود (text):
    Public CRN As Currency
    Public Function Digital(ByVal AMOUNT As Double)
     On Error Resume Next
                   
                     Dinar = " ÏíäÇÑ "
                     Mellime = " ãáíã "
                               
                    V = Int(Math.Abs(AMOUNT))
                    VPS = Val(Right(Format(AMOUNT, "000000000000.000"), 3))
                    WORDINTEGER = AmountWord(V)
                    WORDPS = AmountWord(VPS)
                    If WORDINTEGER <> "" And (VPS <= 2) Then Result = WORDINTEGER & Dinar & " æ " & WORDPS & Mellime & "ÝÞØ áÇÛíÑ "
                    If WORDINTEGER <> "" And (VPS >= 3 And VPS <= 9) Then Result = WORDINTEGER & Dinar & " æ " & WORDPS & Mellime & "ÝÞØ áÇÛíÑ "
                    If WORDINTEGER <> "" And (VPS > 9) Then Result = WORDINTEGER & Dinar & " æ " & WORDPS & Mellime & "ÝÞØ áÇÛíÑ "
                    If WORDINTEGER = "" And (VPS <= 2) Then Result = WORDPS & Mellime & "ÝÞØ áÇÛíÑ "
                    If WORDINTEGER = "" And (VPS >= 3 And VPS <= 9) Then Result = WORDPS & Mellime & "ÝÞØ áÇÛíÑ "
                    If WORDINTEGER = "" And VPS > 9 Then Result = WORDPS & Mellime & "ÝÞØ áÇÛíÑ "
                    If WORDINTEGER = "" And VPS = 0 Then Result = ""
                    If WORDINTEGER <> "" And VPS = 0 Then Result = WORDINTEGER & Dinar & "ÝÞØ áÇÛíÑ "
                    Digital = Result
         
    End Function
    Public Function AmountWord(ByVal AMOUNT As Double)
      On Error Resume Next
     
            n = Int(AMOUNT)
            c = Format(n, "000000000000")
            c1 = Val(Mid(c, 12, 1))
            Select Case c1
                Case Is = 1: str1 = "æÇÍÏ"
                Case Is = 2: str1 = "ÇËäÇä"
                Case Is = 3: str1 = "ËáÇËÉ"
                Case Is = 4: str1 = "ÇÑÈÚÉ"
                Case Is = 5: str1 = "ÎãÓÉ"
                Case Is = 6: str1 = "ÓÊÉ"
                Case Is = 7: str1 = "ÓÈÚÉ"
                Case Is = 8: str1 = "ËãÇäíÉ"
                Case Is = 9: str1 = "ÊÓÚÉ"
            End Select

            c2 = Val(Mid(c, 11, 1))
            Select Case c2
                Case Is = 1: str2 = "ÚÔÑ"
                Case Is = 2: str2 = "ÚÔÑæä"
                Case Is = 3: str2 = "ËáÇËæä"
                Case Is = 4: str2 = "ÇÑÈÚæä"
                Case Is = 5: str2 = "ÎãÓæä"
                Case Is = 6: str2 = "ÓÊæä"
                Case Is = 7: str2 = "ÓÈÚæä"
                Case Is = 8: str2 = "ËãÇäæä"
                Case Is = 9: str2 = "ÊÓÚæä"
            End Select

            If str1 <> "" And c2 > 1 Then str2 = str1 + " æ" + str2
            If str2 = "" Then str2 = str1
            If c1 = 0 And c2 = 1 Then str2 = str2 + "É"
            If c1 = 1 And c2 = 1 Then str2 = "ÇÍÏì ÚÔÑ"
            If c1 = 2 And c2 = 1 Then str2 = "ÇËäì ÚÔÑ"
            If c1 > 2 And c2 = 1 Then str2 = str1 + " " + str2
            c3 = Val(Mid(c, 10, 1))
            Select Case c3
                Case Is = 1: str3 = "ãÇÆÉ"
                Case Is = 2: str3 = "ãÆÊÇä"
                Case Is > 2: str3 = Left(AmountWord(c3), Len(AmountWord(c3)) - 1) + "ãÇÆÉ"
            End Select
            If str3 <> "" And str2 <> "" Then str3 = str3 + " æ" + str2
            If str3 = "" Then str3 = str2

            c4 = Val(Mid(c, 7, 3))
            Select Case c4
                Case Is = 1: str4 = "ÇáÝ"
                Case Is = 2: str4 = "ÇáÝÇä"
                Case 3 To 10: str4 = AmountWord(c4) + " ÂáÇÝ"
                Case Is > 10: str4 = AmountWord(c4) + " ÇáÝ"
            End Select
            If str4 <> "" And str3 <> "" Then str4 = str4 + " æ" + str3
            If str4 = "" Then str4 = str3
            c5 = Val(Mid(c, 4, 3))
            Select Case c5
                Case Is = 1: str5 = "ãáíæä"
                Case Is = 2: str5 = "ãáíæäÇä"
                Case 3 To 10: str5 = AmountWord(c5) + " ãáÇííä"
                Case Is > 10: str5 = AmountWord(c5) + " ãáíæä"
            End Select
            If str5 <> "" And str4 <> "" Then str5 = str5 + " æ" + str4
            If str5 = "" Then str5 = str4

            c6 = Val(Mid(c, 1, 3))

            Select Case c6
                Case Is = 1: str6 = "ãáíÇÑ"
                Case Is = 2: str6 = "ãáíÇÑÇä"
                Case Is > 2: str6 = AmountWord(c6) + " ãáíÇÑ"
            End Select
            If str6 <> "" And str5 <> "" Then str6 = str6 + " æ" + str5
            If str6 = "" Then str6 = str5
            AmountWord = str6
    End Function

     
     
  2. wertani

    wertani عضو نشيط

    إنضم إلينا في:
    ‏6 مارس 2007
    المشاركات:
    273
    الإعجابات المتلقاة:
    73
      18-04-2008 10:06
    شكرا لمن حاول ايجاد حل
    لكن و الحمد لله و جدته و في مرة قادمة سارفع لكم مثالا
     
  3. wertani

    wertani عضو نشيط

    إنضم إلينا في:
    ‏6 مارس 2007
    المشاركات:
    273
    الإعجابات المتلقاة:
    73
      18-04-2008 10:19
    شكرا لمن حاول ايجاد حل
    لكن و الحمد لله و جدته و في مرة قادمة سارفع لكم مثالا
     

مشاركة هذه الصفحة

جاري تحميل الصفحة...