PDA

View Full Version : نحوه تعریف Event برای Edit ایجاد شده در زمان اجرا



mojtaba_z
دوشنبه 15 مرداد 1386, 16:07 عصر
سلام
یک Tedit رو در زمان اجرای برنامه ایجاد میکنم . حالا چطوری برای اون توی برنامه Event تعریف کنم . مثلا برای OnKeyPress اون ؟

ghabil
دوشنبه 15 مرداد 1386, 16:35 عصر
اینم یک مثال (http://barnamenevis.org/forum/showthread.php?t=44629)

Batman
دوشنبه 15 مرداد 1386, 16:42 عصر
با سلام
قبل از ایجاد تاپیک جستجو کنید (500 بار)
اینم کد
الیته چون پست من بعد از پست آقای ghabil اومد (بعد از چند ثانیه) اگه نه پست نمیزدم
موفق باشید

mojtaba_z
سه شنبه 16 مرداد 1386, 07:45 صبح
باسلام
ممنون از پاسخ هاتون.


با سلام
قبل از ایجاد تاپیک جستجو کنید (500 بار)


تو رو خدا اینقدر نگید که جستجو کنید.درسته که من حرفه ای نیستم ولی بعد از این همه مدت که توی این سایت بودم ، دیگه این رو یا گرفتم که قبل از هر سئوالی جستجو کنم !
(البته بعضی از دوستان برنامه نویس همیشه اولی پست شون اینه که "این مطلب قبلا مطرح شده ،جستجو کنید" حتی حاضر نیستن بعد از این جمله یه لینک از اون رو ارائه بدهند)
فکر میکنم شما و یا دوستان دیگه ای که همش میگن اول جستجو کنید به این نکته توجه نمیکنید که : بابا جان ممکنه این بنده خدا جستجو کرده باشه و شاید از کلمات نامناسب برای جستجو استفاده کرده که چیزی پیدا نکرده یا مطلبی در اون مورد پیدا کرده ولی نتونسته از اون برای مشکلش راه حلی پیدا کنه.
ختم کلام اینکه تازه با این همه مواردکه گفتم ، خدایی هم که به پست آقای ghabil یعنی اینم یک مثال (http://barnamenevis.org/forum/showthread.php?t=44629) هم که نگاه کنید میبینید که نه توی عنوان و نه توی متن اون پست از کلمه های " تعریف Event در زمان اجرا " استفاده نشده . اگه شما جای من بودید برای پست ای که زدم چه کلمه کلیدی رو انتخاب میکردید تا اون پست رو بیاره !!؟؟
همچنین من فکر میکنم آقای ghabil با جستجو اون پست رو پیدا نکرده بلکه چون قبلا پست رو دیده بوده ، وقتی دیده که جواب سئوال من توی اون قرار داره ، من رو به اون پست ارجاء داده .
با سپاس و احترام به آقایان Batman و ghabil و همه دوستان

mojtaba_z
سه شنبه 16 مرداد 1386, 08:52 صبح
برای رویداد OnClick جواب دادولی برای OnKeyPress اگه بخوام بنویسم کدش چطوری میشه ؟
با ارسال پارامتر اون مشکل دارم .

ghabil
سه شنبه 16 مرداد 1386, 09:35 صبح
باسلام
ممنون از پاسخ هاتون.
شاید از کلمات نامناسب برای جستجو استفاده کرده که چیزی پیدا نکرده یا مطلبی در اون مورد پیدا کرده ولی نتونسته از اون برای مشکلش راه حلی پیدا کنه.

اگه شما جای من بودید برای پست ای که زدم چه کلمه کلیدی رو انتخاب میکردید تا اون پست رو بیاره !!؟؟


در خیلی از موارد مثل این مورد حرفت درسته ، من با اینکه خودم این مطلب رو نوشته بودم یکمی طول کشید تا پیداش کنم ، برای همین هم هست معمولا چیزایی که فکر میکنم جستجوشون سخت هست رو URL میدم اما در بعضی موارد هم واقعا بعضی دوستان کم لطفی میکنند و سوالهایی رو که خیلی راحت کلید جستجوشون معلوم هست رو نمیگردند و بعضی از سوالات بارها تکرار میشه.

ولی حالا آخر همون پست که آدرسش رو دادم نگاه کن :


اصولا برای Assign پوینتر یک بروسیجر به یک پروسیجر دیگه جفتشون باید پارمترهاشون یک شکل باشند ، بعد راحت Assign میشتند مثل همین.


ببین آخرش توضیح هم دادم که کلا چحوری باید این کار رو کرد : نه برای اینکه دوباره نوشتنش سخته ، برای اینکه خودت تمرین کرده باشی و کلا این کار رو یاد بگیری بجای اینکه فقط از اینجا کپی پیست کنی .
بنظرت بهتر نبود سعی میکردی خودت برای KeyPress کد رو در بیاری بجای اینکه بازهم کدش رو بپرسی؟

mojtaba_z
سه شنبه 16 مرداد 1386, 10:48 صبح
Procedure PressKeys(Sender: TObject; var Key: Char) ;
کد بالا رو توی کلاس فرمم اضافه کردم و اینجوری نسبت دادم

OnKeyPress := PressKey

ghabil
سه شنبه 16 مرداد 1386, 11:43 صبح
خب درسته که مشکلت چیه ؟

mojtaba_z
سه شنبه 16 مرداد 1386, 12:15 عصر
روی OnKeyPress := PressKey اخطار میده که : Incompatible Types . parameter lists differ

ghabil
سه شنبه 16 مرداد 1386, 13:30 عصر
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure KeyPress(Sender: TObject; var Key: Char);
public
{ Public declarations }
end;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.KeyPress(Sender: TObject; var Key: Char);
begin
ShowMessage(Key);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
OnKeyPress := KeyPress;
end;

mojtaba_z
سه شنبه 16 مرداد 1386, 15:08 عصر
خیلی ممنون. کد رو اصلاح کردم مشکلم حل شد.