السادة القائمين على الملتقى
السلام عليكم ورحمة الله وبركاته
شكرا جزيلا على قبول انضمامي للملتقى
ولدي سؤال عن كود التفقيط في vb.net
حيث اني اريد عمل تفقيط لمبالغ مالية ولا اعرف كود التفقيط في vb.net
السادة القائمين على الملتقى
السلام عليكم ورحمة الله وبركاته
شكرا جزيلا على قبول انضمامي للملتقى
ولدي سؤال عن كود التفقيط في vb.net
حيث اني اريد عمل تفقيط لمبالغ مالية ولا اعرف كود التفقيط في vb.net
اضف موديول لمشروعك .. وانسخ بها هذا الكود .. .
تناسيم كتب:السادة القائمين على الملتقى
السلام عليكم ورحمة الله وبركاته
شكرا جزيلا على قبول انضمامي للملتقى
ولدي سؤال عن كود التفقيط في vb.net
حيث اني اريد عمل تفقيط لمبالغ مالية ولا اعرف كود التفقيط في vb.net
AbuHazem.vb2012 كتب:
اضف موديول لمشروعك .. وانسخ بها هذا الكود .. .
' اجعل هذه المكتبات اعلى الموديول .في DeclarationsOption Strict OffOption Explicit OffImports Microsoft.Win32Imports Microsoft.VisualBasicتم انسخ الدوال التالية داخل الموديول : Module1Module Module1Public Function HAZEM(ByVal HAZEM1 As Object, ByVal HAZEM2 As String) As StringOn Error Resume NextDim VPS As Decimal = 0Dim V As Decimal = 0Dim WORDINTEGER As String = ""Dim LE As String = ""Dim P As String = ""Dim PS As String = ""HAZEM = ""Dim POUNDS As String = ""Dim WORDPS As String = ""Dim DOLLAR As String = ""Dim SENT As String = ""Dim SENTS As String = ""Dim TON As String = ""Dim KG As String = ""Dim KGS As String = ""Select Case HAZEM2Case "KSA"LE = " ريال "P = " هللة "PS = " هلالات "POUNDS = " ريالات "V = Int(Math.Abs(HAZEM1))VPS = Val(Right(Format(HAZEM1, "000000000000.00"), 2))WORDINTEGER = AmountWord(V)WORDPS = AmountWord(VPS)If WORDINTEGER <> "" And (VPS <= 2) Then HAZEM = WORDINTEGER & LE & " و " & WORDPS & P & "فقط لاغير "If WORDINTEGER <> "" And (VPS >= 3 And VPS <= 9) Then HAZEM = WORDINTEGER & LE & " و " & WORDPS & PS & "فقط لاغير "If WORDINTEGER <> "" And (VPS > 9) Then HAZEM = WORDINTEGER & LE & " و " & WORDPS & P & "فقط لاغير "If WORDINTEGER = "" And (VPS <= 2) Then HAZEM = WORDPS & P & "فقط لاغير "If WORDINTEGER = "" And (VPS >= 3 And VPS <= 9) Then HAZEM = WORDPS & PS & "فقط لاغير "If WORDINTEGER = "" And VPS > 9 Then HAZEM = WORDPS & P & "فقط لاغير "If WORDINTEGER = "" And VPS = 0 Then HAZEM = ""If WORDINTEGER <> "" And VPS = 0 Then HAZEM = WORDINTEGER & LE & "فقط لاغير "End SelectEnd FunctionPrivate Function AmountWord(ByVal AMOUNT As Decimal) As StringOn Error Resume NextDim n As Decimal = 0Dim C1 As Decimal = 0Dim C2 As Decimal = 0Dim C3 As Decimal = 0Dim C4 As Decimal = 0Dim C5 As Decimal = 0Dim C6 As Decimal = 0Dim S1 As String = ""Dim S2 As String = ""Dim S3 As String = ""Dim S4 As String = ""Dim S5 As String = ""Dim S6 As String = ""Dim C As String = ""n = Int(AMOUNT)C = Format(n, "000000000000")C1 = Val(Mid(C, 12, 1))Select Case C1Case Is = 1 : S1 = "واحد"Case Is = 2 : S1 = "اثنان"Case Is = 3 : S1 = "ثلاثة"Case Is = 4 : S1 = "اربعة"Case Is = 5 : S1 = "خمسة"Case Is = 6 : S1 = "ستة"Case Is = 7 : S1 = "سبعة"Case Is = 8 : S1 = "ثمانية"Case Is = 9 : S1 = "تسعة"End SelectC2 = Val(Mid(C, 11, 1))Select Case C2Case Is = 1 : S2 = "عشر"Case Is = 2 : S2 = "عشرون"Case Is = 3 : S2 = "ثلاثون"Case Is = 4 : S2 = "اربعون"Case Is = 5 : S2 = "خمسون"Case Is = 6 : S2 = "ستون"Case Is = 7 : S2 = "سبعون"Case Is = 8 : S2 = "ثمانون"Case Is = 9 : S2 = "تسعون"End SelectIf S1 <> "" And C2 > 1 Then S2 = S1 + " و" + S2If S2 = "" Then S2 = S1If C1 = 0 And C2 = 1 Then S2 = S2 + "ة"If C1 = 1 And C2 = 1 Then S2 = "احدى عشر"If C1 = 2 And C2 = 1 Then S2 = "اثنى عشر"If C1 > 2 And C2 = 1 Then S2 = S1 + " " + S2C3 = Val(Mid(C, 10, 1))Select Case C3Case Is = 1 : S3 = "مائة"Case Is = 2 : S3 = "مئتان"Case Is > 2 : S3 = Left(AmountWord(C3), Len(AmountWord(C3)) - 1) + "مائة"End SelectIf S3 <> "" And S2 <> "" Then S3 = S3 + " و" + S2If S3 = "" Then S3 = S2C4 = Val(Mid(C, 7, 3))Select Case C4Case Is = 1 : S4 = "الف"Case Is = 2 : S4 = "الفان"Case 3 To 10 : S4 = AmountWord(C4) + " آلاف"Case Is > 10 : S4 = AmountWord(C4) + " الف"End SelectIf S4 <> "" And S3 <> "" Then S4 = S4 + " و" + S3If S4 = "" Then S4 = S3C5 = Val(Mid(C, 4, 3))Select Case C5Case Is = 1 : S5 = "مليون"Case Is = 2 : S5 = "مليونان"Case 3 To 10 : S5 = AmountWord(C5) + " ملايين"Case Is > 10 : S5 = AmountWord(C5) + " مليون"End SelectIf S5 <> "" And S4 <> "" Then S5 = S5 + " و" + S4If S5 = "" Then S5 = S4C6 = Val(Mid(C, 1, 3))Select Case C6Case Is = 1 : S6 = "مليار"Case Is = 2 : S6 = "ملياران"Case Is > 2 : S6 = AmountWord(C6) + " مليار"End SelectIf S6 <> "" And S5 <> "" Then S6 = S6 + " و" + S5If S6 = "" Then S6 = S5AmountWord = S6End FunctionEnd Moduleغير الريال والهللات بعملة بلدك ....Case "KSA"LE = " ريال "P = " هللة "PS = " هلالات "POUNDS = " ريالات "كود مجرب وشغال 100% جرب وعطنا رأيك جربته على كل الاصدرات 2008-2010-2012
AbuHazem.vb2012 كتب:
اضف موديول لمشروعك .. وانسخ بها هذا الكود .. .
' اجعل هذه المكتبات اعلى الموديول .في DeclarationsOption Strict OffOption Explicit OffImports Microsoft.Win32Imports Microsoft.VisualBasicتم انسخ الدوال التالية داخل الموديول : Module1Module Module1Public Function HAZEM(ByVal HAZEM1 As Object, ByVal HAZEM2 As String) As StringOn Error Resume NextDim VPS As Decimal = 0Dim V As Decimal = 0Dim WORDINTEGER As String = ""Dim LE As String = ""Dim P As String = ""Dim PS As String = ""HAZEM = ""Dim POUNDS As String = ""Dim WORDPS As String = ""Dim DOLLAR As String = ""Dim SENT As String = ""Dim SENTS As String = ""Dim TON As String = ""Dim KG As String = ""Dim KGS As String = ""Select Case HAZEM2Case "KSA"LE = " ريال "P = " هللة "PS = " هلالات "POUNDS = " ريالات "V = Int(Math.Abs(HAZEM1))VPS = Val(Right(Format(HAZEM1, "000000000000.00"), 2))WORDINTEGER = AmountWord(V)WORDPS = AmountWord(VPS)If WORDINTEGER <> "" And (VPS <= 2) Then HAZEM = WORDINTEGER & LE & " و " & WORDPS & P & "فقط لاغير "If WORDINTEGER <> "" And (VPS >= 3 And VPS <= 9) Then HAZEM = WORDINTEGER & LE & " و " & WORDPS & PS & "فقط لاغير "If WORDINTEGER <> "" And (VPS > 9) Then HAZEM = WORDINTEGER & LE & " و " & WORDPS & P & "فقط لاغير "If WORDINTEGER = "" And (VPS <= 2) Then HAZEM = WORDPS & P & "فقط لاغير "If WORDINTEGER = "" And (VPS >= 3 And VPS <= 9) Then HAZEM = WORDPS & PS & "فقط لاغير "If WORDINTEGER = "" And VPS > 9 Then HAZEM = WORDPS & P & "فقط لاغير "If WORDINTEGER = "" And VPS = 0 Then HAZEM = ""If WORDINTEGER <> "" And VPS = 0 Then HAZEM = WORDINTEGER & LE & "فقط لاغير "End SelectEnd FunctionPrivate Function AmountWord(ByVal AMOUNT As Decimal) As StringOn Error Resume NextDim n As Decimal = 0Dim C1 As Decimal = 0Dim C2 As Decimal = 0Dim C3 As Decimal = 0Dim C4 As Decimal = 0Dim C5 As Decimal = 0Dim C6 As Decimal = 0Dim S1 As String = ""Dim S2 As String = ""Dim S3 As String = ""Dim S4 As String = ""Dim S5 As String = ""Dim S6 As String = ""Dim C As String = ""n = Int(AMOUNT)C = Format(n, "000000000000")C1 = Val(Mid(C, 12, 1))Select Case C1Case Is = 1 : S1 = "واحد"Case Is = 2 : S1 = "اثنان"Case Is = 3 : S1 = "ثلاثة"Case Is = 4 : S1 = "اربعة"Case Is = 5 : S1 = "خمسة"Case Is = 6 : S1 = "ستة"Case Is = 7 : S1 = "سبعة"Case Is = 8 : S1 = "ثمانية"Case Is = 9 : S1 = "تسعة"End SelectC2 = Val(Mid(C, 11, 1))Select Case C2Case Is = 1 : S2 = "عشر"Case Is = 2 : S2 = "عشرون"Case Is = 3 : S2 = "ثلاثون"Case Is = 4 : S2 = "اربعون"Case Is = 5 : S2 = "خمسون"Case Is = 6 : S2 = "ستون"Case Is = 7 : S2 = "سبعون"Case Is = 8 : S2 = "ثمانون"Case Is = 9 : S2 = "تسعون"End SelectIf S1 <> "" And C2 > 1 Then S2 = S1 + " و" + S2If S2 = "" Then S2 = S1If C1 = 0 And C2 = 1 Then S2 = S2 + "ة"If C1 = 1 And C2 = 1 Then S2 = "احدى عشر"If C1 = 2 And C2 = 1 Then S2 = "اثنى عشر"If C1 > 2 And C2 = 1 Then S2 = S1 + " " + S2C3 = Val(Mid(C, 10, 1))Select Case C3Case Is = 1 : S3 = "مائة"Case Is = 2 : S3 = "مئتان"Case Is > 2 : S3 = Left(AmountWord(C3), Len(AmountWord(C3)) - 1) + "مائة"End SelectIf S3 <> "" And S2 <> "" Then S3 = S3 + " و" + S2If S3 = "" Then S3 = S2C4 = Val(Mid(C, 7, 3))Select Case C4Case Is = 1 : S4 = "الف"Case Is = 2 : S4 = "الفان"Case 3 To 10 : S4 = AmountWord(C4) + " آلاف"Case Is > 10 : S4 = AmountWord(C4) + " الف"End SelectIf S4 <> "" And S3 <> "" Then S4 = S4 + " و" + S3If S4 = "" Then S4 = S3C5 = Val(Mid(C, 4, 3))Select Case C5Case Is = 1 : S5 = "مليون"Case Is = 2 : S5 = "مليونان"Case 3 To 10 : S5 = AmountWord(C5) + " ملايين"Case Is > 10 : S5 = AmountWord(C5) + " مليون"End SelectIf S5 <> "" And S4 <> "" Then S5 = S5 + " و" + S4If S5 = "" Then S5 = S4C6 = Val(Mid(C, 1, 3))Select Case C6Case Is = 1 : S6 = "مليار"Case Is = 2 : S6 = "ملياران"Case Is > 2 : S6 = AmountWord(C6) + " مليار"End SelectIf S6 <> "" And S5 <> "" Then S6 = S6 + " و" + S5If S6 = "" Then S6 = S5AmountWord = S6End FunctionEnd Moduleغير الريال والهللات بعملة بلدك ....Case "KSA"LE = " ريال "P = " هللة "PS = " هلالات "POUNDS = " ريالات "كود مجرب وشغال 100% جرب وعطنا رأيك جربته على كل الاصدرات 2008-2010-2012
شكرا جزيلا اخي على الرد والكود انا نسخت الكود في موديول مشروعي وايضا نسخت المكتبات اعلى الموديول ولكن Option Strict Off
أنا لم اجرب على 2005 ولكن تشتغل ...اغلق المكتبتين التي بتطلغ الخطاء ونفذ الكود ...
اما بالنسبة لاستدعائها عن طريق الفورم ..
اجعل تسكت بوكس لتكتب فيه الرقم المراد تفقيطه .. وليكن Txttotal.Text
وتكست اخر ليظهر فيه التفقيط بالاحرف وليكن TxtTotalOnly.Text
ثم تستدعي الدالة كالتالي : بدون تغيير أي شيء
("Me.TxtTotalOnly.Text = HAZEM(Val(Me.Txttotal.Text), "KSA
AbuHazem.vb2012 كتب:أنا لم اجرب على 2005 ولكن تشتغل ...اغلق المكتبتين التي بتطلغ الخطاء ونفذ الكود ...
اما بالنسبة لاستدعائها عن طريق الفورم ..
اجعل تسكت بوكس لتكتب فيه الرقم المراد تفقيطه .. وليكن Txttotal.Text
وتكست اخر ليظهر فيه التفقيط بالاحرف وليكن TxtTotalOnly.Text
ثم تستدعي الدالة كالتالي : بدون تغيير أي شيء
("Me.TxtTotalOnly.Text = HAZEM(Val(Me.Txttotal.Text), "KSA
يوجد لدي syntax error حيث يوجد خط تحت اول قوس
AbuHazem.vb2012 كتب:أنا لم اجرب على 2005 ولكن تشتغل ...اغلق المكتبتين التي بتطلغ الخطاء ونفذ الكود ...
اما بالنسبة لاستدعائها عن طريق الفورم ..
اجعل تسكت بوكس لتكتب فيه الرقم المراد تفقيطه .. وليكن Txttotal.Text
وتكست اخر ليظهر فيه التفقيط بالاحرف وليكن TxtTotalOnly.Text
ثم تستدعي الدالة كالتالي : بدون تغيير أي شيء
("Me.TxtTotalOnly.Text = HAZEM(Val(Me.Txttotal.Text), "KSA
يوجد لدي syntax error حيث يوجد خط تحت اول قوس
أخي أبو حازم .. انا عملت مشروع جديد و نفذت اللي انت كتبته بالظبط .. وكل شيء تمام لكن هل ممكن أن يكتب الكسر العشري أرقام و ليس حروف
تم تعديل هذه المشاركة بواسطة أسكندراني في 7 سبتمبر 2014 في 14:05
مشرفنا العزيز محمد فؤاد تركي .. شكرا على الرد و لكن المطلوب هو أن يفقط العدد الصحيح و لكن الكسور العشرية يكتبها أرقام كما هي مثل
255.35 تكون مائتان و خمسة و خمسون جنية و 35 قرش فقط لا غير
و شكرا
استاذ محمد فؤاد تركي انا عملت موضوع جديد بالنسبة لطلبي للتفقيط في الرابط التالي