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

نام تاپیک: کنترل رویداد OnExit برای EditBox

  1. #1
    کاربر دائمی آواتار shayan_delphi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    274

    کنترل رویداد OnExit برای EditBox

    من 41 edit Box دارم که در یکی مقدار ثابتی قرار می گیردبا وارد کردن عدد وخروج از 20 تا به ترتیب بعدی ، درصد مقدار ثابت را در خود می گیرد.همه را با یک رویداد مدیریت می کنم.حالا می خواهم اگر کاربر مقدار ثابت را تغییر دهد رویداد برای همه اتفاق بیافتد و مقادیر آنها درست شود.نمی خواهم برای تک تک آنها بنویسم.

  2. #2
    من که متوجه نشدم!!!؟؟

  3. #3
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط m-khorsandi
    من که متوجه نشدم!!!؟؟
    استاد،
    ایشان 41 edit Box دارند که در یکی مقدار ثابتی قرار می گیردبا وارد کردن عدد وخروج از 20 تا به ترتیب بعدی ، درصد مقدار ثابت را در خود می گیرد.همه را با یک رویداد مدیریت می کنند.حالا می خواهند اگر کاربر مقدار ثابت را تغییر دهد رویداد برای همه اتفاق بیافتد و مقادیر آنها درست شود.نمی خواهند برای تک تک آنها بنویسند.
    این کد تمام edit Box ها را تکستشان را ۶ میکند. اگر سوالتان را جواب نمیده دوباره واضحتر توضیح بدند:

    procedure TForm1.Edit1Change(Sender: TObject);
    var
    i : integer;
    begin
    for i:=0 to Components.ComponentCount do
    begin
    if Components.ComponentCount is TEdit
    then begin
    (Components[i] as TEdit).Text := 6;
    end;
    end;
    end;

  4. #4
    سلام
    به نظر منم سوال واضح نیست!

    نقل قول نوشته شده توسط اَرژنگ
    ایشان 41 edit Box دارند که در یکی مقدار ثابتی قرار می گیردبا وارد کردن عدد وخروج از 20 تا به ترتیب بعدی ، درصد مقدار ثابت را در خود می گیرد.
    [/CODE]
    یعنی با خروج از هر کدوم یه کد مورد نظر ایشان اجرا میشه؟
    خروج از 20 تا به ترتیب بعدی یعنی چه؟

    نقل قول نوشته شده توسط اَرژنگ
    .همه را با یک رویداد مدیریت می کنند.
    یا یعنی در رویداد خروج اولی بقیه درصدی از مقدار ثابت را می گیرند؟ و همه کد مورد نظر ایشان در رویداد خروج اولین edit است؟


    به هر حال من که نفهمیدم فعلا کد را کجا نوشتند!
    ولی فکر می کنم برای اینکه با تغییر مقدار edit اول بقیه هم تغییر کنند.
    اگر edit ها را به ترتیب گذاشته باشند میشه کدی شبیه زیر نوشت، البته چطور درصدی می خواهند داشته باشه را خودشون میدونند و این یه مثاله!

    procedure TForm1.Edit1Change(Sender: TObject);
    var
    i,j,k,n:integer;
    begin
    if edit1.Text <>'' then
    begin
    n:=strtoint(edit1.Text );
    i:=edit2.ComponentIndex ;
    j:=edit41.ComponentIndex ;
    for k:=i to j do
    begin
    (Components[k] as TEdit).Text:=FloatToStr(n*k/100);
    end;
    end;
    end;

    همگی موفق باشید!

  5. #5
    کاربر دائمی آواتار shayan_delphi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    274

    توضیح بیشتر

    بنام خدا
    سلام به همه دوستان گرامی
    بله بدلیل کمی وقت سوال را سریع نوشتم و از دوستان عزیز عذر خواهی کرده و از لطف شما ممنونم.
    برای روشن شدن مطلب عکس را اینجا می گذارم و توضیح بیشتر می دهم.
    روی فرم من 41 Edit دارم داخل یکی عدد ثابت قرار می گیرد.بقیه دوتا دوتا جدا می شوند.در هر جفت اگر داخل یکی من عدد بنویسم مثلا 2 ،آنوقت 2درصد عدد ثابت در Edit دوم هر جفت قرار می گیرد.این مشکلی نداشت و در رویداد خروج یکی از 40 تا نوشتم و بقیه را به آن مربوط کردم.(پس فقط یکبار نوشتم)حالا اگر کاربر بعد از خروج از Edit چهلم عدد ثابت را عوض کرد حتما باید از 40 تا (در اصل 20تا) عبور کند تا مقادیر Edit دوم هر جفت درست شود؟
    من می خواهم با تغییر عدد ثابت این رویداد خروج برای همه 20 تا اولی اتفاق بیفتد تا 20 دومی درست شوند.
    عکس های ضمیمه عکس های ضمیمه

  6. #6
    در رویداد onchange از edit1 بونیسید

    edit2exit(sender);

  7. #7
    کاربر دائمی آواتار shayan_delphi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    274

    Lightbulb

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

  8. #8
    کاربر دائمی آواتار shayan_delphi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    274

    پاسخ

    آخ جواب دوستم هم باز یک ایراد داشت ولی خودم یه دستوره باحال پیدا کردم:
    در EditSabet.OnChange نوشتم
    For i:=0 to Self.ComponentCount -1 do
    begin
    if Self.Components[i].tag=2 then
    TEdit(Self.Components[i]).OnExit(TEdit(Components[i]));
    end;


    خیلی دستور باحالی بود!

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

  1. مشکل در onexit
    نوشته شده توسط maisam57 در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: دوشنبه 28 فروردین 1385, 05:52 صبح
  2. استفاده از چندین رنگ یا فونت در editbox
    نوشته شده توسط پدرخوانده در بخش Foxpro
    پاسخ: 1
    آخرین پست: سه شنبه 16 اسفند 1384, 17:50 عصر
  3. جستجو در متن داخل editbox
    نوشته شده توسط پدرخوانده در بخش Foxpro
    پاسخ: 2
    آخرین پست: دوشنبه 28 آذر 1384, 21:35 عصر
  4. اتفاق نیافتادن OnExit در حرکت به سمت عقب
    نوشته شده توسط hadi55 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 7
    آخرین پست: دوشنبه 13 تیر 1384, 13:50 عصر
  5. از کامپوننتی که رویدادONEXIT داره فرم را CLOSE کنیم مشکل دار
    نوشته شده توسط احسان آریانو در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: سه شنبه 15 دی 1383, 15:58 عصر

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

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