الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن تكوين فورم جديد ياستخدم اوامر الدلفي

بدأه أحمد_ليبيا في 13 مايو 2008 · 13 رد · 1,688 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

..

- اذا كان لدي (Form1) يحتوي على (Buttom1) وعند النقر على هذا الزر فيقوم بتكوين فورم جديد في كل مرة اقوم بالضغط عليه

...

moslimbag8.gif

------

saaid.jpg

#2

و عليكم السلام

أبسط حل

procedure TForm1.Button1Click(Sender: TObject);
var MyForm: TForm;
begin
   MyForm:=TForm.Create(Application);
   MyForm.Caption:='My Created Form';
   MyForm.Show;
end;
#3

طبعا تمام الكود اللى وضعه Mero

للزيادة فقط

** للبحث عن الفورم قبل الأنشاء وإذا كانت منشأة من قبل اظهرها

var
  MSG : TMsg;
begin
   If Application.FindComponent('Ehab') = Nil Then
	begin
	MSG:= TMSG.Create(Application);
	MSG.Parent:= MSG;
	MSG.Name:= 'Ehab';
	Msg.Caption := 'Ehab';
	MSG.Show;
end;
(Application.FindComponent('Ehab') as TMSG).Show;
end;

Comming Soon

#4

طب سؤال , لماذا كتبتم Application في السطرين :

MyForm:=TForm.Create(Application);

MSG:= TMSG.Create(Application);
اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#5

كيف الحال أخي علاء

لأنه أردنا أن يكون Form الجديد تابعا لنفس Application المنفذة (خصوصا عند غلق التنفيذ لا تبقى الفورم الجديدة في الذاكرة)

في الرابط التالي تجد شرحا باللغة الإنجليزية لماذا تستعمل

http://delphi.about.com/od/adptips2005/qt/nilselfapp.htm

تحياتي :)

تم تعديل هذه المشاركة بواسطة merouane في 14 مايو 2008 في 22:04

#6

تمام أخى الكريم علاء

MyForm:=TForm.Create(Application);

MyForm:=TForm.Create(Self);

MyForm:=TForm.Create(nil);

طبعاً Mero كفى بالأجابة وسبقنى

بالتوفيق

تم تعديل هذه المشاركة بواسطة Swift في 15 مايو 2008 في 13:32

Comming Soon

#7

السلام عليكم

..

مشكوورين على الرورد والحلول السابق ذكرها..

..

- ولكن عندي سؤال حول الموضوع

- اذا كان لدي فورم ويحتوي على زر يقوم انشاء فورم جديد كيف يمكن جهل الفورم الجديد يحتوي على كمونات فورم آخر موجود عندي مسبقا

والذي يحتوي (2 زر ، edit)...

moslimbag8.gif

------

saaid.jpg

#8

اظن ان الاسهل هو هو تكوين الفورم الجديدة برمجيا

اي اضافه الازرار و المكونات الاخر كدالك

procedure TForm1.Button1Click(Sender: TObject);
var
  MSG : TForm;
  Button1: TButton;
begin
 If Application.FindComponent('Ehab') = Nil Then
 begin
	with Button1 do
	begin
	MSG:= TForm.Create(Application);
	MSG.Parent:= MSG;
	MSG.Name:= 'Ehab';
	Msg.Caption := 'Ehab';
	MSG.Show;
	end;
  end;
	with Button1 do
	begin
	Button1:=TButton.Create(Application);
	Left := 128;
	Top := 64;
	Width := 75;
	Height := 25;
	Caption := 'Button1';
	TabOrder := 0;
	OnClick := Button1Click;
	Parent:=Msg;
	end;


(Application.FindComponent('Ehab') as TForm).Show;
end;

end.
#9

السلام عليكم اخوي

..

المشكلة هنا ااني لا استطيع نقل الكود الخاص بالزر الموجوم في الفورم الاخر

moslimbag8.gif

------

saaid.jpg

#10
اقتباس
المشكلة هنا ااني لا استطيع نقل الكود الخاص بالزر الموجوم في الفورم الاخر

لا تنقل الكود وإنما توجه إليه حدث الضغط OnClick

فمثلا لدينا إجرائين أحدها للـ Button1 التابع للـ Form1

و الثاني من برمجتنا نسميهMaProc نضعه في Public

 
type
  TForm1 = class(TForm)
	Button1: TButton;
	Button2: TButton;
	procedure Button1Click(Sender: TObject);
	  private
	{ Déclarations privées }
  public
	{ Déclarations publiques }
	procedure MaProc(Sender: TObject);
  end;

. . . . . . .

procedure TForm1.Button1Click(Sender: TObject);
begin
	messagedlg('hi, this is First Button',mtConfirmation,[mbOK],-1);
end;

procedure TForm1.MaProc(Sender: TObject);
begin
   showmessage('aaaaaaaaaaa');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  MSG : TForm;
  Button1: TButton;
begin
If Application.FindComponent('Ehab') = Nil Then
begin
	MSG:= TForm.Create(Application);
	MSG.Parent:= MSG;
	MSG.Name:= 'Ehab';
	Msg.Caption := 'Ehab';
	MSG.Show;
  end;

	with Button1 do
	begin
	Button1:=TButton.Create(Application);
	Name := 'Button1';
	Left := 128;
	Top := 64;
	Width := 75;
	Height := 25;
	Caption := 'Button1';
	TabOrder := 0;
	Parent:=Msg;
	OnClick := Button1Click;
	end;

  with Button1 do
	begin
	Button1:=TButton.Create(Application);
	Name := 'Button2';
	Left := 128;
	Top := 104;
	Width := 75;
	Height := 25;
	Caption := 'Button2';
	TabOrder := 0;
	Parent:=Msg;
	OnClick := MaProc;
	end;

(Application.FindComponent('Ehab') as TForm).Show;
end;

و السلام

#11

ارجو ان هذا المثال الصغير يفيدك

create_form.rar

#12

السلام عليكم

..

المثال اخوي رائع جدا ... ولكن كيف يمكن مثلاً اذا كان لدينا في برنامج في الفوروم الاول زر آخر يحتوي على كود معين واردنا نقلة إلى زر الفورم الذي تم تكوينه ..

...

ترجوا ان يكون السؤال واضحاً

moslimbag8.gif

------

saaid.jpg

#13
form1.button1.click

اظن ان هذا الكود سيكون كافيا

#14

السلام عليكم

...

اين اضع الكود (form1.button1.click) في برنامجك السابق..

moslimbag8.gif

------

saaid.jpg

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…