easyDelphi Q&A

Reword

+3 تصويتات
94 مشاهدات
procedure ShowingFormsWithCreation(ParamTForm: TForm);
var
  MyFormForCreate: TForm;
begin
  MyFormForCreate := ParamTForm.Create(Application);
  try
    MyFormForCreate.Showmdal;
    finally
        FreeAndNil(MyFormForCreate);
  end;
end;

هذا الاجراء لم ينجح معي فرجاءا التصحيح و شكرا

سُئل في تصنيف Delphi بواسطة
عُدل بواسطة | 94 مشاهدات
 
الكود شكله سليم .
عدل السؤال واكتب رسالة الخطأ

3 إجابة

–1 تصويت

ربما تقصد هذا الكود :

procedure ShowingFormsWithCreation(form_name: string);
var Frm : TForm ;
 begin
    Frm := TForm.Create(Application);

     Frm.Width:= 600 ;
     Frm.Height:=500;
     Frm.Position:=poScreenCenter ;

     Frm.name:=form_name;   // اسم التافذة

     Frm.ShowModal;

end; 

 

تم الرد عليه بواسطة (620 نقاط)
+1 تصويت
  • اذا كنت تود اشتقاق وانشاء اي فورم موجودة مثل ما طلبت في السؤال :
        - اكتب فقط كلاس الفورم بدل اسمها يعني بدل ما تكتب Form2 اكتب TForm2

    اضف السطر الثاني فقط تحت Type في Interface
    type
      TMyForms = Class of Tform;


    هذا هو الاجراء :
     
    procedure ShowingFormsWithCreation(AForm: TMyForms);
    var
      Frm: Tform;
    begin
    
      Application.CreateForm(AForm , Frm);
      try
        with Frm do
        begin
          Position := poScreenCenter;
          ShowModal;
        end;
      finally
        FreeAndNil(Frm);
      end;
      //by shark 
    end;


    طريقة استعماله سهلة فقط اكتب كلاس النافذة

    كمثال :
    ShowingFormsWithCreation(TForm2);

     

 

 

  •   اذا كنت تود انشاء نافذة جديدة يمكن استعمال هذا الكود بدون اشتقاق اي فورم (فورم جديد) :
procedure ShowingFormsWithCreation(AFormCaption: string);
var
  Frm: Tform;
begin

  Frm := Tform.Create(Application);
  try
    with Frm do
    begin
      Width := 600;
      Height := 480;
      Position := poScreenCenter;
      Caption := AFormCaption; // عنوان  النافذة
      ShowModal;
    end;
  finally
    FreeAndNil(Frm);
  end;
  
end;


* يمكنك ايضا اضافة مكونات اخرى برمجيا .

 

  • اذا كنت تود انشاء نافذة جديدة مشتقة من نافذة موجودة من قبل تغيير فقط الكلاس Tform الى Tform2 كمثال .
     
    procedure ShowingFormsWithCreation(AFormCaption: string);
    var
      Frm: Tform2;
    begin
    
      Frm := Tform2.Create(Application);
      try
        with Frm do
        begin
          Width := 600;
          Height := 480;
          Position := poScreenCenter;
          Caption := AFormCaption; // عنوان  النافذة
          ShowModal;
        end;
      finally
        FreeAndNil(Frm);
      end;
     
    end
    

من المستحسن انشاء دالة لإنشاء نافذة واسترجاع TModalResult  لاستعمالها فيما بعد

تم الرد عليه بواسطة (1,290 نقاط)
عُدل بواسطة
–2 تصويتات

فقط اضف var قبل اسم المتحول

 

procedure ShowingFormsWithCreation(var ParamTForm: TForm);

 

تم الرد عليه منذ بواسطة (1,470 نقاط)
هل قمت بتجربته ؟ عندي لم يعمل
جوابي كان مقتضب
معناها، السؤال غير واضح، حدد الهدف.

اسئلة متعلقة

0 تصويتات
0 إجابة
سُئل منذ 3 ساعات في تصنيف Delphi بواسطة Amar Gozim (1,930 نقاط) | 4 مشاهدات
+1 تصويت
1 إجابة
سُئل يوليو 1 في تصنيف Delphi بواسطة amar34 | 34 مشاهدات
+1 تصويت
1 إجابة
سُئل منذ 1 يوم في تصنيف MongoDB بواسطة NADIRE (210 نقاط) | 26 مشاهدات
+1 تصويت
3 إجابة
سُئل يوليو 2 في تصنيف Delphi بواسطة GD-AbNasser (620 نقاط) | 75 مشاهدات
+4 تصويتات
3 إجابة
سُئل يونيو 27 في تصنيف Delphi بواسطة مجهول | 104 مشاهدات

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

لا يسمح بطلب او السؤال عن كراك او تفعيل او كسر او فك او اي شيء يخالف اتفاقيات الترخيص  مهما كان السبب ومهما كان البرنامج ونوعه. ولا حتى نشر روابط تحتوي على مثل هذه الاشياء لا في الاسئلة ولا في الاجابات ولا التعليقات . نهائيا

69 سؤال
144 إجابة
231 تعليق
79 مستخدم