|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Двумерный массив из Edit-ов
Здравствуйте, пытаюсь создать двумерный массив из Edit-ов, рядом с которым будет Lable, в которые будут вноситься значения a[i,j] (i,j=1..n, n вводится с клавиатуры). При этом если i не равно j, то в лэйбл вводится 2a[i,j]. Короче говоря, нужно заполнить значения в формуле . И потом, эти значения из эдитов занести в массив a[i,j]. но пока почему-то не все "а" создаются.
Скорее всего я не правильно описал процедуру создания компонентов, но по-другому я не придумал((( Может подскажите как это сделать? Код:
procedure TForm1.Button1Click(Sender: TObject); var Lab: Array of array of TLabel; Ed: Array of array of TEdit; n,i,j: Integer; begin n:=strtoint(edtkp.text); SetLength(Lab, n+1,n+1); SetLength(Ed, n+1,n+1); for i := 0 to n-1 do begin j:=0; while j<=n-1 do begin Lab[i,j] := TLabel.Create(Self); Lab[i,j].Parent := Self; Lab[i,j].Left := 10; Lab[i,j].Top := i*30+250; Lab[i,j].Caption := 'a'+IntToStr(i+1)+IntToStr(j+1)+'='; Ed[i,j] := TEdit.Create(Self); Ed[i,j].Parent := Self; Ed[i,j].Left := 150; Ed[i,j].Top := i*30+250; Ed[i,j].Text := ''; Inc(j); end; end; end; Последний раз редактировалось 'Zanuda', 01.06.2014 в 15:53. |
#2
|
||||
|
||||
Цитата:
Так как координата Top привязана к переменной цикла i, то координата Left должна быть привязана к переменной j, т.е. как-то так: Код:
..... Lab[i,j].Left := 10 + j * 300; ..... Ed[i,j].Left := 150 + j * 300; ..... |