الاتصال بنا



النتائج 1 إلى 5 من 5

الموضوع: vb5

  1. #1
    عضو جديد
    تاريخ التسجيل
    Apr 2000
    المشاركات
    5


    الى مبرمجي الفيجوال بيسيك 5 كيف يمكنني عمل كود مثلا لتحويل القيمة العددية الى قيمة كتابية تلقائيا مثال ذلك
    150 الى مائة وخمسون ريال فقط

    [b]<small><small>[ تم تعديل الموضوع بواسطة &nbsp; abodi &nbsp; يوم &nbsp; 02-05-2000]





    abodi غير متواجد حالياً


  2. #2


    سوف اعطيك الفكرة الاساسية
    الفكرة عدد مثل 564 يجب تقسيمه الى 3 ارقام 4 ، 6 ، 5 ثمثل خانات الاحاد والعشرات والمئات ،كيف ذلك
    لنفترض ان الرقم X
    فللحصول على خانة الاحاد نستخدم الصيغة X mod 10
    وللحصول على خانة العشرات نستخدم الصيغةInt)X mod 100)/10)
    للحصول على خانة المئات نكتب الصيغةInt)X mod 1000)/100)
    اسف انى الاقواس غير واضحة بشكل صحيح
    سوف اضع كود يفقط الارقام الصحيحة من 1 الى 999
    سوف يظهر بشكل ليس صحيح ولكن بالاخذ نسخ ولصق في نموذج فيجول بيسك
    سوف يعمل البرنامج بشكل صحيح بشرط اضافة 2 Command Button الى الفورم
    الاول هو المسئول عن التفقيط والثانى لانهاء البرنامج
    ارجو منك الرد لمعرفة الرأى وشكرا
    *********** بداية البرنامج
    Option Explicit
    Dim A(10), X(200)
    Private Function SetInst(ByRef N As Single)
    Dim WW As String
    WW = SetDegree(N)
    If N Mod 10 = 0 Then
    SetInst = "فقط " + WW + " ريال"
    Else
    If N < 10 Then
    SetInst = WW + " ريالات فقط"
    Else
    SetInst = WW + " ريال فقط"
    End If
    End If
    Select Case N
    Case 1
    SetInst = "ريال واحدة فقط"
    Case 2
    SetInst = "دريالان فقط"
    End Select
    End Function
    Private Sub Command1_Click()
    Dim K As Single
    Dim I As Integer
    Dim WW As String
    Dim Res As Boolean
    K = Val(InputBox("ادخل الرقم "))
    WW = SetInst(K)
    MsgBox WW
    End Sub
    Private Sub Command2_Click()
    End
    End Sub
    Private Sub Form_Load()
    Call InitA
    End Sub
    Private Sub InitA()
    A(1) = "احدى"
    A(2) = "اثنتا"
    A(3) = "ثلاث"
    A(4) = "اربع"
    A(5) = "خمس"
    A(6) = "ست"
    A(7) = "سبع"
    A(8) = "ثمان"
    A(9) = "تسع"
    End Sub
    Private Function SetDegree(N)
    Dim CC As String
    Dim OrderN As Integer
    Dim W1, W2, W3 As Integer
    Dim AW1, AW2 As String
    SetDegree = " "
    'اقصى عدد يجب ان لايزيد 1000
    OrderN = 1
    If N \ 100 > 0 Then OrderN = OrderN + 1
    If N \ 10 > 0 Then OrderN = OrderN + 1
    Select Case OrderN
    Case 1
    CC = A(N)
    'الحالات الشاذة
    If N = 1 Then CC = "واحد"
    Case 2
    W1 = N Mod 10: W2 = N \ 10
    AW2 = "و" + A(W2) + "ون"
    'الحالات الشاذة
    If W2 = 1 Then AW2 = "عشر"
    If W2 = 2 Then AW2 = "وعشرون"
    CC = A(W1) + " " + AW2
    If W1 = 0 Then
    CC = A(W2) + "ون"
    If W2 = 1 Then CC = "عشر"
    If W2 = 2 Then CC = "عشرون"
    End If
    Case 3
    W3 = N \ 100
    CC = A(W3) + "مائة و " + SetDegree(N Mod 100)
    If W3 = 1 Then CC = "مائة و " + SetDegree(N Mod 100)
    If W3 = 2 Then CC = "مائتين و " + SetDegree(N Mod 100)
    End Select
    SetDegree = CC
    End Function
    *********** نهاية البرنامج







    تمساح النيل غير متواجد حالياً

  3. #3
    عضو جديد
    تاريخ التسجيل
    Apr 2000
    المشاركات
    5


    السلام عليكم ورحمة الله وبركاته اشكرك اخي الكريم(تمساح النيل)على الرد واعطائي معلومه مفيدة جدا وفعلا استفدت منها استفادة كاملة وقمت بعملها وكانت نافعة جدا وجزاك الله الف خير .

    صديقك عبودي





    abodi غير متواجد حالياً

  4. #4


    السلام عليكم ورحمة الله وبركاته
    الاخ / تمساح النيل
    كيف أجعله يقبل الاف ومئات الالوف
    وشكر


    ------------------






    أبو حسين غير متواجد حالياً

  5. #5


    الى الاخى ابوحسين
    ممكن لو ركزت في البرنامج معالجة جميع الحالات ،
    وان شاء الله في اقرب فرصة سوف اكمل البرنامج لتفقيط الارقام الى مليون وذلك بسبب انشغالى ، ولك جزيل الشكر






    تمساح النيل غير متواجد حالياً





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
0