PDA

View Full Version : گذاشتن شرط برای کامپوننت Edit



ss_58867
شنبه 25 آذر 1391, 10:47 صبح
سلام من می خوام وقتی مکان نما از tedit به بعدی انتقال پیدا کرد در صورتیکه به جای عدد حرف وارد شده باشه کاربر یه پیغام مبنی بر اینکه عدد وارد شده نامعتبر است دریافت کنه کد نویسی اون به چه صورت باید باشه

BORHAN TEC
شنبه 25 آذر 1391, 11:29 صبح
سلام
برای این کار می توانید از رویداد OnExit مربوط به کنترل TEdit استفاده کنید:
procedure TForm4.Edit1Exit(Sender: TObject);
var
tmp: Integer;
begin
if not(TryStrToInt(Edit1.Text, tmp)) then
begin
ShowMessage('Error');
(Sender as TEdit).SetFocus;
end;
end;

ss_58867
شنبه 25 آذر 1391, 11:57 صبح
ممنون از راهنماییتون حالا اگه بخوام برای عدد این پیغام بده چه تغییری این کد بدم یعنی tedit نباید عدد وارد بشه

یوسف زالی
شنبه 25 آذر 1391, 12:03 عصر
با اجازه دوست عزیز Object Pascal،
راه بهتر برای این کار استفاده از TMaskEdit با Mask مربوط به فقط عدد هست.

BORHAN TEC
شنبه 25 آذر 1391, 12:06 عصر
ممنون از راهنماییتون حالا اگه بخوام برای عدد این پیغام بده چه تغییری این کد بدم یعنی tedit نباید عدد وارد بشه
در حالت کلی بهترین راه حل همانی است که جناب You-See فرمودند. ولی اگر بنا به دلایلی می خواهید از روشی که اشاره کردم استفاده کنید می توانید not مربوط به شرط if را پاک کنید.

Mask
شنبه 25 آذر 1391, 15:00 عصر
تکمیل کننده صحبت دوستان :
خاصیت NumbersOnly شی Edit رو True کنید. و ...