Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.038 c
6-1079886834
LAndreyL
2004-03-21 19:33
2004.05.16
Кодировка для отправки почты?


1-1083131793
Rext
2004-04-28 09:56
2004.05.16
Функции из dll


4-1080283422
kentavr
2004-03-26 09:43
2004.05.16
Client&server


1-1083303503
dstupin
2004-04-30 09:38
2004.05.16
Проблема с dll на дельфи, при вызове из VC++ 6


14-1083006156
ЧупаЧупс
2004-04-26 23:02
2004.05.16
Оформление





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский