easyDelphi Q&A
+5 تصويتات
134 مشاهدات
procedure ShowingFormsWithCreation(ParamTForm: TForm);
var
  MyFormForCreate: TForm;
begin
  MyFormForCreate := ParamTForm.Create(Application);
  try
    MyFormForCreate.Showmdal;
    finally
        FreeAndNil(MyFormForCreate);
  end;
end;

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

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

4 إجابة

–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; 

 

تم الرد عليه بواسطة (840 نقاط)
+2 تصويتات
  • اذا كنت تود اشتقاق وانشاء اي فورم موجودة مثل ما طلبت في السؤال :
        - اكتب فقط كلاس الفورم بدل اسمها يعني بدل ما تكتب 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  لاستعمالها فيما بعد

تم الرد عليه بواسطة (7,840 نقاط)
عُدل بواسطة
0 تصويتات

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

 

procedure ShowingFormsWithCreation(var ParamTForm: TForm);

 

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

يمكنك استعمال  البرمتر داخل بيئة التطوير دلفي و حفظ اسم المستخدم كما في المتال الموجود في الرابط 

paramstr Function

https://www.youtube.com/watch?v=OOIdFpwaJzk

تم الرد عليه بواسطة (5,790 نقاط)

اسئلة متعلقة

+3 تصويتات
2 إجابة
سُئل يوليو 19 في تصنيف Delphi بواسطة Amar Gozim (6,240 نقاط) | 55 مشاهدات
+3 تصويتات
1 إجابة
+4 تصويتات
3 إجابة
سُئل يوليو 25 في تصنيف Delphi بواسطة Amar Gozim (6,240 نقاط) | 87 مشاهدات
+5 تصويتات
4 إجابة
سُئل يوليو 1 في تصنيف Delphi بواسطة amar34 | 92 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك

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

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

249 سؤال
451 إجابة
790 تعليق
147 مستخدم