View Full Version : محدود کردن Edit به گرفتن فقط عدد
ByRoad
جمعه 07 مهر 1385, 14:04 عصر
سلام دوستان
میشه EditBoxرو محدود کردکه فقط عدد و یا حرف بگیره؟!
Mahyaa
جمعه 07 مهر 1385, 14:16 عصر
اگه search کنید سریعتر جواب میگیرید ;)
من عبارتهای Edit و عدد رو تو سایت جستجو کردم کلی مطلب پیدا کردم این یکیشه :
http://barnamenevis.org/forum/showthread.php?t=47637&highlight=Edit+%DA%CF%CF
amin a.^2
جمعه 07 مهر 1385, 14:47 عصر
سلام دوستان
میشه EditBoxرو محدود کردکه فقط عدد و یا حرف بگیره؟!
دوست گرامی با سلام
یک راه اینه که از maskedit در زبانه یadditionalاستفاده کنی
برای edit box ها روی رویداد on keypress اینا مینویسی
if (key<#48) or (key>#57) then
begin
MessageDlg('ÎæÇåÔ ãäÏ ÇÓÊ ÊäåÇ ÚÏÏ æÇÑÏ äãÇííÏ',mtWarning,mbOKCancel,0);
edit1.text:='';
end;
وبرای اینکه فقط حرف وارد کنه
if (key<#65) or (key>#90) then
begin
MessageDlg('خواهش مند است تنها حروف وارد نمایید',mtWarning,mbOKCancel,0);
edit1.text:='';
end;
if (key<#97) or (key>#122) then
begin
end;
Mahmood_M
جمعه 07 مهر 1385, 17:31 عصر
یه راه بهتر و ساده تر هم وجود داره :
توی رویداد OnKeyPress مربوط به Edit کد زیر رو وارد کنید :
if ((Key<'0') and (Key>#31)) or (Key>'9') then
Key:= #0;
بعضی مواقع هم پیش میاد که نباید در اول عدد وارد شده 0 ( صفر ) قرار بگیره ( مثل شماره شناسنامه ) ، در این مورد می تونید از کد زیر استفاده کنید :
if Edit1.Text <> '' then
begin
if ((Key<'0') and (Key>#31)) or (Key>'9') then
Key:= #0;
end
else
begin
if ((Key<'1') and (Key>#31)) or (Key>'9') then
Key:= #0;
end;
....
موفق باشید ...
mehdi_mohamadi
شنبه 08 مهر 1385, 06:53 صبح
سلام از کد زیر استفاده نمائید
procedure TForm1.Edit1Change(Sender: TObject);
var i:integer;
s:string;
begin
for i:=1 to length(edit1.Text) do
if (edit1.Text[i]<'0') or (edit1.Text[i]>'9') then
begin
s:=edit1.Text;
delete(s,i,1);
edit1.Text:=s;
if length(edit1.Text)>0 then
begin
edit1.SelectAll;
edit1.CutToClipboard;
edit1.PasteFromClipboard;
end;
end;
delphi5
شنبه 08 مهر 1385, 11:12 صبح
میتونی از Maskedit استفاده کنی و مقدار edit mask رو extention و تغداد کاراکترها رو هم با عدد 9 مشخص کنی
--------------------
اگه مشکلی داشتی خوشحال میشم جواب بدم . من تا آخر وقت online هستم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.