delphi4arab منتديات دلفي للعرب
كيف يتم انشاء procedure خاص ب form.show - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يتم انشاء procedure خاص ب form.show (/showthread.php?tid=6360)



كيف يتم انشاء procedure خاص ب form.show - nebchadelphi - 01-08-2014

السلام عليكم
كيف يكون انشاء procedureيقوم يحتوي على متغيرين الأول من نوع Tform والثاني من نوع Boolean
الهدف من procedure هو عدم التكرار
لقد حاولت بهذه الأسطر لكن يوجد خلل
ماهو الخلل والحل لتجاوزه؟
كود :
procedure myshow(t:TForm;v:boolean); begin If not v then begin t:=Tt.Create(form1); v:=true; t.Show; end else begin t.Show; end; end;
وهذا العمل الذي سأجعله في procedure
كود :
procedure TForm1.SpeedButton1Click(Sender: TObject); begin If not vFlistcandidat then begin flistcandidat:=TFlistcandidat.Create(form1); vFlistcandidat:=true; Flistcandidat.Show; end else begin Flistcandidat.Show; end; end;
حيث اذا كان الشرط vFlistcandidat:=true يقوم ب show فقط
وفي حال العكس نقوم ب flistcandidat:=TFlistcandidat.Create(form1); لانشاء flistcandidat


كيف يتم انشاء procedure خاص ب form.show - mobile - 01-08-2014

وعليكم السلام ورحمة الله
وضح اكثر المطلوب ، اسف لم افهمك


كيف يتم انشاء procedure خاص ب form.show - nebchadelphi - 01-08-2014

البرنامج يحتوي عدة واجهات forms
كلها من نوع fsMDIChild
ولتفادي انشاء الفورم أكثر من مرة في الفورم الرئيسي، بحيث اذا تم انشاء الفورم يكفي اظهاره فقط show
والهدف عدم تكرار العملية من أجل كل فورم


كيف يتم انشاء procedure خاص ب form.show - mobile - 01-08-2014

تفضل اخي
اظن انني فهمتك والا فانا مستعد للمحاولة ان كان هذا غير قصد


كيف يتم انشاء procedure خاص ب form.show - nebchadelphi - 01-08-2014

شكرا لك أخي
والآن كيف نضع هذا الحدث
كود :
procedure TForm1.btn1Click(Sender: TObject); begin if form2.Showing then Exit; Form2:=TForm2.Create(nil); form2.FormStyle:=fsMDIChild; Form2.Show; end;
في procedure به متغير tform ومناداته من أجل كل الفورمات الباقية
مثلا نسمي ال procedure باسم myshowform به متغير t:Tform
ونضع فيه الكود السابق من أجل الفورم t


كيف يتم انشاء procedure خاص ب form.show - mobile - 01-08-2014

قم بتحميل المثال الذي ارفقك لك "test form.7z‏"
افتح فيه الكود


إقتباس :var aform:Tform;
begin
aform:=Tform2.create(nil).......
.....
end;



كيف يتم انشاء procedure خاص ب form.show - nebchadelphi - 01-08-2014

مثلا ننشيء ال procedure كما يلي
كود :
procedure myshowform(f: tform); begin if f.Showing then Exit; f:=!!!!!.Create(nil); هنا المشكل f.FormStyle:=fsMDIChild; f.Show; end;



كيف يتم انشاء procedure خاص ب form.show - S.FATEH - 01-08-2014

السلام عليكم
عند انشاءك لفورم جديد دلفي يقوم باضافة متغير عام الى الوحدة
PHP كود :
var
  
Form1: TForm1; 
يمكنك استخدام هذا المتغير في انشاء الفورم لكن يجب ان تمرر Class الفورم الى الـ procedure الخاص بك
لكي يقوم بانشاء الفورم ...
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
  CreateAndShow
(Form3, TForm3, True);
end;

procedure TForm1.CreateAndShow(Form:TForm; FormClass: TFormClass; Bool: Boolean);
begin
  Form 
:= FormClass.Create(nil);
  try
    
Form.ShowModal;
  finally
    
Form.Free;
  
end;
end; 



كيف يتم انشاء procedure خاص ب form.show - nebchadelphi - 02-08-2014

للأسف لم تنجح الطريقة
ولذلك رجعت الى الطريقة العادية
كود :
http://www.4shared.com/rar/34gSHjtoce/projet.html
بحيث يتم انشاء كل فورم مرة واحدة فقط
ماهو رأيكم في الفكرة؟