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

او

ربما المتغير X  غير معرف تحت Globale وبالتالي لا يمكنك اسناد له قيمة من فورم خارجي ؟ انت معرفه على Private
هذا ان كنت قد فهمت تساءلكـ ...
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
[-] كل من 1 user says قال شكرا ل Mr.DOS على المشاركة المفيدة
  • صالح حمادي
الرد
#3
وعليكم السلام ورحمة الله


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

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

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

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


وهنا ان القيمة التي اسندتها للمتغير لن تحصل لانها تأتي بعد ان تم انشاء النموذج فعلا
ولهذا يجب ان تستخدم الحدث OnShow وهناك تقوم باسناد قيمة للمتغير
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة
  • صالح حمادي
الرد
#4
(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]


الملفات المرفقة
.jpg   2023.jpg (الحجم : 107.76 ك ب / التحميلات : 26)
الرد
#5
السلام عليكم.
يمكنك الوصول إليها بططريقة سهلة.

في الحدث OnCreate

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

أرجو أن أكون قد أفدتك.
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
[-] كل من 2 users say قال شكرا ل أبو معاذ على المشاركة المفيدة
  • صالح حمادي, Ibn Battuta
الرد
#6
(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; 

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

بارك الله فيك استاذنا سوف أقوم بتجربتها و اوافيك بالنتيجة
[-] كل من 2 users say قال شكرا ل صالح حمادي على المشاركة المفيدة
  • أبو معاذ, Ibn Battuta
الرد
#7
(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; 

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

ألف شكر أستاذنا لقد تمت العملية بنجاح
[-] كل من 2 users say قال شكرا ل صالح حمادي على المشاركة المفيدة
  • أبو معاذ, Ibn Battuta
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم