delphi4arab منتديات دلفي للعرب
الوصول إلى edit text من فورم آخر - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : الوصول إلى edit text من فورم آخر (/showthread.php?tid=12394)



الوصول إلى edit text من فورم آخر - صالح حمادي - 21-09-2023

السلام عليكم
عندما نريد الوصول الى مربع نص من فورم آخر فإننا نقوم باضافة اسم الوحدة Unit و نكتب هكذا مثلا
كود :
x:=Form1.edit1.text
لكن عندما نلغي انشاء الفورم آليا عند فتح التطبيق فإننا لا نستطيع الوصول إلى أي كائن في الفورم.
فهل من طريقة أخرى لذلك


RE: الوصول إلى edit text من فورم آخر - Mr.DOS - 21-09-2023

سلام عليكم
وضح اكثر  ..
عادة يكفي الربط
Uses Unit1,Unit2 ...
للتعرف على الفورم و العناصر ...

او

ربما المتغير X  غير معرف تحت Globale وبالتالي لا يمكنك اسناد له قيمة من فورم خارجي ؟ انت معرفه على Private
هذا ان كنت قد فهمت تساءلكـ ...


RE: الوصول إلى edit text من فورم آخر - Delphi4Us - 22-09-2023

وعليكم السلام ورحمة الله


إقتباس :نلغي انشاء الفورم آليا

مع ان السؤال غير واضح ولكن
يبدو لي انك تحاول ان تسند قيمة للمتغير في الحدث OnGreate للنموذج مما يعني لاحظ الخطوات

1: تقوم بانشاء النموذج
2: في حدث الانشاء للنموذج تقوم باسناد قيمة للمتغير او بعد عملية الانشاء للنموذج
3: تقوم باظهار النموذج

كود :
If not Assginged(Form1) then  Form1 :=TForm1.create X:=233 Form1.show


وهنا ان القيمة التي اسندتها للمتغير لن تحصل لانها تأتي بعد ان تم انشاء النموذج فعلا
ولهذا يجب ان تستخدم الحدث OnShow وهناك تقوم باسناد قيمة للمتغير


RE: الوصول إلى edit text من فورم آخر - صالح حمادي - 24-09-2023

(21-09-2023, 10:21 PM)Mr.DOS كتب : ربما المتغير X  غير معرف تحت Globale وبالتالي لا يمكنك اسناد له قيمة من فورم خارجي ؟ انت معرفه على Private
هذا ان كنت قد فهمت تساءلكـ ...

و عليكم السلام أستاذنا.
لا .المتغير معرف بشكل طبيعي
(22-09-2023, 10:28 AM)Delphi4Us كتب : وعليكم السلام ورحمة الله


إقتباس :نلغي انشاء الفورم آليا

مع ان السؤال غير واضح ولكن
يبدو لي انك تحاول ان تسند قيمة للمتغير في الحدث OnGreate للنموذج مما يعني لاحظ الخطوات

1: تقوم بانشاء النموذج
2: في حدث الانشاء للنموذج تقوم باسناد قيمة للمتغير او بعد عملية الانشاء للنموذج
3: تقوم باظهار النموذج

كود :
If not Assginged(Form1) then  Form1 :=TForm1.create X:=233 Form1.show


وهنا ان القيمة التي اسندتها للمتغير لن تحصل لانها تأتي بعد ان تم انشاء النموذج فعلا
ولهذا يجب ان تستخدم الحدث OnShow وهناك تقوم باسناد قيمة للمتغير

لا أريد اسناد متغير عند حدث oncreate
لقد قمت بتلخيص المطلوب في هذه الصورة
[صورة: attachment.php?aid=4782]



RE: الوصول إلى edit text من فورم آخر - أبو معاذ - 25-09-2023

السلام عليكم.
يمكنك الوصول إليها بططريقة سهلة.

في الحدث OnCreate

اضف متغير مثلا اسمه Temp  من نوع الفورم التي ترغب في الوصول إليها.
PHP كود :
var
  Temp : TFMaForm;
begin
        temp 
:= TFMaForm.create(self);
        temp.Edit1.Text := 'Delphi4arab';// للوصول إلى الموكونات الخاصة ب MaForm
        temp.ShowModal;// هذه إذا كنت تود إظهار الفورم
        temp.free;// لتحرير الفورم.          
end; 

أرجو أن أكون قد أفدتك.


RE: الوصول إلى edit text من فورم آخر - صالح حمادي - 25-09-2023

(25-09-2023, 07:35 AM)أبو معاذ كتب : السلام عليكم.
يمكنك الوصول إليها بططريقة سهلة.

في الحدث OnCreate

اضف متغير مثلا اسمه Temp  من نوع الفورم التي ترغب في الوصول إليها.
PHP كود :
var
  Temp : TFMaForm;
begin
        temp 
:= TFMaForm.create(self);
        temp.Edit1.Text := 'Delphi4arab';// للوصول إلى الموكونات الخاصة ب MaForm
        temp.ShowModal;// هذه إذا كنت تود إظهار الفورم
        temp.free;// لتحرير الفورم.          
end; 

أرجو أن أكون قد أفدتك.

بارك الله فيك استاذنا سوف أقوم بتجربتها و اوافيك بالنتيجة


RE: الوصول إلى edit text من فورم آخر - صالح حمادي - 26-09-2023

(25-09-2023, 07:35 AM)أبو معاذ كتب : السلام عليكم.
يمكنك الوصول إليها بططريقة سهلة.

في الحدث OnCreate

اضف متغير مثلا اسمه Temp  من نوع الفورم التي ترغب في الوصول إليها.
PHP كود :
var
  Temp : TFMaForm;
begin
        temp 
:= TFMaForm.create(self);
        temp.Edit1.Text := 'Delphi4arab';// للوصول إلى الموكونات الخاصة ب MaForm
        temp.ShowModal;// هذه إذا كنت تود إظهار الفورم
        temp.free;// لتحرير الفورم.          
end; 

أرجو أن أكون قد أفدتك.

ألف شكر أستاذنا لقد تمت العملية بنجاح