الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة تفقيط الأرقام بلغة فيجوال بيسك 2008

بدأه Obada_25 في 5 مايو 2011 · 2 رد · 1,018 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

إخواني أحتاج إلى مساعدة عاجلة في تفقيط الأرقام بلغة فيجوال بيسك 2008

عملت فورم نزلت عليه اثنين - تيكست بوكس - واحد لادخال الرقم من المستخدم والآخر لعرض القيمة

لكن واجهتني مشكلة وهي عندما أدخل رقم من واحد - تسعة يعطي نتيجة صحيحة ويشتغل الربنامج تمام

لكن عندما أدخل رقمين مثلا 22 أو 11 مباشرة يعطي خطأ InvalidCastExcepton was unhancedled

أرجو المساعدة يا إخواني والكود كامل في الأسفل قمت بنسخ كامل الكود من أوله لآخره ضمن التطبيق

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

Public Class Form2

Dim Letter1

Dim Letter2

Dim Letter3

Dim Letter4

Dim Letter5

Dim Letter6

Dim Result

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Text1.TextChanged

Text2.Text = TAFKET(Val(Text1.Text))

End Sub

Public Function TAFKET(ByVal X)

Dim N = Int(X)

Dim b = SHorof(Val(Microsoft.VisualBasic.Right(Format(X, "000000000000.00"), 2)))

Dim r = SHorof(N)

If r <> " " And b >= 0 Then Result = r & " و " & b

If r <> "" And b = 0 Then Result = r

If r = "" And b <> 0 Then Result = b

TAFKET = Result

End Function

Private Function SHorof(ByVal X)

Dim N = Int(X)

Dim c = Format(N, "000000000000")

Dim LetterX = Letter1

Dim 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

Dim C1 = Val(Mid(c, 12, 1))

If C1 = 1 And C2 <> 1 Then Letter1 = "واحد"

If C1 = 2 And C2 <> 1 Then Letter1 = "اثنان"

If C1 = 3 And C2 <> 1 Then Letter1 = "ثلاثة"

If C1 = 4 And C2 <> 1 Then Letter1 = "أربعة"

If C1 = 5 And C2 <> 1 Then Letter1 = "خمسة"

If C1 = 6 And C2 <> 1 Then Letter1 = "ستة"

If C1 = 7 And C2 <> 1 Then Letter1 = "سبعة"

If C1 = 8 And C2 <> 1 Then Letter1 = "ثمانية"

If C1 = 9 And C2 <> 1 Then Letter1 = "تسعة"

If Letter1 <> "" And C2 > 1 Then Letter2 = Letter2 + "" + Letter1

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 = 3 And C2 = 1 Then Letter2 = "ثلاثة عشر"

If C1 = 4 And C2 = 1 Then Letter2 = "أربعة عشر"

If C1 = 5 And C2 = 1 Then Letter2 = "خمسة عشر"

If C1 = 6 And C2 = 1 Then Letter2 = "ستة عشر"

If C1 = 7 And C2 = 1 Then Letter2 = "سبعة عشر"

If C1 = 8 And C2 = 1 Then Letter2 = "ثمانية عشر"

If C1 = 9 And C2 = 1 Then Letter2 = "تسعة عشر"

Dim LetterXX = Letter2

If LetterXX = LetterX Then

If C1 > 2 And C2 = 1 Then Letter2 = Letter1 + "" + Letter2

Dim C3 = Val(Mid(c, 10, 1))

Select Case C3

Case Is >= 1 : Letter3 = Microsoft.VisualBasic.Left(SHorof(C3), Len(SHorof(C3))) + " مائة"

End Select

If Letter3 <> "" And Letter2 <> "" Then Letter3 = Letter3 + "و" + Letter2

Else

If C1 > 2 And C2 = 1 Then Letter2 = Letter1 + " " + Letter2

Dim C3 = Val(Mid(c, 10, 1))

Select Case C3

Case Is >= 1 : Letter3 = Microsoft.VisualBasic.Left(SHorof(C3), Len(SHorof(C3))) + " مائة"

End Select

If Letter3 <> "" And Letter2 <> "" Then Letter3 = Letter3 + " " + Letter2

End If

If Letter3 = "" Then Letter3 = Letter2

Dim C4 = Val(Mid(c, 7, 3))

Select Case C4

Case Is >= 1 : Letter4 = SHorof(C4) + " ألف"

End Select

If LetterXX = Letter3 Then

If Letter4 <> "" And Letter3 <> "" Then Letter4 = Letter4 + "و" + Letter3

If Letter4 = "" Then Letter4 = Letter3

Else

If Letter4 <> "" And Letter3 <> "" Then Letter4 = Letter4 + " " + Letter3

If Letter4 = "" Then Letter4 = Letter3

End If

Dim C5 = Val(Mid(c, 4, 3))

Select Case C5

Case Is >= 1 : Letter5 = SHorof(C5) + " مليون"

End Select

If LetterXX = Letter3 Then

If Letter5 <> "" And Letter4 <> "" Then Letter5 = Letter5 + "و" + Letter4

If Letter5 = "" Then Letter5 = Letter4

Else

If Letter5 <> "" And Letter4 <> "" Then Letter5 = Letter5 + " " + Letter4

If Letter5 = "" Then Letter5 = Letter4

End If

Dim C6 = Val(Mid(c, 1, 3))

Select Case C6

Case Is >= 1 : Letter6 = SHorof(C6) + " بليون"

End Select

If Letter6 <> "" And Letter5 <> "" Then Letter6 = Letter6 + " " + Letter5

If Letter6 = "" Then Letter6 = Letter5

SHorof = Letter6

End Function

End Class

#2

السلام عليكم

ألم تعلم ان هذه المنتدى هو للسي شارب فقط, يوجد منتدى مخصص للفيجوال بيسك

ايضا طريقة وضعك للكود سبب قوي لعدم الاجابة عن الموضوع, استخدام رمز الكود عند ادراج كود

بالتوفيق

قولوا لا اله الا الله تفلحوا

ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم

#3

السلام عليكم ورحمه الله وبركاته

اخي كما ذكر الاخ السابق .. قم بتحويل موضوعك في قسم الفيجوال بيسك وسيتم حله باذن الله

.:: Wish to become better and better ::.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…