![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Часы [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);