PDA

View Full Version : سوال: محدود کردن یک Edit در دلفی XE2



ilreza2050
جمعه 09 تیر 1391, 10:24 صبح
سلام به همه مهندسای خوب
چجوری میشه یه TEditرو طوری تنظیم یاکدنویسی کرد که فقط بشه داخلش عدد نوشت و اگه داخلش کارکتر نوشته شد ERROR بده (یه SHOW Messageوپیغامی چاپ شه)
زوووووووووووود جواب بدید!!!! :لبخند:

ayub_coder
جمعه 09 تیر 1391, 10:47 صبح
شما می تونی از تابع IsNumeric استفاده کنی ولی اگه بخوای هنگام تایپ کردن اصلا حروف نگیره و فقط عدد بگیره توی event مربوط به keydown چک میکنی کد ساکی مابین '0'-'9' باشه و اگر خارج از محدوده بود کد اسکی رو قبول نکنه. و پیغام بده یا صدای دینگ رو بده

younes221
جمعه 09 تیر 1391, 11:18 صبح
سلام ، خاصیت NumbersOnly از Tedit مورد نظر رو برابر True کن.

یا میتونین از رویداد Keypress استفاده کنید به شکل زیر :



if not (key in ['0'..'9']) then begin
key:=#0;
ShowMessage('لطفا عدد وارد نمایید');
end;

** میتونین کلید های دیگه مثلا اینتر و... رو هم بهش اضافه کنید

سعید صابری
جمعه 09 تیر 1391, 11:59 صبح
سلام ، خاصیت NumbersOnly از Tedit مورد نظر رو برابر True کن.

یا میتونین از رویداد Keypress استفاده کنید به شکل زیر :



if not (key in ['0'..'9']) then begin
key:=#0;
ShowMessage('لطفا عدد وارد نمایید');
end;

** میتونین کلید های دیگه مثلا اینتر و... رو هم بهش اضافه کنید

این پیغام خودش میده البته نه به زبان فارسی

بهروز عباسی
جمعه 09 تیر 1391, 12:34 عصر
http://barnamenevis.org/showthread.php?269943-%D9%88%D8%A7%D8%B1%D8%AF-%DA%A9%D8%B1%D8%AF%D9%86-%D9%85%D9%82%D8%AF%D8%A7%D8%B1-%D8%B9%D8%AF%D8%AF%DB%8C-%D8%AF%D8%B1-%DB%8C%DA%A9-EditBox

younes221
جمعه 09 تیر 1391, 12:56 عصر
این پیغام خودش میده البته نه به زبان فارسی
منظورتون رو نگرفتم چه پیغامی؟ پیغام به زبان فارسی چاپ میشه؟؟ میشه بیشتر توضیح بدین

سعید صابری
جمعه 09 تیر 1391, 13:10 عصر
نه زبان فارسی زبان سیستم.اگه میخواهید بهتر متوجه شید یک کنترل Edit را روی فرمتون بزارید و Numberonly را true کنید و برنامه را اجرا کنید
و در edit کلیدهای غیر عددی را وارد کنید

younes221
جمعه 09 تیر 1391, 14:04 عصر
میدونم ولی واسه راه حل دوم که گفتم( استفاده از Keypress ) که پیغام نمیده ، دوستمون هم گفتن به وسیله ی ShowMessage باشه

سعید صابری
جمعه 09 تیر 1391, 14:12 عصر
راه حل دوم که خودتون متن پیغام وارد می کنید

ilreza2050
جمعه 09 تیر 1391, 15:22 عصر
آقا ممنون
دست همگی درد نکنه