Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизОбращение к Edit ам по индексам? Найти похожие ветки
← →
SashaNevid (2004-05-03 15:19) [0]Здравствуйте!
Скажите, можно ли из группы Edit"ов 100шт (10*10) создать двумерный массив, чтобы обращаться к ним по индексу? И как это сделать?
← →
KSergey © (2004-05-03 15:23) [1]Легко! ;)
Почитайте тут, думаю поможет. ВО всяком случае будет понятно. В принципе, можно и просто ссылки на готовые эдиты в массив разместить, не обязательно динамически создавать. Это уже по вкусу.
http://www.delphikingdom.com/helloworld/runtime_comp.htm
Так же советую все статьи из
http://www.delphikingdom.com/asp/section.asp?ID=16
к обязательному прочтению!!!!
← →
Palladin © (2004-05-03 15:25) [2]почитай книжку по паскалю на тему массивов
как это сделать? как и все остальное...
← →
TUser © (2004-05-03 15:45) [3]Тут кто-то спрашивал, как 80 эдитов в одномерном массиве содержать. Поищи, потом экстраполируй до 100 эдитов в 2d
← →
leon2333 (2004-05-03 19:26) [4]Держи
procedure TForm1.Button1Click(Sender: TObject);
var b:array[1..10,1..10]of TButton;
i,j:integer;
begin
for i:=1 to 10 do
for j:=1 to 10 do
begin
b[i,j]:=TButton.Create(self);
b[i,j].Parent:=self;
b[i,j].Width:=30;
b[i,j].Height:=30;
b[i,j].top:=i*30;
b[i,j].Left:=j*30;
b[i,j].Caption:=IntToStr(i)+"-"+IntToStr(j);
end;
end;
← →
leon2333 (2004-05-03 19:28) [5]Извиняюсь
procedure TForm1.Button1Click(Sender: TObject);
var b:array[1..10,1..10]of TEdit;
i,j:integer;
begin
for i:=1 to 10 do
for j:=1 to 10 do
begin
b[i,j]:=TEdit.Create(self);
b[i,j].Parent:=self;
b[i,j].Width:=30;
b[i,j].Height:=30;
b[i,j].top:=i*30;
b[i,j].Left:=j*30;
b[i,j].Text:=IntToStr(i)+"-"+IntToStr(j);
end;
← →
SashaNevid (2004-05-03 21:21) [6]В коде, что выше я так понимаю Edit"ы только создаются. А как быть если они уже есть? То есть существуют на форме, и имеют имена.
И если не сложно, то поясните строчки:
b[i,j]:=TEdit.Create(self);
b[i,j].Parent:=self;
← →
Gero © (2004-05-03 21:28) [7]
> SashaNevid (03.05.04 21:21)
> И если не сложно, то поясните строчки:
> b[i,j]:=TEdit.Create(self);
> b[i,j].Parent:=self;
Да Вам рано еще 2d массивы из edit"ов создавать.
Почитайте литературу и содайте самостоятельно хотя бы один.
Тогда будем дальше говорить.
← →
begin...end © (2004-05-03 22:22) [8]> SashaNevid
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342
← →
Mim1 © (2004-05-03 22:25) [9]TUser © (03.05.04 15:45) [3]
Вопрос не меняется, однако количество компонентов ростет :).
← →
TButton © (2004-05-03 22:36) [10]меня всегда мучал вопрос, а нафига вам столько надо???
← →
leon3333 (2004-05-03 23:19) [11]
> И если не сложно, то поясните строчки:
> b[i,j]:=TEdit.Create(self);
> b[i,j].Parent:=self;
Первая - создание в памяти объекта типа TEdit
Втора - родитель объекта будет self
← →
leon3333 (2004-05-03 23:21) [12]Че опух что-ли столько кнопок то бросать
← →
leon3333 (2004-05-03 23:23) [13]> меня всегда мучал вопрос, а нафига вам столько надо???
иглуску навелно деет
← →
Юрий Зотов © (2004-05-03 23:40) [14]> можно ли из группы Edit"ов 100шт (10*10) создать двумерный
> массив
Можно. Как - уже сказали. Но лучше этого не делать. Подумайте - хорошо ли будет человеку работать с такой программой? И станет ли он работать с такой программой? И не стоит ли подумать о другом ее интерфейсе?
"Бедный юзер. Я знал его."
(с) Почти Шекспир.
← →
SergP © (2004-05-04 00:31) [15]>Скажите, можно ли из группы Edit"ов 100шт (10*10) создать двумерный
>массив,
Думаю что проще было бы один stringGrid влепить вместо целого массива эдитов...
← →
SergP © (2004-05-04 00:34) [16]>В коде, что выше я так понимаю Edit"ы только создаются. А как быть если
>они уже есть? То есть существуют на форме, и имеют имена.
Тогда делай так:
var
b:array[1..10,1..10] of Tedit;
....
b[1,1]:=Edit1;
b[1,2]:=Edit2;
и т.д... :-)))
← →
Palladin © (2004-05-04 01:01) [17]
> Юрий Зотов © (03.05.04 23:40) [14]
Между прочим число кнопок в minesweeper достигает временами до 721-ой :)
← →
Юрий Зотов © (2004-05-04 01:07) [18]> Palladin © (04.05.04 01:01) [17]
И ни одна из них не требует ввода текста.
← →
Palladin © (2004-05-04 01:19) [19]Да это я в шутку :)
> SashaNevid (03.05.04 15:19)
Зачем тебе столько? Прекрасный TStringGrid позволяет обращатся весело и не принужденно ко всем своим ячейкам по X,Y. Если только затевать это ради TLabel перед каждым TEdit, то подумать: средний жутко сокращенный текст будет занимать не менее 30px,+ TEdit для приемлимого вида не менее 40px итого 700px чистых TEdit и TLabel без учета бордюров и отступов, а в высоту чистых 210... ну что за муть получится... да я запишу эту программу на компакт и при авторе засуну ее в микроволоновку... вместе с автором, зависит от настроения...
← →
TButton © (2004-05-04 02:27) [20]>иглуску навелно деет
че эт за игрушка такая в которой 100 едитов??? ну сто батонов... это еще можно понять... типа сапер made by начинающий программист. ну едитов то нафига стока. не дай бог во все надо будет текст вводить... или это типа редактор карт для сапра? =)
← →
KSergey © (2004-05-04 05:38) [21]> SashaNevid (03.05.04 21:21) [6]
> В коде, что выше я так понимаю Edit"ы только создаются.
> И если не сложно, то поясните строчки:
Ты издеваешься?? А почитать давно даденную мною ссылку, а позже -ту же дал begin...end ©[8] - не умеем??! Или "чукча не читатель"?
← →
Mim1 © (2004-05-04 07:02) [22]Palladin © (04.05.04 01:01) [17]
Думается что разработчки сапера сделали один обьект который отображает различное количество кнопок.
← →
SergP © (2004-05-04 09:42) [23]>Тут кто-то спрашивал, как 80 эдитов в одномерном массиве содержать.
Ну правильно... Прогресс ведь. Скоро будут спрашивать как 1000 эдитов в трехмерном массиве держать.
:-))
← →
Anatoly Podgoretsky © (2004-05-04 09:56) [24]Нет проблем
var b: array[1..10, 1..10, 1..10] of TEdit;
← →
Gero © (2004-05-04 10:02) [25]
> Скоро будут спрашивать как 1000 эдитов в трехмерном массиве
> держать
Для 3D-игры, наверное :)
← →
Palladin © (2004-05-04 10:08) [26]
> Mim1 © (04.05.04 07:02) [22]
А что это меняет?
← →
Danilka © (2004-05-04 11:11) [27]Опять автора ветки спугнули. :)
← →
Gero © (2004-05-04 11:13) [28]
> Опять автора ветки спугнули
Ага, а так хотелось услышать, зачем все-таки ему 100 едитов.
← →
Palladin © (2004-05-04 11:18) [29]Следующий вопрос будет про стрелочки
← →
SashaNevid (2004-05-04 11:52) [30]Вы меня не спугнули. ))) Сейчас сел почитать - уржался. Ребята, если я спашивал о таком, то НАДО.
Так много, потому, что программа учебная - рассчёт мат. модели. И очень много входных параметров.
Думал, на счёт TStringGrid"а, может и буду сейчас использовать. НО, интерфейс оч сильно проиграет...
И этим для меня заниматься не рано, а уже дано начать надо было. Сроки поджимают...
← →
Gero © (2004-05-04 12:13) [31]
> SashaNevid (04.05.04 11:52)
То, что я Вам предложил в [7] Вы уже сделали?
← →
SashaNevid (2004-05-04 12:29) [32]Всем, кто по делу говорил
БОЛЬШОЕ СПАСИБО!!!!!!!!!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.036 c