Forum > Arabic

معرفة أدوات النموذج

<< < (4/7) > >>

pascal111:

--- Quote from: nouzi on August 11, 2021, 04:17:28 pm ---قبل تقديم اي ملاحظة ، الاول انشر الكود في أحد المواقع المخصصة إذا كان هذا ممكن لي يتسنى لي مراجعته مراجعته

--- End quote ---

تقريباً الأخ Al-Eid أدرج ملف الكود في مرفقات البوست (المشاركة)

Al-Eid:

--- Quote from: nouzi on August 11, 2021, 04:17:28 pm ---قبل تقديم اي ملاحظة ، الاول انشر الكود في أحد المواقع المخصصة إذا كان هذا ممكن لي يتسنى لي مراجعته مراجعته

--- End quote ---
هذا كود الوحدة التي تحتوي على الدوال


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---unit Unit2; {$mode objfpc}{$H+} interface uses  Classes, SysUtils,Forms,Controls, Graphics, Dialogs, StdCtrls;  var arrNumbercontrol: array of Integer;function FCountEdit(varform: TWinControl): Boolean ;function FCountEdit2(varform: TWinControl): Boolean ;function FCountLabel(varform: TWinControl): Boolean ;function FCountCombobx(varform: TWinControl): Boolean ;function FCountCombobx2(varform: TWinControl): Boolean ;function FCountButton(varform: TWinControl): Boolean ;implementation                    // متغير لإستقبال Formfunction FCountEdit(varform: TWinControl): Boolean;  var i :Integer ; // i متغير للحلقة      ss :TStrings; // متغير للوائح النصية لحفظ رقم الأداة  begin      ss := TStringList.Create ;  for i := 0 to varform.ComponentCount-1 do   Begin        // هذه الحلقة تقوم بالبحث عن الأدواة edit       // وسط أدوات الـفورم   if varform.Components[i] is TEdit then    Begin    // عند وجود أداة من نوع Edit يضيف رقم الترتيب للأداة في لوحة النصوص     ss.Add(inttostr(i));    end  end;  if ss.Count > 0 then Begin; // إذاكان هناك عددالأسطر أكثر من 0 يعني هناك أداة Edit واحدة على الأقل   // تحديد طول المصفوفة حسب عدد الأدوات Edit  SetLength(arrNumbercontrol,ss.Count) ;  for i:= 0 to ss.Count-1 do  Begin   arrNumbercontrol[i]:= strtoint(ss.Strings[i]);   // نضع في خلايا المصفوفة أرقام الترتيبية لأدوات Edit   end;   ss.Free;   Result :=True ;  end else Begin   ss.Free;   Result :=False; end;    end; function FCountEdit2(varform: TWinControl): Boolean;var i :Integer ; // i متغير للحلقة      ss :TStrings; // متغير للوائح النصية لحفظ رقم الأداة  begin      ss := TStringList.Create ;  for i := 0 to varform.ControlCount-1 do   Begin        // هذه الحلقة تقوم بالبحث عن الأدواة edit       // وسط أدوات الـفورم   if varform.Controls[i] is TEdit then    Begin    // عند وجود أداة من نوع Edit يضيف رقم الترتيب للأداة في لوحة النصوص     ss.Add(inttostr(i));    end  end;  if ss.Count > 0 then Begin; // إذاكان هناك عددالأسطر أكثر من 0 يعني هناك أداة Edit واحدة على الأقل   // تحديد طول المصفوفة حسب عدد الأدوات Edit  SetLength(arrNumbercontrol,ss.Count) ;  for i:= 0 to ss.Count-1 do  Begin   arrNumbercontrol[i]:= strtoint(ss.Strings[i]);   // نضع في خلايا المصفوفة أرقام الترتيبية لأدوات Edit   end;   ss.Free;   Result :=True ;  end else Begin   ss.Free;   Result :=False; end;    end; function FCountLabel(varform: TWinControl): Boolean;var i :Integer ;    ss :TStrings;begin    ss := TStringList.Create ;for i := 0 to varform.ComponentCount-1 do Begin  if varform.Components[i] is TLabel then  Begin   ss.Add(inttostr(i));  endend; if ss.Count > 0 then Begin; SetLength(arrNumbercontrol,ss.Count) ;for i:= 0 to ss.Count-1 doBegin arrNumbercontrol[i]:= strtoint(ss.Strings[i]);end; ss.Free; Result :=True ;endelseBegin ss.Free; Result :=False;end; end; function FCountCombobx(varform: TWinControl): Boolean;var i :Integer ;    ss :TStrings;begin    ss := TStringList.Create ;for i := 0 to varform.ComponentCount-1 do Begin  if varform.Components[i] is TCombobox then  Begin   ss.Add(inttostr(i));  endend; if ss.Count > 0 then Begin; SetLength(arrNumbercontrol,ss.Count) ;for i:= 0 to ss.Count-1 doBegin arrNumbercontrol[i]:= strtoint(ss.Strings[i]);end; ss.Free; Result :=True ;endelseBegin ss.Free; Result :=False;end; end; function FCountCombobx2(varform: TWinControl): Boolean;var i :Integer ;    ss :TStrings;begin    ss := TStringList.Create ;for i := 0 to varform.ControlCount -1 do Begin  if varform.Controls[i] is TCombobox then  Begin   ss.Add(inttostr(i));  endend; if ss.Count > 0 then Begin; SetLength(arrNumbercontrol,ss.Count) ;for i:= 0 to ss.Count-1 doBegin arrNumbercontrol[i]:= strtoint(ss.Strings[i]);end; ss.Free; Result :=True ;endelseBegin ss.Free; Result :=False;end; end; function FCountButton(varform: TWinControl): Boolean;var i :Integer ;    ss :TStrings;begin    ss := TStringList.Create ;for i := 0 to varform.ComponentCount-1 do Begin  if varform.Components[i] is TButton then  Begin   ss.Add(inttostr(i));  endend; if ss.Count > 0 then Begin; SetLength(arrNumbercontrol,ss.Count) ;for i:= 0 to ss.Count-1 doBegin arrNumbercontrol[i]:= strtoint(ss.Strings[i]);end; ss.Free; Result :=True ;endelseBegin ss.Free; Result :=False;end;  end;  end.        
هذا كود أزار لمنداة الدوال


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} --- procedure TForm1.Button3Click(Sender: TObject);var i : integer; // متغير للحلقةbegin if FCountEdit(form1) then // إذا أسترجعت الدالة قيمة True يعني وجود أداة  Edit واحدة على الأقل Begin  for i := 0 to high(arrNumbercontrol) do   // حلقة عدد حلاقتها بعدد edit الموجودة   Begin   //   إطهار رقم الترتيبي للاداة في خاصيتها Text     Showmessage(Tedit(form1.Components[arrNumbercontrol[i]]).Name ) ;   end end; end;  procedure TForm1.Button4Click(Sender: TObject);var i : integer;begin if FCountButton(form1) then Begin  for i := 0 to high(arrNumbercontrol) do   Begin    Showmessage(Tbutton(form1.Components[arrNumbercontrol[i]]).Caption) ;   end end;end; procedure TForm1.Button5Click(Sender: TObject);var i : integer;begin if FCountLabel(form1) then Begin  for i := 0 to high(arrNumbercontrol) do   Begin   showmessage(form1.Components[arrNumbercontrol[i]].Name );   end end;end; procedure TForm1.Button6Click(Sender: TObject);  var i : integer; begin  if FCountCombobx(form1) then  Begin   for i := 0 to high(arrNumbercontrol) do    Begin    showmessage(form1.Components[arrNumbercontrol[i]].Name );    end  end;end; procedure TForm1.Button8Click(Sender: TObject); var i : integer; begin if FCountEdit2(form1) then Begin  for i := 0 to high(arrNumbercontrol) do   Begin    Showmessage(Tedit(form1.Controls[arrNumbercontrol[i]]).Name) ;   end end;end; procedure TForm1.Button9Click(Sender: TObject);  var i : integer; begin  if FCountCombobx2(form1) then  Begin   for i := 0 to high(arrNumbercontrol) do    Begin    showmessage(form1.Components[arrNumbercontrol[i]].Name );    end  end;end;                                                

nouzi:



--- Quote ---
تقريباً الأخ Al-Eid أدرج ملف الكود في مرفقات البوست (المشاركة)


--- End quote ---

شكرا لك اعرف ذالك ، لكني الان ادير اغلب اعمالي من المحمول

nouzi:
من وجهة نظري هذه الشفرة سيئة ، مزلت قادر على تحسين الكود لا استطيع ان اضيف أكثر لان حاسوبي معطل الان لكن استطيع توجيه بعض النصائح حول اذا ردت ذالك ،وإذا اطلع الاخ زاهر على الكود وقدم النصح ستكون اكبر محضوض في المنتدى اليوم  :D

pascal111:

--- Quote from: nouzi on August 12, 2021, 04:26:26 pm ---


--- Quote ---
تقريباً الأخ Al-Eid أدرج ملف الكود في مرفقات البوست (المشاركة)


--- End quote ---

شكرا لك اعرف ذالك ، لكني الان ادير اغلب اعمالي من المحمول

--- End quote ---

حسناً! لكـ مُطلق الحُريّة

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version