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

نام تاپیک: مشکل در مورد class

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

    مشکل در مورد class

    من با یک حلقه به شکل زیر میخام همه کامپوننتهایی
    را که زیر کلاسی از tdataset هستند
    (مثل ttableوtqueryو...)
    پیدا کنم

    For i := 0 To Form1.ComponentCount-1 Do
    If Form1.Components[i] ???? Then//اینجا باید شرط مناسب قرار بگیره
    DoSomething

    ولی نمیدانم چه باید بنویسم

    نکته:


    If Form1.Components[i] Is TDataset

    به دردم نمیخوره.چون tdataset در یک رشته قرار دارد
    در حقیقت من نام یک کلاس را دارم و میخواهم همه کامپوننتهایی که
    از آن کلاس یا زیر کلاسی از آن هستند پیدا کنم

  2. #2
    سلام.
    شما میتونین از متد InheritsFrom استفاده کنین.
    توی help خود دلفی کامل در این مورد توضیح داده شده.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    شیراز
    پست
    123
    inheritesfrom خود کلاس را میگیره ولی من اسم اون کلاس رو دارم

  4. #4
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
    این مشکل تون رو حل میکنه؟ :
    var i:integer;
    begin
    for i:=0 to Form1.ComponentCount-1 do
    if Form1.Components[i] is TDataSet then
    ListBox1.Items.Add((Form1.Components[i ] as TDataSet).Name);
    end;

    :?:

  5. #5
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    شیراز
    پست
    123
    نه متاسفانه
    بگذارید این طوری بگم .
    من یک متغیر از نوع string دارم که نام یک کلاس را در خود دارد
    مثلا tdataset یا tcustomcombobox یا هر چیز دیگه.
    حالا من میخوام همه کمپوننتهایی را که از کلاس مشخص شده در این string هستند ونیز
    همه کمپوننتهایی که زیر کلاسی از آن هستند پیدا کنم.
    مثلا اگر string مذکور برابر tdataset بود
    کمپوننتهایی مثل table1 و table2 , query1 را پیدا کنم.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    شیراز
    پست
    123

    function TInspectorForm.ClassInheritesFrom(Obj: TObject;
    ClassName: String): Boolean;
    var
    cl : TClass;
    begin
    Result := False;
    cl := Obj.ClassType;
    While cl.ClassName <> 'TObject' Do Begin
    If cl.ClassName = ClassName Then Begin
    Result := True;
    Break;
    End;
    cl := cl.ClassParent;
    End;
    end;

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

  1. control class,entity class,boundary class
    نوشته شده توسط ali643 در بخش تحلیل و طراحی نرم افزار
    پاسخ: 12
    آخرین پست: یک شنبه 25 فروردین 1392, 15:22 عصر
  2. مشکل با کلاس(class)در Dll
    نوشته شده توسط mskm100 در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: سه شنبه 18 دی 1386, 03:05 صبح
  3. اشکالی اساسی در مورد نوشتن یک class
    نوشته شده توسط daneshjo IT در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 8
    آخرین پست: دوشنبه 21 خرداد 1386, 13:56 عصر
  4. Class
    نوشته شده توسط سعید112 در بخش VB.NET
    پاسخ: 2
    آخرین پست: چهارشنبه 08 آذر 1385, 12:00 عصر
  5. class
    نوشته شده توسط mehdi1357 در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: شنبه 11 شهریور 1385, 14:00 عصر

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

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