نمایش نتایج 1 تا 10 از 10

نام تاپیک: چه دستوری بنویسم که کل event handler برای تمام DBEdit ها یک کار را انجام دهند؟

  1. #1
    کاربر دائمی آواتار ali_abbasi22145
    تاریخ عضویت
    آذر 1382
    محل زندگی
    يك جايي در پايتخت
    پست
    1,350

    چه دستوری بنویسم که کل event handler برای تمام DBEdit ها یک کار را انجام دهند؟

    سلام

    چه دستوری بنویسم که کل event handler مثلا MouseMove ها برای تمام DBEdit ها یک کار را انجام دهند؟
    یعنی یکی یکی برای هر کل DBEdit ها ننویسم مثلا :

    procedure TDynamicForm.First_nameMouseMove(Sender: TObject;
    Shift: TShiftState; X, Y: Integer);
    begin
    First_name.Hint := First_name.Text;
    end;

  2. #2

    نقل قول: چه دستوری بنویسم که کل event handler برای تمام DBEdit ها یک کار را انجام دهند؟

    باید از پارامتر Sender برای این کارها استفاده کنی
    و همچنین میتونی از یک حلقه for برای نسبت دادن پروسیجر ها استفاده کنی
    مثلا اینطوری


    for 1 :=0 to form1.controlscount-1 do
    if form1.controls[i] is tedbedit then
    Tdbedit(Form1.controls[i]).onmouseMove:=
    First_nameMouseMove;

  3. #3
    کاربر دائمی آواتار ali_abbasi22145
    تاریخ عضویت
    آذر 1382
    محل زندگی
    يك جايي در پايتخت
    پست
    1,350

    نقل قول: چه دستوری بنویسم که کل event handler برای تمام DBEdit ها یک کار را انجام دهند؟

    سلام
    مرسی چک کردم خطا می دهد!
    لطفا یک برنامه ساده دلفی کنید و attach کنید اینجا:
    فکر کنم اینجا نوشته هاش درهم برهم شده
    آخرین ویرایش به وسیله ali_abbasi22145 : شنبه 01 اسفند 1394 در 10:22 صبح

  4. #4
    کاربر دائمی آواتار ali_abbasi22145
    تاریخ عضویت
    آذر 1382
    محل زندگی
    يك جايي در پايتخت
    پست
    1,350

    نقل قول: چه دستوری بنویسم که کل event handler برای تمام DBEdit ها یک کار را انجام دهند؟

    اگر منظورتون اينه كار نمي كند

    for i:=0 to DynamicForm.ControlCount -1 do
    if DynamicForm.Controls[i]is TDBEdit then
    begin
    TDBEdit(DynamicForm.Components[i]).OnMouseMove := First_nameMouseMove;
    end;

  5. #5
    کاربر دائمی آواتار ابوالفضل عباسی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    Inside Esfahan
    پست
    719

    نقل قول: چه دستوری بنویسم که کل event handler برای تمام DBEdit ها یک کار را انجام دهند؟

    سلام
    نمیدونم چرا انقدر سختش میکنید؟
    اگر قراره همه ی dbedit ها یک کار انجام دهند مثلا در onclick یکی از dbedit ها یک فرمان بنویسید،بعد در قسمت event بقیه dbedit ها روی مثلث کوچیکه بزنید،تا لیستی بیاید و در آن لیستonclick آن dbedit رو پیدا کنید مثلا:
    در dbedit1 یک فرمان نوشته ام.
    در آن event یک dbedit2 روی مثلث کوچیکه انتخاب میکنم و onclickdbedit1 رو پیدا میکنم.
    حالا dbedit2 هم فرمان dbedit1 رو انجام میدهد.

    فقط اگر فرمان برای هر dbedit جداگانه باید انجام بشود باید از اسم کامپوننت component[i].name استفاده شود.

  6. #6

    نقل قول: چه دستوری بنویسم که کل event handler برای تمام DBEdit ها یک کار را انجام دهند؟

    از evenhandlerها نیز میتونی استقاده کنی

  7. #7

    نقل قول: چه دستوری بنویسم که کل event handler برای تمام DBEdit ها یک کار را انجام دهند؟

    نقل قول نوشته شده توسط ali_abbasi22145 مشاهده تاپیک
    اگر منظورتون اينه كار نمي كند

    for i:=0 to DynamicForm.ControlCount -1 do
    if DynamicForm.Controls[i]is TDBEdit then
    begin
    TDBEdit(DynamicForm.Components[i]).OnMouseMove := First_nameMouseMove;
    end;
    چه خطایی میده لطفا خطا رو بنویس به ببینم مشکل کجاست

  8. #8

    نقل قول: چه دستوری بنویسم که کل event handler برای تمام DBEdit ها یک کار را انجام دهند؟

    نقل قول نوشته شده توسط ابوالفضل عباسی مشاهده تاپیک
    سلام
    نمیدونم چرا انقدر سختش میکنید؟
    اگر قراره همه ی dbedit ها یک کار انجام دهند مثلا در onclick یکی از dbedit ها یک فرمان بنویسید،بعد در قسمت event بقیه dbedit ها روی مثلث کوچیکه بزنید،تا لیستی بیاید و در آن لیستonclick آن dbedit رو پیدا کنید مثلا:
    در dbedit1 یک فرمان نوشته ام.
    در آن event یک dbedit2 روی مثلث کوچیکه انتخاب میکنم و onclickdbedit1 رو پیدا میکنم.
    حالا dbedit2 هم فرمان dbedit1 رو انجام میدهد.

    فقط اگر فرمان برای هر dbedit جداگانه باید انجام بشود باید از اسم کامپوننت component[i].name استفاده شود.
    ما سختش نمیکنیم عزیزم
    اینی که شما میگی در موقع طراحی کاربرد داره نه اجار

    اگه فرضا من صد تا کنترل داشته باشم به نظرت میتونم بیام یکی یکی اینا رو انتخاب کنم و بعد بهشون پروسیجر نسبت بدم؟

    این کدی که نوشتم هیچ مشکلی نداره و خودم صد ها بار ازش استفاده کردم
    پس اگه خطایی داره مربوط به سینتکس هستش

    بفرمایید تا مشکل رو برطرف کنیم

  9. #9

    نقل قول: چه دستوری بنویسم که کل event handler برای تمام DBEdit ها یک کار را انجام دهند؟

    نقل قول نوشته شده توسط mm26363@yahoo.co.uk مشاهده تاپیک
    از evenhandlerها نیز میتونی استقاده کنی
    شما بفرمایید یعنی چه؟

  10. #10
    کاربر دائمی آواتار ابوالفضل عباسی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    Inside Esfahan
    پست
    719

    نقل قول: چه دستوری بنویسم که کل event handler برای تمام DBEdit ها یک کار را انجام دهند؟

    ایشون به سوال خودشون جواب میده.
    روش اقا هادی کاملا درسته . و امتحان شده است.ولی من برای edit هایی که عملیات های مشابه ای دارند از پروسیجر استفاده میکنم.

تاپیک های مشابه

  1. پاسخ: 6
    آخرین پست: یک شنبه 02 اسفند 1394, 14:14 عصر
  2. پاسخ: 3
    آخرین پست: چهارشنبه 28 بهمن 1394, 03:20 صبح
  3. سوال: دلفی 7 دستوری بنویسم که کارکترهای فارسی وعربی و انگلیسی و...حذف گردد
    نوشته شده توسط ali_abbasi22145 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 4
    آخرین پست: سه شنبه 17 اردیبهشت 1392, 15:50 عصر
  4. چه کدی بنویسم که بشه با سیم کارت تو نت رفت ؟؟
    نوشته شده توسط harani در بخش Android Studio
    پاسخ: 5
    آخرین پست: چهارشنبه 27 دی 1391, 16:13 عصر
  5. سوال: كامپوننت farsi components shdate چه دستوري دارد كه چك كنم كه تاريخ شمسي درست است يا غلط
    نوشته شده توسط ali_abbasi22145 در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 1
    آخرین پست: یک شنبه 24 آبان 1388, 12:01 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •