Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

мфссив tedit [D7, XP]


olevacho_ ©   (2006-12-23 19:16:00) 

есть  на форме 9 Tedit-ov 3x3 . Как объявить массив array[i][j] чтобы каждый еллемент был указателем на определенный TEdit?


PZ   (2006-12-24 12:40:00) [1]

Вечером гораздо хуже соображаю, чем днем.
Убедился в Вашей правоте, когда написал примеры.
Пардон и с уважением, PZ


Palladin   (2006-12-23 21:19:00) [2]


> [14] PZ

Ну... мои соболезнования...


PZ   (2006-12-23 21:17:00) [3]

Не вижу равенства. Впрочем, спасибо за беседу Palladin, ors_archangel, вынужден отключться.


ors_archangel   (2006-12-23 21:13:00) [4]


> PZ   (23.12.06 21:09) [12]

[1]=[3]


PZ   (2006-12-23 21:09:00) [5]

Var
 arr : Array[1..3, 1..3] of TEdit;

procedure TForm1.FormCreate(Sender: TObject);
begin
 arr[1,1] := Edit1;
 arr[1,2] := Edit2;
 arr[1,3] := Edit3;
 ....
 arr[3,3] := Edit9;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Label1.Caption := arr[1,1].Text;
 Label2.Caption := arr[1,2].Text;
 Label3.Caption := arr[1,3].Text;
 ....
end;

На форму установил 9 Edit. В метках я вижу именно то, что записано в этих Edit-ах.
Ваш массив я не имеет подобной связи

 Label1.Caption := Edits[1,1].Text;
 Label2.Caption := Edits[1,2].Text;


Palladin   (2006-12-23 20:59:00) [6]

Ну расскажите пожалуйста чем же отличается [1] от моего ответа? Буковками?


PZ   (2006-12-23 20:36:00) [7]

Возможно Вы правы, только определение какое-то слишком абстактное. Мне кажется ответ [1] именно по существу.


Palladin   (2006-12-23 20:33:00) [8]


> [7] PZ

Я не виноват. У тебя проблемы в воспроизводстве.


Palladin   (2006-12-23 20:30:00) [9]

Поясняю, на форме есть некий набор объектов TEdit. Об их наименовании мы не имеем ни малейщего понятия, бо это известно только автору. Вопрос звучит так: как объявить массив так что бы они уже...
Да без проблемм, я и показал как же его объявить и как определить значения его элементов...
Теперь понятно каким образом мой массив Edits имеет отношение к девяти компонентам TEDit расположенным на форме?


PZ   (2006-12-23 20:29:00) [10]

Я воспроизвел Ваш массив - не вижу ни какой связи


PZ   (2006-12-23 20:27:00) [11]

Я не обвиняю, я спрашиваю.


Palladin   (2006-12-23 20:25:00) [12]

Самое прямое. Моей вины в Вашем непонимании нет.


PZ   (2006-12-23 20:15:00) [13]

> [3] Palladin ©   (23.12.06 19:22)

Не понятно, какое отношение Ваш массив Editsимеет к девяти компонентам TEDit, расположенным на форме, указанным в вопросе [0].


Dmitrij_K   (2006-12-23 19:22:00) [14]

var arr :Array[1..3, 1..3] of TEdit;
begin
arr[1,1] := Edit1;
arr[1,2] := Edit2;
{...}
arr[3,3] := Edit9;
{...}

arr[3,3].Text := 'lalala'


ors_archangel   (2006-12-23 19:22:00) [15]


const
 w = 3;
 h = 3;
var
 ed: array[0..w-1,0..h-1] of TEdit;
begin
 for i := 0 to w-1 do
 for j := 0 to h-1 do
    ed[i,j] := FindComponent('Edit'+inttostr(1 + i*w + j));
end;

если editы пронумерованы Edit1, Edit2, …
FindComponent - находит компонент по имени


Palladin   (2006-12-23 19:22:00) [16]

хем

Var
Edits:Array [1..3,1..3] of TEdit
...
Edits[1,1]:=blabla11
Edits[1,2]:=blabla12
и тд
...


Наверх

Титульная страница Поиск, карта сайта Написать письмо