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;
من میخوام یه تابع بنویسم که برای 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;