تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تفقيط الأرقام العشرية بالانكليزية
#11
مشكووووور والله ما قصرت زادك الله علماً على علم

بخصوص طلبي الثاني
إقتباس :- كذلك هل يمكن تحديد عدد الأرقام بعد الفاصلة بحيث لا يمكن للمستخدم كتابة أكثر من رقمين بعدها
فهل من سبيل لحله

وشكرا جزيلا على أية حال
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#12
أخواني الأفاضل
فيما يتعلق بسؤالي السابق حول إمكانية عدم السماح للمستخدم إضافة أكثر من رقمين بعد الفاصلة العشرية فقد وجدت من خلال البحث الكود التالي
كود :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        If IsNumeric(e.KeyChar) Or e.KeyChar = "." Then
            If InStr(TextBox1.Text, ".") > 0 Then
                Dim TestText As String = Microsoft.VisualBasic.Right(TextBox1.Text, (Len(TextBox1.Text) - InStr(TextBox1.Text, ".")))
                If Len(TestText) = 2 Then
                    e.Handled = True
                End If
            End If
        End If
    End Sub

إلا أن هذا الكود مع أنه لا يسمح بإدخال أكثر من رقمين بعد الفاصلة لكن بعد إدخال هذين الرقمين تتوقف الكتابة في التكست بوكس نهائياً ولايمكن التعديل
على كامل الرقم إلا بمسح ما بعد الفاصلة، مع العلم أني قد رأيت في إحدى المرات امكانية كتابة رقمين فقط بعد الفاصلة مع امكانية تعديل الرقم الذي قبل الفاصلة
أي تتوقف الكتابة فقط عندما يكون مؤشر الكتابة خلف الرقم الثاني بعد الفاصلة

آمل أخواني أني قد أوصلت الفكرة بشكل صحيح وأن ألقى ردودكم الكريمة قريباً
تقبلوا جميعاً تحياتي
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#13
.....

منقول

دالة TextBoxDec وفيها تحديد إدخال عدد منازل الكسر العشري لحد معين لمربع النص

يجب إبطال خاصية اللصق لمربعات النص TextBox التي مخصصة للأرقام عن طريق تغيير الخاصية ShortcutsEnabled إلى False
بالإمكان تجميع أحداث KeyPress لمربعات النص التي لها نفس المهمة في دالة حدث واحدة بعد كلمة Handles
كود :
Public Class Form1

    '' إبطال خاصية اللصق في مربع النص - يفترض تعيينه من خلال خصائص الأداة وليس برمجياً
    'TextBox1.ShortcutsEnabled = False
    'TextBox2.ShortcutsEnabled = False


    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs) Handles TextBox1.KeyPress ', TextBox2.KeyPress
        TextBoxDec(sender, e, 2)
    End Sub

    ' دالة يتم فيها تحديد إدخال عدد منازل الكسر العشري لحد معين لمربع النص - يستحسن وضعها في موديول لتعمل في كامل المشروع
    Public Sub TextBoxDec(ByRef sender As Object, ByVal e As KeyPressEventArgs, Optional ByVal dec As Byte = 0)

        ' إذا كان الرمز المدخل أحد رموز التحكم إقبله واخرج
        If Char.IsControl(e.KeyChar) Then
            Return
        End If

        ' إذا كان الرمز المدخل ليس من مجموعة الرموز هذه أرفضه واخرج
        If InStr(IIf(dec > 0, "1234567890.", "1234567890"), e.KeyChar) = 0 Then
            e.Handled = True
            Return
        End If

        ' إذا كان رمز الفاصلة العشرية موجود مسبقا أرفض الرمز المدخل حاليا واخرج
        If e.KeyChar = "." And sender.Text.Contains(".") Then
            e.Handled = True
            Return
        End If

        ' عمل نسخة مؤقته من القيمة الموجودة سابقاً
        Dim tmpText As String = sender.Text

        ' إدراج الرمز المدخل حالياً في مكان المؤشر  في النسخة المؤقتة
        tmpText = tmpText.Insert(sender.SelectionStart, e.KeyChar)

        ' عندما تحتوي النسخة المؤقتة على الفاصلة العشرية
        If tmpText.Contains(".") Then

            ' إذا كان عدد منازل الكسر العشري أكبر من المطلوب أرفض الرمز المدخل واخرج
            If tmpText.Substring(tmpText.IndexOf(".") + 1).Length > dec Then
                e.Handled = True
                Return
            End If

        End If

    End Sub

End Class

.....
الرد }}}
تم الشكر بواسطة: abuzzouz
#14
بارك الله فيكم

هذا موضوع منقول من المنتدي القديم يمكن الاستفادة منه
http://vb4arb.com/vb4/showthread.php?545...%CA-%E4%CA

اتمنى لكم التوفيق
الرد }}}
تم الشكر بواسطة: abuzzouz
#15
مشكووووووور أخي vbnet هذا هو المطلوب أحسنت وبارك الله لك في علمك ورزقك

أخي مبرمج أوتار شكراً جزيلاً فعلا مميزين فالتميز لا يأتي فقط بالمعرفة وإنما أيضاً بمدى الاهتمام بالآخرين
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  خطوط تعريب الأرقام في كريستال ريبورت صالح عبدالله 4 286 16-02-24, 09:28 PM
آخر رد: صالح عبدالله
  [VB.NET] ارغب في كود إلزام المستخدم ادخال الأرقام محصور بعددين loay775 2 209 18-01-24, 05:02 PM
آخر رد: loay775
Question [VB.NET] اسم عمود الأرقام في DataGridView أبو خالد الشكري 6 610 03-12-23, 08:01 AM
آخر رد: أبو خالد الشكري
  طريقة تحويل الأرقام إلى حروف Adel27213 2 530 18-11-23, 01:40 AM
آخر رد: sniper2030
Sad مشكلة تقريب الأرقام Sql Server waataanys 1 418 13-11-23, 11:39 PM
آخر رد: waataanys
Sad مشكلة تقريب الأرقام Sql Server waataanys 0 329 12-11-23, 11:48 PM
آخر رد: waataanys
  إجبار المستخدم على إدخال عدد معين من الأرقام Ahmed.vb 6 662 20-10-23, 10:25 AM
آخر رد: atefkhalf2004
  [VB.NET] سؤال بخصوص العلامات العشرية والتقريب علاء الكبابي 2 525 05-06-23, 01:02 PM
آخر رد: علاء الكبابي
  مشكلة ترتيب وفرز الأرقام في الداتاقريدفيو صالح عبدالله 4 621 13-05-23, 12:29 PM
آخر رد: صالح عبدالله
  تفقيط حقول التقرير ReportViewer Tajaldeen 2 711 19-02-23, 11:27 PM
آخر رد: estefsar

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


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