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

نام تاپیک: تغییر مشخصه تمام کامپوننتهای شبیه در یک حلقه For ؟؟

  1. #1
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran-Tehran
    پست
    175

    تغییر مشخصه تمام کامپوننتهای شبیه در یک حلقه For ؟؟

    سلام
    من حدود 20 تا Label روی فرم دارم به نام های Label2 ,Label1,.... میخواهم در یک حلقه for یک Property از همه آنها را تغییر بدهم.لطفا بگویید چه کار باید بکنم.

  2. #2
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
      for i := 0 to ComponentCount - 1 do
    begin
    if COMPONENTS[i] is TLabel then
    TLabel(COMPONENTS[i]).Font.Name := 'Tahoma';
    end;

    این کد ناچیز است و خود گویای همه چیز...

  3. #3
    با سلام

    این هم یه روش دیگه ( به نقل از جاسم عرب برنامه نویس دات کام )

    for i:=1 to 20 do
    Tlabel(Findcomponent('label'+inttostr( i)).caption:=inttostr(i);

  4. #4
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran-Tehran
    پست
    175
    با تشکر از دوستان
    روش اول درست کار کرد ولی روش دوم این خطاها رو تولید کرد.
    [Error] Unit1.pas(38): Undeclared identifier: 'caption'
    [Error] Unit1.pas(38): Incompatible types: 'TLabel' and 'String'

  5. #5
    برای اهدای خاصیت موجود از یک کلاس به کلاس مشابه روش استفاده از پراسیجر Assign هم روش خوبیه.

    Label2.Font.Assign(Label1.Font);

    این کد رو میتونید با کد DelphiAssistant و یا امید ترکیب کنید تا خاصیت مشابه از کل lable های موجود مثل خاصیت Font رو با تمام زیر خاصیتهاش از خاصیت Font یک کامپوننت دیگه قرض بگیرید.

  6. #6
    VIP آواتار hr110
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    1,460
    با سلام
    تمامی جوابها به گونه ایی درست است ، ولی اگر نام لیبلها به این صورت نبوده و از نام گذاری واقعی :wink: استفاده شود نمیتوان از این روش استفاده کرد . برای اینمظور خوبست کد زیر را دوستان مبتدی تاملی کنند:
      for I:=0 to ControlCount-1 do
    if Controls is TLabel then
    (Controls as TLabel).caption:='hellow word';

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

  7. #7
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran-Tehran
    پست
    175
    با سلام و تشکر
    روش "امید" هم درست بود.فقط یک پرانتز بسته کم داشت.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    30/11/53
    پست
    243
    ولی روش امید یه ایراد اساسی داره : زمانبر هستش . یعنی وقتی تعداد اجزای روی فرم زیاد بشه ( بالای 100 تا )

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

  1. انتقال از یک فرم به فرم دیگه ؟؟
    نوشته شده توسط -=sIiiS=- در بخش PHP
    پاسخ: 3
    آخرین پست: چهارشنبه 28 آذر 1386, 10:57 صبح
  2. چطور کلاینت ای دی رو ثابت کنم؟؟
    نوشته شده توسط hamed_bostan در بخش ASP.NET Web Forms
    پاسخ: 8
    آخرین پست: دوشنبه 26 شهریور 1386, 16:01 عصر
  3. دسترسی به ساعت سیستم و تغییر سایز عکس ؟؟
    نوشته شده توسط babak1 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 0
    آخرین پست: یک شنبه 12 آذر 1385, 18:17 عصر

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

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