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
// متغير لإستقبال Form
function 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));
end
end;
if ss.Count > 0 then Begin;
SetLength(arrNumbercontrol,ss.Count) ;
for i:= 0 to ss.Count-1 do
Begin
arrNumbercontrol[i]:= strtoint(ss.Strings[i]);
end;
ss.Free;
Result :=True ;
end
else
Begin
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));
end
end;
if ss.Count > 0 then Begin;
SetLength(arrNumbercontrol,ss.Count) ;
for i:= 0 to ss.Count-1 do
Begin
arrNumbercontrol[i]:= strtoint(ss.Strings[i]);
end;
ss.Free;
Result :=True ;
end
else
Begin
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));
end
end;
if ss.Count > 0 then Begin;
SetLength(arrNumbercontrol,ss.Count) ;
for i:= 0 to ss.Count-1 do
Begin
arrNumbercontrol[i]:= strtoint(ss.Strings[i]);
end;
ss.Free;
Result :=True ;
end
else
Begin
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));
end
end;
if ss.Count > 0 then Begin;
SetLength(arrNumbercontrol,ss.Count) ;
for i:= 0 to ss.Count-1 do
Begin
arrNumbercontrol[i]:= strtoint(ss.Strings[i]);
end;
ss.Free;
Result :=True ;
end
else
Begin
ss.Free;
Result :=False;
end;
end;
end.