محدود کردن تکست باکس فرم به اعداد منفی و مثبت صحیح و اعشاری

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • sma519

    • 2013/10/23
    • 29
    • 57.00

    [حل شده] محدود کردن تکست باکس فرم به اعداد منفی و مثبت صحیح و اعشاری


    با عرض سلام و ادب خدمت دوستان بزرگوار

    برای محدود کردن تکست باکس فرم به اعداد، راهی پیدا کرده ام که دو تا مشکل دارد و نمیدانم چطور برطرف کنم.

    مشکل اول: اعداد منفی را رشته میداند.
    مشکل دوم: وقتی درج اعداد اعشاری به جای صفر از دات شروع می شود ( یعنی مثلا به جای 0.5، عبارت .5 تایپ می شود که اتفاقاً این شیوه تایپ بسیار رایج است)، آن را رشته در نظر می گیرد.

    من کد نوشته شده رو در فایل پیوست قرار دادم. ممنون میشم اگر دوستان راهنمایی کنند چطور کد رو اصلاح یا تکمیل کنم.

    با تشکر قبلی
    فایل های پیوست شده
  • hadi1980

    • 2019/01/07
    • 237
    • 86.00

    #2
    سلام
    دو تا راهکار داريد
    اول اينکه
    شرط کنترل عدد بودن رو بجاي انتساب به Text1_Change به CommandButton1_Click انتساب بديد يعني اينکه برنامه اي که تو Text1_Change نوشتيد رو ببريد بزاريد توي CommandButton1_Click و اينجوري بعد از اينکه کاربر عدد رو نوشت و تکميل شد کنترل ميشه که ديگه 5- مشکلي ايجاد نميکنه
    دوم اينکه
    قبل از خط کنترل عدد بودن text1 (يعني If IsNumeric(Text1.Text) = False Then) اين خط رو اضافه کنيد اينجوري اگه کاربر با - يا . شروع کنه و فعلا فقط يه کاراکتر وارد کرده، بيخيال ميشه و اجازه ميده کاراکتر دوم وارد بشه
    کد:
    If Len(Text1.Value) = 1 And (Left(Text1.Value, 1) = "-" Or Left(Text1.Value, 1) = ".") Then Exit Sub
    موفق باشيد
    هادي

    کامنت

    • mokaram
      مدير تالار اکسل و بانک اطلاعاتی

      • 2011/02/06
      • 1805
      • 74.00

      #3
      اگر جوابتون دریافت کردید لطفا دکمه حل شده را بزنید تا موضوع به حالت حل شده دربیاد ممنون
      [CENTER][IMG]http://forum.exceliran.com/signaturepics/sigpic909_10.gif[/IMG]
      [/CENTER]

      کامنت

      چند لحظه..