IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Компонент
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Подскажите как сделать компонент системные часы?! Буду очень благодарен.Поиск юзал ни чего не нашел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Нужно системное время выводить ? Скажем в кепшн формы ? Вот так:


Кидаешь на форму компонент TTimer

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin
Timer1.Interval := 1000; // 1c
Timer1.Enabled := true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.Caption := FormatDateTime('hh:mm:ss', Now);
end;

end.



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Спсибо klem4.
Что то вроде такого,но надо сделать свой компанент. Что бы его бросаешь но форму,жмеш Ф9 и сразу в окошке появлялось системное время,например использовать Tlabel. А твой компанент например можно увидеть в панели-закладке standart.

Сообщение отредактировано: Egor Vladimirovich -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Зачем свой-то ... TTimer на вкладке System находится ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Цитата(klem4 @ 19.12.2006 16:23) *

Зачем свой-то ... TTimer на вкладке System находится ...

В этом и заключаеться задание,именно свой компанент!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Тоесть нужено создать и зарегистрировать в делфи свой собственный компонент (например наследник TLabel) который будет постоянно отображать системное время ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Цитата(klem4 @ 19.12.2006 22:41) *

Тоесть нужено создать и зарегистрировать в делфи свой собственный компонент (например наследник TLabel) который будет постоянно отображать системное время ?

Так точно! good.gif Поможешь?!

Сообщение отредактировано: Egor Vladimirovich -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


В общем примерно это должно выглядить вот так, но почему-то при запуске программы с такой компонентой возникает ошибка, хотя кодга в Design mode кидаю этот лейбл на форму он уже начинает отображать текущее время, а вот при запуске программы выдает class TTimer not found ... Что не верно ?

unit TimerLabel;

interface

uses
Windows, Messages, SysUtils, Classes, Controls, StdCtrls,
ExtCtrls;

type
TTimerLabel = class(TLabel)
private
fTimer: TTimer;
protected
procedure MyOnTimer(Sender: TObject);
public
constructor Create(AOwner: TComponent); override;
published

end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('klem4', [TTimerLabel]);
end;

constructor TTimerLabel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
fTimer := TTimer.Create(AOwner);
fTimer.OnTimer := MyOnTimer;
fTimer.Interval := 1000;
fTimer.Enabled := true;
end;

procedure TTimerLabel.MyOnTimer(Sender: TObject);
begin
Caption := FormatDateTime('hh:mm:ss', Now);
end;

end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Спасибо klem4! good.gif good.gif good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Egor Vladimirovich , да незачто пока, не работает ведь ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(klem4 @ 20.12.2006 19:58) *

Egor Vladimirovich , да незачто пока, не работает ведь ...

А что не работает?
К стати надо бы и деструктор переопределить...
destructor TTimerLabel.Destroy;
begin
fTimer.Enabled := false;
fTimer.Free;
inherited Destroy;
end;


Сообщение отредактировано: hiv -


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
А что не работает?


hiv, а ты зарегистрировал компонент и в тестовой программе все ок ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Вроде нашел последнее отличие моего варианта:
fTimer := TTimer.Create(Self);

PS: У меня все ок, только не регится в группе Standard (вернее регится но не показывается в списке), в любой со своим названием без проблем...

Сообщение отредактировано: hiv -


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
fTimer := TTimer.Create(Self);


Вот оно smile.gif Я тоже хотел сделать именно это по задумке но не знал что написать, пробовал this но такого нет, а надо было self

yes2.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Цитата(klem4 @ 21.12.2006 15:24) *

Вот оно smile.gif Я тоже хотел сделать именно это по задумке но не знал что написать, пробовал this но такого нет, а надо было self

yes2.gif

klem4 от вашего первого варианта нашел как запустить,на форме появлялся сам клмпанент Ttimer(часики)!.Удалил эти часы,все откомпилировалось. thx за помощь!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 22:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name