PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : راهنمایی در مورد نوشتن یک تابع در دلفی



countesss
11 / January / 2016, 05:13 PM
سلام خدمت دوستان عزیز

من میخوام یه تابع بنویسم که برای EDITBOX های که خاصیت Number Only در اونها فعال است در صورتی که به جای وارد کردن عدد ، حرف وارد کردیم یه Hint باز بشه و پیغام دلخواه رو نشون بده من خودم این تابعو نوشتم ولی مشکل اینه که کلا هر ورودی که دارم چه عدد ، چه حروف Hint ظاهر میشه میخواستم راهنمایی کنید ببینم مشکل از کجاست


procedure nHint(hHint:string;AEdit:TEdit);
var
point:TPoint;
Key:Char;
begin
if AEdit.NumbersOnly = true then
begin
if not(CharInSet(Key,['0'..'9',#8])) then
begin
form1.BalloonHint1.Description := hHint;
point.X := AEdit.Width div 2;
point.Y := AEdit.Height div 1;
form1.BalloonHint1.ShowHint(AEdit.ClientToScreen(p oint));
Abort;
end
else
begin
form1.BalloonHint1.HideHint;
end;
end;
end;

procedure TFrame1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
nHint('Number Only',Edit1);
end;

admin
11 / January / 2016, 08:47 PM
سلام و درود.
کدتون رو به شکل زیر تصحیح کنید :

procedure nHint(hHint:string;AEdit:TEdit;var Key: Char);
var
point:TPoint;
begin
if not( Key In ['0'..'9', #8, ^V] ) Then // #8 = backspace
begin
Form2.BalloonHint1.Description := hHint;
point.X := AEdit.Width div 2;
point.Y := AEdit.Height div 1;
Form2.BalloonHint1.ShowHint(AEdit.ClientToScreen(p oint));
Abort;

end
else
begin
Form2.BalloonHint1.HideHint;
end;

end;

procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
begin

nHint('Number Only',Edit1,Key);
end;



موفق و موید باشید