View Full Version : چگونه KeyDown یك استرینگ گریده رو صدا بزنم
mehdi_moosavi
یک شنبه 22 خرداد 1384, 14:42 عصر
سلام
این پروسیجر مربوط به KeyDown یه استرینگ گریده
procedure TForm1.sg1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
ولی من توی فراخوانی اون از جاهای دیگه مشکل دارم مثلا وقتی کد زیر رو مینویسم پیغام خطا میده
sg1KeyDown(Sender,key,tsh);
بنظر شما پارامترهای اون رو چطور باید بنویسم ؟
Ali_Hashemi
یک شنبه 22 خرداد 1384, 16:03 عصر
سلام
پیغام خطا رو که نگفتی چیه اما به احتمال قریب به غریب مشکل به پارامتر key مربوط میشه
چون این پارامتر از نوع Var هست ، پس شما هم باید یک متغیر Var تعریف کنید و مقدار رو داخل اون قرار بدید و
سپس اونو بع پروسیجر ارسال کنید.
احتمال وجود مشکل در پارامتر Sender هم هست- نه نیست - فکر کنم مشکلت همونه که گفتم. اگه حل نشد متن پیغام خطا رو بگو بینیم چه میشه کرد . :sunglass:
kamyar_kimiyabeigi
یک شنبه 22 خرداد 1384, 16:38 عصر
شما باید پارامتر مربوط به key را از نوع word به صورت زیر بدین
Word 0..65535 unsigned 16-bit
m-khorsandi
یک شنبه 22 خرداد 1384, 16:45 عصر
درود
من یه نمونه برای OnKeyDown فرم نوشتم ، خودت میتونی عوضش کنی:
procedure TForm1.Button1Click(Sender: TObject);
var
Key: Word;
begin
FormKeyDown(sender, key, []);
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
showmessage('okay...');
end;
mehdi_moosavi
یک شنبه 22 خرداد 1384, 17:54 عصر
سلام
مرسی از راهنمایی شما
مشکل توی اون دوتا کروشه باز و بسته بود
خیلی ممنون
m-khorsandi
دوشنبه 23 خرداد 1384, 07:54 صبح
:)
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.