Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Часы [D5, Win95/98]


Rammst ©   (2002-03-26 06:54:00) 

Привет всем! Вы не подскажите как сделать так чтобы Label выводила время(часы, минуты, секунды). То есть работала как часы.


Alev   (2002-03-26 22:38:00) [1]

Label1.caption:=TimeToStr(Time)


XanderMan   (2002-03-26 22:32:00) [2]

Если вообще не хочешь мучиться, то используй следующий компонент:

unit TimeLabel;

interface

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

type
TTimeLabel = class(TLabel)
private
{ Private declarations }
FTimer: TTimer;
procedure LoopTime(Sender: TObject);
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents("Samples", [TTimeLabel]);
end;

constructor TTimeLabel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FTimer := TTimer.Create(AOwner);
FTimer.Interval := 1000;
FTimer.Enabled := True;
FTimer.OnTimer := LoopTime;
end;

procedure TTimeLabel.LoopTime(Sender: TObject);
begin
Caption := TimeToStr(Now);
end;

destructor TTimeLabel.Destroy;
begin
FTimer.Destroy;
inherited Destroy;
end;


end.


Просто помещаешь его на форму (перед этим проинсталировав), и все


mukha   (2002-03-26 10:03:00) [3]

Если хочешь чтобы ещё мигало и двоеточие между часами и минутами сделай так:

На форме помести Label1 и Timer1
Объяви переменную сразу за объявлением файлов ресурсов

implementation
{$R *.DFM}
var Colon:boolean; // переменная определяет наличие или отсутств. двоеточия
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Interval:=500; //Интервал мигания двоеточия
if Colon then // если есть двоеточие
//вывод времени без него
Label1.Caption:=FormatDateTime("hh nn", Time)
else // иначе
// вывод времени с двоеточием
Label1.Caption:=FormatDateTime("hh:nn", Time);
Colon:=NOT Colon;// изменение признака наличия двоеточия
end;


Rammst   (2002-03-26 07:56:00) [4]

VERY, VERY благодарю!!!!!!!


snoup   (2002-03-26 07:51:00) [5]

А если хочишь и дату то так
label1.caption := datetimetostr(now);


MBo   (2002-03-26 07:18:00) [6]

по таймеру
label1.caption:=TimeToStr(Now);


Наверх

Титульная страница Поиск, карта сайта Написать письмо