السلام عليكم
..
- اذا كان لدي (Form1) يحتوي على (Buttom1) وعند النقر على هذا الزر فيقوم بتكوين فورم جديد في كل مرة اقوم بالضغط عليه
...
السلام عليكم
..
- اذا كان لدي (Form1) يحتوي على (Buttom1) وعند النقر على هذا الزر فيقوم بتكوين فورم جديد في كل مرة اقوم بالضغط عليه
...
و عليكم السلام
أبسط حل
procedure TForm1.Button1Click(Sender: TObject); var MyForm: TForm; begin MyForm:=TForm.Create(Application); MyForm.Caption:='My Created Form'; MyForm.Show; end;
طبعا تمام الكود اللى وضعه 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
طب سؤال , لماذا كتبتم 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
كيف الحال أخي علاء
لأنه أردنا أن يكون Form الجديد تابعا لنفس Application المنفذة (خصوصا عند غلق التنفيذ لا تبقى الفورم الجديدة في الذاكرة)
في الرابط التالي تجد شرحا باللغة الإنجليزية لماذا تستعمل
http://delphi.about.com/od/adptips2005/qt/nilselfapp.htm
تحياتي :)
تم تعديل هذه المشاركة بواسطة merouane في 14 مايو 2008 في 22:04
تمام أخى الكريم علاء
MyForm:=TForm.Create(Application);
MyForm:=TForm.Create(Self);
MyForm:=TForm.Create(nil);
طبعاً Mero كفى بالأجابة وسبقنى
بالتوفيق
تم تعديل هذه المشاركة بواسطة Swift في 15 مايو 2008 في 13:32
Comming Soon
السلام عليكم
..
مشكوورين على الرورد والحلول السابق ذكرها..
..
- ولكن عندي سؤال حول الموضوع
- اذا كان لدي فورم ويحتوي على زر يقوم انشاء فورم جديد كيف يمكن جهل الفورم الجديد يحتوي على كمونات فورم آخر موجود عندي مسبقا
والذي يحتوي (2 زر ، edit)...
اظن ان الاسهل هو هو تكوين الفورم الجديدة برمجيا
اي اضافه الازرار و المكونات الاخر كدالك
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.السلام عليكم اخوي
..
المشكلة هنا ااني لا استطيع نقل الكود الخاص بالزر الموجوم في الفورم الاخر
اقتباسالمشكلة هنا ااني لا استطيع نقل الكود الخاص بالزر الموجوم في الفورم الاخر
لا تنقل الكود وإنما توجه إليه حدث الضغط 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;و السلام
ارجو ان هذا المثال الصغير يفيدك
السلام عليكم
..
المثال اخوي رائع جدا ... ولكن كيف يمكن مثلاً اذا كان لدينا في برنامج في الفوروم الاول زر آخر يحتوي على كود معين واردنا نقلة إلى زر الفورم الذي تم تكوينه ..
...
ترجوا ان يكون السؤال واضحاً
form1.button1.click
اظن ان هذا الكود سيكون كافيا
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…