Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 7
Всего онлайн: 7
Зарегистрировано юзеров: 7941
Комментариев на сайте: 698
Новый юзер: Robertimifs



Последние комментарии
c
Dennisvoifs прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
Пункт коммерческого учета цена, Ктп комплектные трансформаторные подстанции москва, Производство ктп москва и не только Вы найдете на нашем специализированном сайте: - Вам к нам!https://sviloguzov.ru/
Arthurneime прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
[img]https://masterfutures.ru/wp-content/uploads/2020/03/14-2.png[/img] Online trading is becoming increasingly popular, as more people learn of the earning potential of platforms such as Broker, a broker which caters to a significant audience of digital traders (12 million and counting). Known for their excellent user interface, as well as fast deposit and withdrawal times, Broker provides multiple features to help traders earn on the markets. This overview will outline just some of the key aspects traders can expect to enjoy whilst working with Broker broker. Online trading is becoming increasingly popular, as more people learn of the earning potential of platforms such as Broker, a broker which caters to a significant audience of digital traders (12 million and counting). Known for their excellent user interface, as well as fast deposit and withdrawal times, Broker provides multiple features to help traders earn on the markets. This overview will outline just some of the key aspects traders can expect to enjoy whilst working with Broker broker. Broker Broker is operated by a dedicated team, whose main priority has always been to provide the best possible user experience, and ultimately satisfaction. Whether experienced in trading or a newcomer, the platform is easy to use and very responsive. The education section deserves special mention, particularly for assisting traders to learn and implement new strategies – which can be tested on the platforms free demo Source: [url=https://bit.ly/35fv3B6/]Broker[/url] https://bit.ly/35fv3B6/ Tags: Broker

Урок 85 - Создание своих компонентов (часть 3/3)

Объясню что произошло. Вначале мы увеличиваем счетчик на единицу. Затем проверяем какое значение имеет свойство ShowType. Если Normal, то ничего не делаем, а если CountToCaption, то в надпись на кнопке выводим количество кликов. Не так уж и сложно как это могло показаться с первого раза. Имплантируем таймер в компонент Очень часто бывает, что вам необходимо вставить в компонент, какой-нибудь другой компонент, например, таймер. Как обычно будем рассматривать этот процесс на конкретном примере. Сделаем так, что через каждые 10 секунд значение счетчика кликов будет удваиваться. Для этого мы встроим таймер в нашу кнопку. Нам понадобиться сделать несколько несложных шагов.

После раздела uses, где описаны добавленные в программу модули, объявите переменную типа TTimer. Назовем ее Timer. Приведу небольшой участок кода:

unit CountBtn;

interface
        
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;
        
var Timer: TTimer;
type
Дальше в директиву Protected необходимо добавить обработчик события OnTimer для нашего таймера. Это делается так:
procedure OnTimer(Sender: TObject);
Поскольку наш таймер это не переменная, а компонент, его тоже надо создать, для этого в конструктор нашей кнопки напишем:
constructor TCountBtn.Create(aowner:Tcomponent);
begin
 inherited create(Aowner);
 Timer:=TTimer.Create(self);
 Timer.Enabled:=true;
 Timer.OnTimer:=OnTimer;
 Timer.Interval:=10000;
end;
Здесь создается экземпляр нашего таймера и его свойству Iterval (измеряется в миллисекундах) присваивается значение 10000 (то есть 10 секунд если по простому). Собственно осталось написать саму процедуру OnTimer. Я сделал это так:
procedure TCountBtn.OnTimer(Sender: TObject);
begin
 FCount:=FCount*2;
end;
Вот примерно то, что у вас должно получиться в конце:
unit CountBtn;
  
interface
  
uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls, ExtCtrls;
  
var Timer: TTimer;
type
 TShowTp = (Normal, CountToCaption);
 TCountBtn = class(TButton)
  
 private
  { Private declarations }
  
 FCount:integer;
 FShowType:TShowTp;

 protected
  { Protected declarations }
 procedure OnTimer(Sender: TObject);
 procedure Click;override;

 public
  { Public declarations }
 procedure ShowCount;

 published
  { Published declarations }
 property Count:integer read FCount write FCount;
 constructor Create(aowner:Tcomponent);override;
 property ShowType: TshowTp read FshowType write FShowType;
end;
  
procedure Register;
  
implementation
  
procedure Register;
begin
 RegisterComponents('Mihan Components', [TCountBtn]);
end;
  
constructor TCountBtn.Create(aowner:Tcomponent);
begin
  inherited create(Aowner);
  Timer:=TTimer.Create(self);
  Timer.Enabled:=false;
  Timer.OnTimer:=OnTimer;
  Timer.Interval:=1000;
end;
  
procedure Tcountbtn.Click;
begin
  inherited click;
  FCount:=Fcount+1;
  Timer.Enabled:=true;
  if ShowType = Normal then
  Caption:=Caption;
  if ShowType = CountToCaption then
    Caption:='Count= '+inttostr(count);
end;
  
procedure TCountBtn.ShowCount;
begin
  Showmessage('По кнопке '+ caption+' вы сделали: '+inttostr(FCount)+' клик(а/ов)');
end;
  
procedure TCountBtn.OnTimer(Sender: TObject);
begin
  FCount:=FCount*2;
end;
  
end.
Если у вас что-то не сработало, то в начале проверьте все ли у вас написано правильно. Затем проверьте может у вас не хватает какого-нибудь модуля в разделе Uses.

Переустановка компонента
Очень часто бывает необходимо переустановить ваш компонент. Если вы попробуете сделать это путем выбора Component->Install Component, то Дельфи вас честно предупредит о том, что пакет уже содержит модуль с таким именем. Перед вами открывается окно с содержимым пакета. В нем вы должны найти имя вашего компонента и удалить его (либо нажать кнопочку Remove). Теперь в пакете уже нет вашего компонента. Затем проделайте стандартную процедуру по установке компонента.

Удачи!
Встретимся в следующем уроке!


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 23 Августа 2013
Просмотров: 6476

Урок 84 - Создание своих компонентов (часть 2/3) Урок 86 - Оператор Case

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



аватар Добавил: RinDproramer [Новичок] Дата: 2013-09-03
Как называется компонент, который есть в самом Delphi(среда разр.), где расположены вкладки, а точнее этот компонент изображает вкладки?




аватар Добавил: RinDproramer [Новичок] Дата: 2013-09-03
Как называется компонент, который есть в самом Delphi(среда разр.), где расположены вкладки, а точнее этот компонент изображает вкладки?




аватар Добавил: RinDproramer [Новичок] Дата: 2013-09-03
Ой, случайно два раза написал.




аватар Добавил: мультик [Новичок] Дата: 2013-09-25




аватар Добавил: Denismen [Новичок] Дата: 2013-09-27