Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Создание кнопок.   Найти похожие ветки 

 
Vik ©   (2012-04-29 16:45) [0]

Как при нажатии кнопки создать кнопку в определенном месте, причем чтоб при следующих запусках программы кнопка оставалась. Чтоб при втором нажатии создавалась кнопка немного ниже предыдущей созданной и так далее?


 
brother ©   (2012-04-29 16:57) [1]

> Как при нажатии кнопки создать кнопку в определенном месте

Create, Left, Top

> причем чтоб при следующих запусках программы кнопка оставалась

ini файл, читай - пиши

> Чтоб при втором нажатии создавалась кнопка немного ниже
> предыдущей созданной и так далее?

Create, Left, Top


 
Vik ©   (2012-04-29 17:02) [2]

Спасибо большое, только я не врубил немного(


 
Vik ©   (2012-04-29 17:40) [3]

А команда создания кнопки то какая?


 
MBo ©   (2012-04-29 17:48) [4]

http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=342


 
Cobalt ©   (2012-04-29 19:46) [5]

> Vik ©
Если ты программист, то и поступай как программист:
Берешь листочек бумаги, и пишешь на нем:
Исходные данные: точка (Х, У) на форме
Задача: по команде (нажатие на спец-кнопку, по двойному щелчку мыши или из главного меню, или из контекстного меню) создать кнопку Кнопка1 по определенным координатам.

При следующем нажатии, если уже создана подобная кнопка, рассчитать координаты для новой кнопки на основе последней созданной, и создать её.

При следующем нажатии, если уже создана подобная кнопка, рассчитать координаты для новой кнопки на основе последней созданной, и создать её.


 
Anatoly Podgoretsky ©   (2012-04-29 19:48) [6]

> Vik  (29.04.2012 16:45:00)  [0]

И через некоторое время все окно будет заполнено кнопками, возможно в два
три ряда


 
KilkennyCat ©   (2012-04-29 21:01) [7]


> в два
> три ряда
>

это по Z


 
Vik ©   (2012-04-29 21:02) [8]

Вообще, первый раз на форуме ищу ответы на вопросы, не думал что ответы будут)) Спасибо вам. Но какая команда создания кнопки, и в каком виде координаты вписывать?


 
Vik ©   (2012-04-29 21:16) [9]

Я недавно начал программировать. Мало что знаю. Не читал еще ничего. Обязательно прочитаю, только вот проект один очень хочется завершить, а знаний не хватает.Вот такой вот замкнутый круг=) Может напишет мне кто-нибудь команду для создания кнопки?


 
Anatoly Podgoretsky ©   (2012-04-29 21:30) [10]

> Vik  (29.04.2012 21:16:09)  [9]

Да “команда” одна для всех объектов, всех типов - Create


 
KilkennyCat ©   (2012-04-29 21:35) [11]

А можно и очень тупым способом - создать кучу заранее и сделать невидимыми

>  команду для создания кнопки?

http://www.cyberguru.ru/programming/delphi/delphi-faq-page59.html


 
Vik ©   (2012-04-29 22:32) [12]


> А можно и очень тупым способом - создать кучу заранее и
> сделать невидимыми

Кстати, в моем случае кажется подходит немного)))
И еще немного не по теме, но может за одним кто нибудь знает, какой компонент использовать, чтоб была как бы панель, которая прокручивается вниз, и чтоб на ней кнопки  были и так далее.
KilkennyCat, за ссылку спасибо.


 
Плохиш ©   (2012-04-30 00:28) [13]


> Я недавно начал программировать. Мало что знаю. Не читал
> еще ничего.

Пора создавать конференцию "для недоначинающих". Время пришло...


 
Германн ©   (2012-04-30 01:21) [14]


> Vik ©   (29.04.12 22:32) [12]


> может за одним кто нибудь знает, какой компонент использовать,
>  чтоб была как бы панель, которая прокручивается вниз, и
> чтоб на ней кнопки  были и так далее.

TScrollBox


 
Vik ©   (2012-04-30 09:20) [15]

Плохиш, ну можно)
Германн, спасибо


 
Германн ©   (2012-05-01 02:08) [16]


> Плохиш ©   (30.04.12 00:28) [13]
>
>
> > Я недавно начал программировать. Мало что знаю. Не читал
> > еще ничего.
>
> Пора создавать конференцию "для недоначинающих". Время пришло.
> ..

Эт точно!
Причём не только на ДМ. Но и других форумах по Дельфи. На всех форумах, на которые я хожу и где отвечаю, резко возросло количество вопросом с примечанием типа "я только сегодня/вчера начал изучать ...".
Причины этого скачка я не понимаю, на факт - есть факт.

P.S. Один из недоначинающих буквально сказал что-то типа:
"Я очень много всего прочитал. Неужели я читал не то"! :)


 
megavoid ©   (2012-05-01 11:32) [17]

> Причины этого скачка я не понимаю, на факт - есть факт.
мир, труд, май, сессия

> "я только сегодня/вчера начал изучать ..." - хоть честно говорят :))

>Я очень много всего прочитал. Неужели я читал не то!
в непрофильных ВУЗах преподы любят советовать Архангельского, но это если повезёт, часто встречается и Turbo Pascal, отсюда потом и вопросы "а как создать кнопки" и вообще про vcl


 
sniknik ©   (2012-05-01 12:15) [18]

> часто встречается и Turbo Pascal
это хорошие преподы, те кто учат языку, а не средствам... студенты же почему то уверены, что раз чего то препод на лекции не дал, то этого и не существует/знать не обязательно.


 
Vik ©   (2012-05-01 13:12) [19]

Ну я то не учусь в учебном учреждении (только предстоит), хочу немного освоить просто. Никто так и не даст адекватного ответа на мой вопрос?


 
sniknik ©   (2012-05-01 13:28) [20]

> Никто так и не даст адекватного ответа на мой вопрос?
давали, без толку. с 0 знаний ты просто ничего не понял. кроме "копипасты" "нулевым" ничего не подходит...


 
brother ©   (2012-05-01 14:39) [21]

> Никто так и не даст адекватного ответа на мой вопрос?

все в [1], остальное гугли (как и что), тк рассказвать основы основ языка врядли кто тут будет...


 
Vik ©   (2012-05-01 16:19) [22]

Основы основ и не надо. Почему такая бурная отрицательная реакция у вас? Это же конференция для начинающих. Скажите просто пример кода создания кнопки, прошу.


 
Anatoly Podgoretsky ©   (2012-05-01 16:37) [23]

Почему ты себя называешь начинающим, это неправда.
А примеров создания в справке много.


 
sniknik ©   (2012-05-01 16:44) [24]

> Это же конференция для начинающих. Скажите просто пример кода создания кнопки, прошу.
начинающих программистов, сайт программистов все таки... а не недоначинающих недопрограммистов...
давали тебе ссылку на подробное описание с примерами, любой разберется... если он конечно не полный ..., ну в смысле ([20]), кроме "копипасты", не понимающий.


 
Vik ©   (2012-05-01 16:48) [25]

Anatoly Podgoretsky, я не нашел ответа, на свой вопрос, решил здесь попробовать(уже пожалел). Если жалко просто помочь, без поучений всяких, то ничего не пишите.


 
sniknik ©   (2012-05-01 16:53) [26]

> без поучений всяких, то ничего не пишите.
встречное предложение... если тебе не нравится как помогают, то не учи "как надо", ну там, что кому писать или не писать...
начни с себя.

форум свободен для любых высказываний по теме. как поучений так кода и т.д.


 
Vik ©   (2012-05-01 16:53) [27]

sniknik, я переходил по ссылке. Это не то, что мне нужно.


 
sniknik ©   (2012-05-01 16:55) [28]

> Это не то, что мне нужно.
там ВСЕ что тебе нужно, чтобы сделать что написано в [0]. не скопипастить а сделать.
если не понимаешь основ, это твои проблемы, их как уже сказали объяснять никто не будет.


 
Vik ©   (2012-05-01 16:55) [29]

Ну не понимаю я, что теперь. Обосрать всегда легче, чем помочь. А знаний не 0 у меня, если человек чего-то не знает, то это не значит, что он не знает ничего


 
sniknik ©   (2012-05-01 17:01) [30]

> Ну не понимаю я, что теперь.
учиться и спрашивать по тому, что не понятно, а не обсирать отвечающих. или требовать ответов именно в том виде, что тебе хочется.


 
Vik ©   (2012-05-01 17:08) [31]

Я ни кого не обосрал, скорее даже наоборот. Я очень рад и благодарен буду, если кто-нибудь напишет строку кода, в которой содержится сама команда и координаты, размеры кнопки. Больше, в принципе, ничего и не прошу.


 
sniknik ©   (2012-05-01 17:08) [32]

> Ну не понимаю я, что теперь.
Старый рабочий передает своё хозяйство молодому.
- Значит так: ты работаешь дежурныи электриком. Утром приходишь - включаешь рубильник. Вечером уходишь - выключаешь. Понял?
-Неа. Не понял.
-Видишь рубильник. Утром его надо включить, люди придут, будут работать. Вечером, все уйдут. В целях пожарной безопасности рубильник дадо выключить. Понял?
-Да не понял я!
-Ну идрит твою... Рубильник знаешь? Включать-выключать умеешь? Утром ты первый приходишь, надо дать электричество цеху - поворачивашь рубильник в эту сторону. Вечером, когда все уйдут, повернешь его в другую сторону - выключишь. Понял?
- Мужик, ты что - тупой чтоли? Я тебе уже сколько раз говорю: Я не понял!! А ты всё переспрашиваешь!


 
sniknik ©   (2012-05-01 17:10) [33]

> Я очень рад и благодарен буду, если кто-нибудь напишет строку кода, в которой содержится сама команда и координаты, размеры кнопки.
значит врешь, что читал ссылку? там же это первый пример.


 
Vik ©   (2012-05-01 17:10) [34]

Этот пример не подходит сюда..


 
Vik ©   (2012-05-01 17:13) [35]

Ну и где же этот пример? Может я не увидел


 
sniknik ©   (2012-05-01 17:13) [36]

?????????????????????77
ты думаешь есть другие примеры? которые подходят сюда? чем отличаются?


 
Vik ©   (2012-05-01 17:15) [37]

Я не буду спорить, что они не подходят. Как задать координаты создаваемой кнопки? При создании где она появится то???


 
sniknik ©   (2012-05-01 17:18) [38]

.... ээээ

может тебе программиста нанять?


 
Vik ©   (2012-05-01 17:23) [39]

sniknik, Не в тему


 
Юрий Зотов ©   (2012-05-01 17:42) [40]


> Vik ©   (01.05.12 17:15) [37]
> Как задать координаты создаваемой кнопки?

Вы по ссылке в [4] ходили?

Похоже, что нет. А зря - там есть ответы на все Ваши вопросы.


 
brother ©   (2012-05-01 18:41) [41]

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, inifiles;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   ButtonsCount: integer;
   LastTop: integer;
   procedure LoadButtons;
   procedure SaveButton(Top: integer);
   procedure AddButton;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.LoadButtons;
var
 ini: TIniFile;
 i: integer;
begin
 ini:= TIniFile.Create("c:\buttons.ini");
 ButtonsCount:= ini.ReadInteger("Setup", "ButtonsCount", -1);
 if ButtonsCount > -1 then
 begin
   for i:= 0 to ButtonsCount do
   begin
     with TButton.Create(Self) do
     begin
       parent:= Self;
       left:= 10;
       LastTop:= ini.ReadInteger("Button" + IntTostr(i), "Top", 0 );
       top:= LastTop;
     end;
   end;
 end
 else
   LastTop:= 100;

 ini.Free;
end;

procedure TForm1.SaveButton(Top: integer);
var
 ini: TIniFile;
begin
 ini:= TIniFile.Create("c:\buttons.ini");
 ini.WriteInteger("Setup", "ButtonsCount", ButtonsCount);
 ini.WriteInteger("Button" + IntTostr(ButtonsCount), "Top", Top );
 ini.Free;
end;

procedure TForm1.AddButton;
begin
 with TButton.Create(Self) do
 begin
   Inc(ButtonsCount);
   parent:= Self;
   left:= 10;
   Inc(LastTop, 40);
   top:= LastTop;
   SaveButton(top);
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 AddButton;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 LoadButtons;
end;

изучай мат. часть!


 
brother ©   (2012-05-01 18:41) [42]

зы. код не оптимизирован, дабы легче понять его работу...


 
KilkennyCat ©   (2012-05-01 21:28) [43]


> код не оптимизирован, дабы легче понять его работу


> with TButton.Create(Self) do


а вообще, действительно анекдот про электрика. нет никакого смысла чем-либо помогать.


 
Vik ©   (2012-05-02 05:40) [44]

Спасибо. Неужели


 
Vik ©   (2012-05-02 06:21) [45]

ОООооо Спасибо, люди что помогли, я разобрался. Не знаю почему сложно так было для меня. Ссылки я смотрел, но прочитав немного, думал что это не то=).
Вот что-то такое мне нужно было.

procedure TForm1.Button1Click(Sender: TObject);
Var New : TButton;
begin
New:=TButton.Create(Form1);
New.Top:= 20;
New.Left:=29;
New.Name:="Button";
TButton.Create(Form1);
New.Parent:=Form1


 
Думкин ©   (2012-05-02 09:08) [46]


> Вот что-то такое мне нужно было.
>
> procedure TForm1.Button1Click(Sender: TObject);
> Var New : TButton;
> begin
> New:=TButton.Create(Form1);
> New.Top:= 20;
> New.Left:=29;
> New.Name:="Button";
> TButton.Create(Form1);
> New.Parent:=Form1

Читать книги - не наш метод? Хотя бы Кенту. Нет, будем как нищие по формам побираться. А как иконку туда в правый нижний угол?


 
Inovet ©   (2012-05-02 09:14) [47]

> [46] Думкин ©   (02.05.12 09:08)
> А как иконку туда в правый нижний угол?

"как запуздырить", а то Гугл покажет много всякого непонятного.


 
Думкин ©   (2012-05-02 09:18) [48]


> Inovet ©   (02.05.12 09:14) [47]

Этот вопрос надо не Гуглу, а Тенцеру задавать. Он его любит.


 
БарЛог ©   (2012-05-02 09:51) [49]

Ярчайший пример неправильных вопросов :)


 
Мимо не прошел ©   (2012-05-02 10:48) [50]

Удивительно толерантно на этот раз отреагировал форум.


 
brother ©   (2012-05-02 10:52) [51]

[43] что не так?


 
картман ©   (2012-05-02 12:16) [52]


> Удивительно толерантно на этот раз отреагировал форум.

это в благодарность за предоставленную возможность потрепаться на любимую тему


 
Труп Васи Доброго ©   (2012-05-02 13:27) [53]


> Пора создавать конференцию "для недоначинающих".

ИМХО для собирающихся начать делать, но не собирающихся учить как делать.


 
Компромисс ©   (2012-05-02 13:30) [54]


> Ссылки я смотрел, но прочитав немного, думал что это не
> то=).


Вот в этом была основная проблема. Советую доверять авторитетам в тех областях, в которых слабо разбираешься. Причем, чем слабее разбираешься, тем дальше читать по ссылкам, которые дают авторитеты, перед тем как решать, что ссылка не подходит.


 
БарЛог ©   (2012-05-02 13:31) [55]

> Пора создавать конференцию "для недоначинающих".

С автопроверкой орфографии русского, синтаксиса делфи, с интерфейсом попроще... :)


 
Юрий Зотов ©   (2012-05-02 13:37) [56]


> Vik ©   (02.05.12 06:21) [45]
> procedure TForm1.Button1Click(Sender: TObject);
> Var New : TButton;
> begin
> New:=TButton.Create(Form1);
> New.Top:= 20;
> New.Left:=29;
> New.Name:="Button";
> TButton.Create(Form1);
> New.Parent:=Form1

Предпоследня строчка - зачем она?


 
Vik ©   (2012-05-02 14:01) [57]

Юрий Зотов, для красоты. Спасибо, действительно без неё работает.

Все с чего то начинают. Нет смысла обзывать меня недоначинающим недопрограммистом. Еще есть время всему научиться (в мои то 16 лет).


 
Anatoly Podgoretsky ©   (2012-05-02 14:16) [58]

> Vik  (02.05.2012 14:01:57)  [57]

А в чем красота?


 
Vik ©   (2012-05-02 14:39) [59]

Ни в чем. Я образно выразился, согласился что не нужна здесь эта строчка.


 
AV ©   (2012-05-02 14:43) [60]


> Еще есть время всему научиться

тоже так думал до 30 :)

Из дневника очень среднего инженера 20 века
Михаил Задорнов

20 лет
Выучить английский, чтобы говорить на нем так же свободно, как Аркашка!
...
30 лет
Английский выучить до такой степени, чтобы мог свободно читать со словарем. За год прочесть всего Шекспира, хотя бы в переводе Маршака.
...
40 лет
Английский выучить до такой степени, чтобы мог свободно читать англо-русский словарь.
...
50 лет
Английский выучить до такой степени, чтобы мог прочесть, что написано на джинсах, которые сын привез из Грузии.
...
60 лет
Устроить внука в детский сад с английским уклоном и начать учить язык вместе с ним.


 
Vik ©   (2012-05-02 15:01) [61]

Ну я постараюсь уж так не делать=)


 
Юрий Зотов ©   (2012-05-02 15:07) [62]

> Vik ©   (02.05.12 14:39) [59]
> не нужна здесь эта строчка.

Она не только не нужна, она еще и вредна - приводит к бесполезному расходу памяти.


 
Vik ©   (2012-05-02 15:14) [63]

Юрий Зотов, согласен.


 
Dennis I. Komarov ©   (2012-05-04 21:42) [64]

... и перед ней


 
Inovet ©   (2012-05-04 21:51) [65]

> [64] Dennis I. Komarov ©   (04.05.12 21:42)
> ... и перед ней

За ней?


 
Германн ©   (2012-05-04 22:14) [66]


> За ней?

Именно перед ней.


 
Inovet ©   (2012-05-04 22:16) [67]

> [66] Германн ©   (04.05.12 22:14)
> Именно перед ней.

А, там же Name меняется, а не Caption. Ну да.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.63 MB
Время: 0.064 c
15-1330398324
Kerk
2012-02-28 07:05
2013.03.22
Генерация PDF из Delphi


15-1337202631
Германн
2012-05-17 01:10
2013.03.22
Подскажите инструмент


2-1346240265
Wadimka
2012-08-29 15:37
2013.03.22
В чем может быть проблема?


2-1343366420
EgorovAlex
2012-07-27 09:20
2013.03.22
Хранение данных в dll, используемой несколькими процессами


1-1295947554
>|
2011-01-25 12:25
2013.03.22
Помогите с языковой конструкцией





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский