powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Создание массива кнопок
32 сообщений из 32, показаны все 2 страниц
Создание массива кнопок
    #32321072
Valdemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раньше занимался в Basic и там можно было создавать массив кнопок, а в delphi можно или нет и как.
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321087
LexusR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты что рояль пишешь ?
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321090
1man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Жми кнопку "поиск" (см. наверху)
2. Введи в поле "массив кнопок"
3. Читай
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321113
SiDen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a: array of TButton;
setlength(a,1);
a[0]:=TButton.Create ну и т.д.

перед удалением массива всем элементам сделать a .Destroy;
а потом уже setlength(a,0);
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321116
LexusR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
procedure TForm1.FormCreate(Sender: TObject);
var
   i,j      : integer;
   MyButton : TButton;
begin
  for i :=  0  to  20  do
    begin
      for j :=  0  to  20  do
        begin
          MyButton := TButton.Create(self);
          with MyButton do
            begin
              Parent := self;
              Left    := i* 100 ;
              Top     := j* 50 ;
              Width   :=  75 ;
              Height  :=  25 ;
              Caption := 'Button'+ IntToStr(i+ 1 )+IntToStr(j+ 1 );
              Visible := true;
            end;
        end;
    end;
end;

...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321120
Rostyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На Torry есть готовый рояль
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321272
Valdemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем спасибо, и за рояль тоже
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321400
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Valdemar

А зачем тебе именно рояль, тьфу ты, массив понадобился? Задачу бы описал. А то похоже ты так пытаешься организовать привязку одного обработчика события к нескольким кнопкам. В Delphi это не так делается.
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321542
Valdemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не мне надо просто кнопки чтобы создавались в процессе выполнения а их количество будет зависеть от количество записей в базе данных
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321548
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
8-)

Это что-то новенькое в визуализации данных. А дальше ты че делать будешь?
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321557
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А то похоже ты так пытаешься организовать привязку одного обработчика события к нескольким кнопкам. В Delphi это не так делается.

Еще как делается!
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321589
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Малиновский Владимир

автор писал:Еще как делается!

Что вы имели ввиду?
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321596
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для кнопок уже есть готовый массив Components у твоей формы. Там лежат все компоненты у которых Parent = <твоя форма> (по умолчанию у компонентов Parent-ом является форма). Чтобы не делать отбор нужных тебе компонентов из этого массива можно сделать у создаваемых кнопок
Parent = <панель на которой они лежат>. По умолчанию он будет пуст, а когда ты укажешь у кнопки Parent-ом эту панель, она добавится в массив Components данной панели.
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321731
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Малиновский Владимир

автор писал:
Еще как делается!


Что вы имели ввиду?

Ну, например:

procedure TForm1.ButtonClick(Sender: TObject);
begin
if Sender is TButton then
ShowMessage(TButton(Sender).Name);

end;
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321755
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор писал:Ну, например:

procedure TForm1.ButtonClick(Sender: TObject);
begin
if Sender is TButton then
ShowMessage(TButton(Sender).Name);

end;

И что? Как этот ваш приммер коррелируется с привязкой обработчика к нескольким кнопкам в VB? IMHO, там нет процедурных типов и не получается так, как в дельфи легко обращаться с обрабочиками. Именно для этих целей в VB группируют элементы, чтоб присвоить им один обработчик. Помниться даже пример в хелпе был, про калькулятор. А уж если и привязан один обработчик к нескольким компонентам, то лучше ориетнироваться не на его имя, а на Tag, тогда вместо кучи IFов получиться один красивый case в обработчике.
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321758
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Малиновский Владимир

А при чем тут массив?
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321815
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 pkarklin

И что? Как этот ваш приммер коррелируется с привязкой обработчика к нескольким кнопкам в VB? IMHO, там нет процедурных типов и не получается так, как в дельфи легко обращаться с обрабочиками. Именно для этих целей в VB группируют элементы, чтоб присвоить им один обработчик. Помниться даже пример в хелпе был, про калькулятор. А уж если и привязан один обработчик к нескольким компонентам, то лучше ориетнироваться не на его имя, а на Tag, тогда вместо кучи IFов получиться один красивый case в обработчике.

Дело вкуса.
Нет, нет! У меня красивше!

2 Cauchi

А при чем тут массив?

В этом форуме редко решаются практические вопросы, обычно бездельники, которые никогда не увидят друг друга, решают вопросы глобального характера - типа стиля программирования и образа жизни. Зайдите на форум к C++ - никам, там обсуждается убогость Delphi в смысле ламерности программеров и отсутствия множественного программирования и шаблонов, а вопросы все те же - на уровне - "мне лень нажать F1" или "быстро-быстро курсовуху слепить".
Очень часто тема вопроса никого не интересует, направления обсуждения поворачивается по типу - "ой, я об этом слышал".
Впрочем, раз Вы здесь, то должны знать об этом.
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321852
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Малиновский Владимир

автор писал:В этом форуме редко решаются практические вопросы,

Вы не правы. Здесь очень много практических вопрос решается. Если впрос, правильно поставить.

автор писал:там обсуждается убогость Delphi в смысле ламерности программеров и отсутствия множественного программирования и шаблонов

Тока множественного наследования, наверно. Это с какой стороны посмтреть. Можно это и достоинством считать.

И вообще, после такого рода высказываний обычно ставят IMHO.
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321891
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор писал:обычно бездельники, которые никогда не увидят друг друга, решают вопросы глобального характера - типа стиля программирования и образа жизни.
Возможно вы так и делаете, но большая часть решает как раз таки практические вопросы.
Для обсуждения образа жизни существует форум ПТ, и он очень популярен.
А для выяснения какой стиль программирования или язык лучше я думаю стоит завести отдельный форум типа "Сравнение языков программирования".
Думаю там будут кипеть нешуточные страсти :).
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321896
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так при чем тут массив кнопок?
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321903
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Набрал слово "Дельфи" в поиске на C++-шном форуме и получил всего 15 тем. Это за все время существования форума!
Так что не думайте что сишники спят и видят как бы охаить дельфю. Они по большей части делом заняты.
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321910
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А про массив кнопок я уже все сказал. Он и так уже есть. Зачем изобретать велосипед?
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321911
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так как насчет массива кнопок?
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321914
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда, может, о преимеществах идентификации объектов "по тэгам" перед "по имени компонента"?
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321915
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и привизываем один обработчик событий на все кнопки ...

Button1.OnClick = OnClickButton1;
Button2.OnClick = OnClickButton1;
Button3.OnClick = OnClickButton1;
Button4.OnClick = OnClickButton1;
ButtonN.OnClick = OnClickButton1;

а почему же нельзя ?
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321920
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что для этих целей VB есть!
А в Delphi это не красиво...
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321929
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to JibSkeart

Именно так и придется делать. Ведь кнопки создаются динамически.


to Малиновский Владимир

автор писал:Тогда, может, о преимеществах идентификации объектов "по тэгам" перед "по имени компонента"?
А что тут обсуждать? Как программисту удобнее пусть так и делает.
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321943
1man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ув. Мэтры, растолкуйте чайнику, поехавшему крышей от Ваших рассуждений, почему нельзя (или плохо), например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
for(int x= 0 ;x< 6 ;x++) 
{ 
aCoef[x] = new TEdit(this); 
aCoef[x]->Parent=this; 
aCoef[x]->Enabled=false; 
aCoef[x]->OnKeyUp=On_CoefUp; 

aCoef[x]->Width =  57 ; bCoef[x]->Width =  57 ; 
aCoef[x]->Height =  24 ; bCoef[x]->Height =  24 ; 
aCoef[x]->Left =  64 *x+ 50 ; bCoef[x]->Left =  64 *x+ 50 ; 
aCoef[x]->Top =  20 ; bCoef[x]->Top =  88 ; 
aCoef[x]->Text=MainForm->SetEdit(MainForm->n,MainForm->a[x]); 

И обработчик один, и динамическое создание в цикле.
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321952
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все, что работает, и не мешает работать другим - можно.

Блин, не отвлекай со своими массивами компонентов - тут флейм никак не раскрутится!
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321955
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to 1man

Да, я все пытался втолковать, что массив уже есть и создавать ничего не надо. А потом мы угнались в какую-то "пургу"...
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32321963
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Между тем до конца рабочего дня оставалось 20 минут...
...
Рейтинг: 0 / 0
Создание массива кнопок
    #32322310
Valdemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень интересные рассуждения, насчет готовых компонентов, я против них, поэтому если можно сделать что-то быстро самому лучше делать, на счет сишников вы это зря, я второй год изучаю си, а в форуме на си сидят уроды и все. которые думают что если они используют самый крутой язык то они боги, а кто тогда ассемблисты!!!!!

PS Спасибо за ваши размышления.
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Создание массива кнопок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]