PDA

View Full Version : مبتدی: وارد کردن مقدار عددی در یک EditBox



amir_varasteh
پنج شنبه 23 دی 1389, 17:33 عصر
سلام.

چطوری تعیین کنیم که توی یک Textbox یا همون Editbox فقط بشه عدد وارد کرد ؟

joooje
پنج شنبه 23 دی 1389, 17:57 عصر
سلام
به جای Editbox از MaskEdit استفاده کن و برای اون ماسک بزار ، توی قسمت EditMask اون حالتهای پیش فرض را داره
مثلا فقط عدد یا فقط حرف یا تاریخ یا شماره تلفن و ...
موفق باشید

vcldeveloper
جمعه 24 دی 1389, 01:00 صبح
چطوری تعیین کنیم که توی یک Textbox یا همون Editbox فقط بشه عدد وارد کرد ؟
اگر جستجو کنید، بارها پاسخ داده شده.
اگر از نسخه های جدید دلفی (مثل 2009 یا بالاتر) استفاده می کنید، کافیه مقدار خصوصیت NumbersOnly اون Edit را True کنید.
اگر از نسخه های قدیمی دلفی (مثل دلفی 7) استفاده می کنید، کافیه در رویداد OnKeyPress یا OnKeyDown اون Edit، مقدار کارکتر وارد شده را چک کنید:


if not (Key in ['0'..'9','.',#7,#8,#13]) then
Key := #0;

omidsistani
سه شنبه 23 خرداد 1391, 14:14 عصر
با سلام
تو مثال بالا کد اسکی 7 و 8 مربوط به چیه؟
ممنون

mbshareat
سه شنبه 23 خرداد 1391, 23:43 عصر
8 BackSpace هستش و 9 Tab اما 7 رو نمی دونم

zidane
چهارشنبه 24 خرداد 1391, 13:07 عصر
در نسخه های پایین تر از 2009 با اجرای کد زیر برای Edit1 دقیقا کاری انجام می شود که خصوصیت NumbersOnly انجام می دهد:
SetWindowLong(Edit1.Handle, GWL_STYLE, GetWindowLong(Edit1.Handle, GWL_STYLE) or ES_NUMBER);