تحديد فورم لارسال البيانات اليه
#1
السلام عليكم . استخدم هذا الكود لانشاء فورم
كود :
var f1 : Tform1; begin f1 := Tform1.creat (self) end;

اذا كان لدي اربع او خمس فورمات من Tform1 كيف استطيع ان اجعل الفورم رقم ثلاثة هو المفعل واذا ارسلت بيانات الىedit موجوده على الفورم تذهب اليه لاتذهب الى فورم اخر
مع الشكر
الرد
#2
استخدم قبل اي امر اسم الفورم الذي سوف توجهه اليه ثم اتبعه بالكود

Form3.???????

بالنسبة لاظهار الفورم واخفائه
Form3.show;
Form1.hide;

اسف انا اكتب من جوالي واحببت الرد ( :
حتى وان كنت على الطريق الصحيح ان لم تتقدم سوف يدهسك من خلفك
الرد
#3
اخي الكريم الفورمات كلها هي Form1 على سبيل المثال . اي اذا ضغطت على الفتاح انشاء الفورم اربع مرات
كود :
var f1 : Tform1; begin f1 := Tform1.creat (self) end;
فسوف ينشا اربع فورمات من نوع form1 واذا اردت ارسال بيانات الى الفورم رقم 2 فإنها تذهب الى اخر فورم انشا . وهو رقم 4
الرد
#4
كود :
فسوف ينشا اربع فورمات من نوع form1 واذا اردت ارسال بيانات الى الفورم رقم 2 فإنها تذهب الى اخر فورم انشا . وهو رقم 4

ما الكود الذي تستخدمة لارسال البيانات الى فورم اخر ؟
حتى وان كنت على الطريق الصحيح ان لم تتقدم سوف يدهسك من خلفك
الرد
#5
عفوا دلفي ليس لدي حاليا
فقط عند انشاء الفورمات اعطهم تسميات مختلفة
مثال بسيط لانشاء فورمات زمن التشغيل
PHP كود :
private
   
MyForm: array of TForm;

procedure TForm1.CreateForms(Sender: TObject);
begin
  SetLength
(MyForm, Length(MyForm) + 1);
  
MyForm[Length(MyForm) - 1] := TForm1.Create(Self);
  
MyForm[Length(MyForm) - 1].Name := 'Form' + IntToStr(Length(MyForm));
  
MyForm[Length(MyForm) - 1].Caption := 'Form' + IntToStr(Length(MyForm));
  
MyForm[Length(MyForm) - 1].Show;
end; 
الان لتحديد الفورم او اي شيئ قم بعمل حلقة على الفورمات
شيئ من هذا القبيل عدل على الكود بما يناسبك
PHP كود :
for  I := 0 to Screen.FormCount-1 do
begin
  
if Screen.Forms[I].Name := 'form3' then do waht you want 
end
; 
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#6
الف شكر اخي الكريم . انا استخدمة الطريقة التي ذكرتها . ولكن بقي كيف استطيع ان اصل مكون موجود على الفورم . البيانات تنتقل من فورم عليه dbgrig الى فورم علية edit .
كود :
form1.edit1.Text:= DM.Qselectmainacc.Fields.FieldByName('name_acc').Value ; form1.edit2.text := DM.Qselectmainacc.Fields.FieldByName('id_acc').Value ; form1.edit3.text := edet1.text
عندما استخدم هذه الحلقة اصل تماما الى الفورم المطلوب ولكن بقي ان اصل الى المكونات الموجوده على الفورم
كود :
var er:integer ; ftatname:string begin for er := 0 to Screen.FormCount-1 do begin if Screen.Forms[er].Name = ftatname then begin Screen.Forms[er].Show; end; end; end;
في الصورة تنتقل البيانات من حقل موجود في dbgrid الى edit موجوده على فورم اخر
مع الشكر الجزيل


الملفات المرفقة
.jpg   54.jpg (الحجم : 38.54 ك ب / التحميلات : 16)
الرد
#7
السلام عليكم اخي ان كنت قد وصلت الى الفورم تعامل مع المكونات عادي كانك تتعامل مع فورم اخر
كود :
Screen.Forms[er].Edit1.Text := 'dddddddddddddd';
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#8
شكرا لك اخي الكريم . ولكن هكذا لايرى مكونات الفورم
يرى خصائص الفورم من . show ,Enabled, close وغيرها ولكنه لايرى المكونات الموجوده على الفورم . لانك تعمل من فورم اخر
الرد
#9
الف شكر اخي الكريم على ال****** .
كانت بحاجة ان تضيف الفورم اولا
كود :
Tform1(Screen.Forms[er]).edit3.Text:= edit1.text ;
الف شكر
الرد


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


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