Массив Edit-компонентов

Previous  Top  Next

    
 

 

Code:

procedure DoSomethingWithEditControls;

var

K: Integer;

EditArray: array[0..99] of Tedit;

begin

try

   for K := 0 to 99 do

   begin

     EditArray[K] := TEdit.Create(Self);

     EditArray[K].Parent := Self;

     {Устанавливаем необходимые свойства TEdit}

     SetSomeOtherPropertiesOfTEdit;

     Left := 100;

     Top := K * 10;

     {Что-то делаем при перемещении мыши}

     OnMouseMove := WhatToDoWhenMouseIsMoved;

   end;

   {Делаем все что хотим с полученным массивом Edit-компонентов}

   DoWhateverYouWantToDoWithTheseEdits;

finally

   for K := 0 to 99 do

     EditArray[K].Free;

end;

end;

 

 

©Drkb::00978

http://delphiworld.narod.ru/

DelphiWorld 6.0

 


 

...массив ячеек TEdit будет просто замечательным, но я не могу понять как мне их создавать и делать видимыми.

 

Допустим, если они имеют имена с Edit1 по Edit 9, то можно попробовать сделать так:

 

 

Code:

var

eds: array[1..3,1..3] of TEdit;

ix: integer;

ed: TEdit;

begin

for ix := 0 to 8 do

begin

   ed := FindComponent('Edit'+IntToStr(ix+1)) as TEdit;

   if ed <> nil then

     eds[ix div 3 + 1,ix mod 3 + 1] := ed;

end;

end;

 

Затем, допустим, вам захотелось скопировать текст из строки 1 в строку 2:

 

Code:

for ix := 1 to 3 do

eds[2,ix].Text := eds[1,ix].Text;

©Drkb::00979

http://delphiworld.narod.ru/

DelphiWorld 6.0