Forum > Arabic

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

<< < (6/7) > >>

pascal111:
جرّبتها ،الدّالة تعمل جيّداً لكنّني لستُ على يقينٍ من طريقتي في إستخدامها بعد.


--- 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 Unit1; {$mode objfpc}{$H+} interface uses  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls; type   { TForm1 }   TForm1 = class(TForm)    Button1: TButton;    Edit1: TEdit;    Edit2: TEdit;    Edit3: TEdit;    procedure Button1Click(Sender: TObject);  private   public   end; var  Form1: TForm1;  arrNumbercontrol: array of Integer;   function FCountClass(varform: TWinControl; AClass: TControlClass): Boolean; implementation {$R *.lfm}  function FCountClass(varform: TWinControl; AClass: TControlClass): Boolean;var  i: Integer; // i متغير للحلقةbegin  for i := 0 to varform.ControlCount - 1 do  begin    // هذه الحلقة تقوم بالبحث عن الأدواة edit    // وسط أدوات الـفورم    if varform.Controls[i] is AClass then    begin      SetLength(arrNumbercontrol, Length(arrNumbercontrol) + 1);      // عند وجود أداة من نوع Edit يضيف رقم الترتيب للأداة في لوحة النصوص      arrNumbercontrol[High(arrNumbercontrol)] := i;    end;  end;  Result := Length(arrNumbercontrol) > 0;end; { TForm1 } procedure TForm1.Button1Click(Sender: TObject);  begin    if  FCountClass(self,tedit) then  showmessage(inttostr(High(arrNumbercontrol)+1)); end; end.  

Zaher:
للدقة لا يفترض ان تعمل مصفوفة عامة ترجع فيها معلومات مؤقتة
يعني arrNumbercontrol موقعها خطأ
 ان ترجعها من الدالة نفسها وهو الحل الافضل

Al-Eid:

--- Quote from: nouzi on August 14, 2021, 01:24:48 am ---هذا تصوري الكود تقريبا لكن مزال بعض الملاحظات أخ زاهر مثل :
نوع الوظيفة  عدادي وليس منطقي-
اختصار جميع الدوال في دالة واحدة

--- End quote ---

أعتقد لو أختصرنا كل الدوال في دالة واحدة يجب أن يكون هناك إجراء if لمعرفة نوع الأداة وكثير من المصفوفات لتسجل رقم الترتيبي ولذلك من الأفضل أن يبقى كل نوع له دلته الخاص به هذا مجرد رائي يمكن أن تفيدونا أكثر

nouzi:

--- Quote from: Al-Eid on August 15, 2021, 11:45:58 pm ---
--- Quote from: nouzi on August 14, 2021, 01:24:48 am ---هذا تصوري الكود تقريبا لكن مزال بعض الملاحظات أخ زاهر مثل :
نوع الوظيفة  عدادي وليس منطقي-
اختصار جميع الدوال في دالة واحدة

--- End quote ---

أعتقد لو أختصرنا كل الدوال في دالة واحدة يجب أن يكون هناك إجراء if لمعرفة نوع الأداة وكثير من المصفوفات لتسجل رقم الترتيبي ولذلك من الأفضل أن يبقى كل نوع له دلته الخاص به هذا مجرد رائي يمكن أن تفيدونا أكثر

--- End quote ---
لن تحتاج إلى شرط غير الشرط الوحيد الموجود في الدالة الاصلية
يبقى كل شئ مربوط حسب تصورك للحل و تصميمك لي الشفرة 

Al-Eid:

--- Quote from: Zaher on August 14, 2021, 05:53:38 pm ---ليس بعد اذا اردت كل التوابع ممكن هذه الطريقة


--- 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";}};} ---function FCountClass(varform: TWinControl; AClass: TControlClass): Boolean;var  i: Integer; // i متغير للحلقةbegin  for i := 0 to varform.ControlCount - 1 do  begin    // هذه الحلقة تقوم بالبحث عن الأدواة edit    // وسط أدوات الـفورم    if varform.Controls[i] is AClass then    begin      SetLength(arrNumbercontrol, Length(arrNumbercontrol) + 1);      // عند وجود أداة من نوع Edit يضيف رقم الترتيب للأداة في لوحة النصوص      arrNumbercontrol[High(arrNumbercontrol)] := i;    end;  end;  Result := Length(arrNumbercontrol) > 0;end; FCountClass(self, TEdit); 
--- End quote ---

بارك الله فيك أخ zaher


--- Quote from: nouzi on August 16, 2021, 12:58:09 am ---
--- Quote from: Al-Eid on August 15, 2021, 11:45:58 pm ---
--- Quote from: nouzi on August 14, 2021, 01:24:48 am ---هذا تصوري الكود تقريبا لكن مزال بعض الملاحظات أخ زاهر مثل :
نوع الوظيفة  عدادي وليس منطقي-
اختصار جميع الدوال في دالة واحدة

--- End quote ---

أعتقد لو أختصرنا كل الدوال في دالة واحدة يجب أن يكون هناك إجراء if لمعرفة نوع الأداة وكثير من المصفوفات لتسجل رقم الترتيبي ولذلك من الأفضل أن يبقى كل نوع له دلته الخاص به هذا مجرد رائي يمكن أن تفيدونا أكثر

--- End quote ---
لن تحتاج إلى شرط غير الشرط الوحيد الموجود في الدالة الاصلية
يبقى كل شئ مربوط حسب تصورك للحل و تصميمك لي الشفرة 

--- End quote ---
بارك الله فيك اخي nouzi  على التوضيح

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version