PDA

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 صبح
:)