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

Вниз

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

 
Юрий Зотов ©   (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.59 MB
Время: 0.172 c
15-1331316742
Artem
2012-03-09 22:12
2013.03.22
Windows 7 Семейная


15-1345753802
Юрий
2012-08-24 00:30
2013.03.22
С днем рождения ! 24 августа 2012 пятница


8-1230712152
Программер
2008-12-31 11:29
2013.03.22
Как узнать кодек и разрешение видеофайла?


2-1336839148
тщгыук
2012-05-12 20:12
2013.03.22
а ля Self внутри with do


6-1261335712
Vladimir
2009-12-20 22:01
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский