Time client v1.0

Soyez le premier à donner votre avis sur cette source.

Vue 7 434 fois - Téléchargée 999 fois

Description

Il existe sur le NET de nombreuses applications permettant d'ajuster l'heure de votre PC automatiquement à partir d'un serveur d'horloge. Ce qui est d'une très grande utilité quand votre PC gère des données critiques qui dépendent de l'heure. Mais il peut arriver exceptionnellement que le serveur vous retourne de mauvaises informations...
Ceci m'est déjà arrivé et parce que j'en ai subit les conséquences, j'ai voulu écrire cette application. J'ai également voulu soigner un peu l'interface graphique.

Conclusion :


Ce programme s'inspire :
1) Du démo "TimeClient" de Indy9.
2) En partie du code source de "ManChesTer (c)2002" pour l'affichage des horloges.
Voir son composant "Horloge Analogue".
3) De la fonction SetPCSystemTime de Thomas Stutz - Torry's Delphi Pages

Ce programme utilise les composants suivants :
1) TIdTime de Indy9.
3) TCoolTrayIcon de Troels Jakobsen - delphiuser@get2net.dk - Copyright (c) 2002
Portions by Jouni Airaksinen - mintus@codefield.com
4) TBmpPanel de jjbull@swbell.net

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
3
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
9 juin 2009

Oups,
Avec les corrections apportées au code source de bmppanel (voir plus haut), il n'est plus necessaire d'ajouter "DsgnIntf".
Il faudra remplacer la ligne des units par :

uses
Windows, SysUtils, Messages, Classes, Controls,
Graphics, StdCtrls, ExtCtrls, Forms, Dialogs;
Merci !
Messages postés
6
Date d'inscription
mercredi 20 septembre 2000
Statut
Membre
Dernière intervention
6 décembre 2004

Merci, je vais essayer !
Messages postés
3
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
9 juin 2009

Le composant BmpPanel n'est pas de moi, mais de Jeffrey Bull. Je l'ai ajouté uniquement dans le but de faciliter la compilation. Il peut-être facilement téléchargé sur le Net. Voici une adresse ou on peut le trouver http://delphi.icm.edu.pl/authors/a0003487.htm
La version que j'ai publié avec mon code source se compile sans erreurs sous Delphi 6. Les fichiers "DesignEditors.pas" et "DesignIntf.pas" font parties de la librairie de Delphi.
J'avais eu ce problème avec Delphi 3.
A noter que sous Delphi 3, "DesignIntf.pas" n'existe pas. Il est remplacé par "DsgnIntf.pas" son ancetre.
Il existe sur le Net plein de documentation la dessus.
J'avais alors résolu le problème en supprimant la fonction ?about? comme suit :

unit bmpPanel;


interface

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

const
ComponentVersion = 'Version 1.5';

type
{
TAbout = class(TPropertyEditor)
public
procedure Edit; override;
function GetAttributes: TPropertyAttributes; override;
function GetValue: string; override;
end;
}

TbmpPanel = class(TPanel)
private
//FAbout : TAbout;
FBitmap: TBitmap;
procedure BitmapChanged(Sender: TObject);
procedure SetBitmap(Value: TBitmap);
procedure Paint; override;
procedure WMEraseBkgnd(var m: TWMEraseBkgnd);
message WM_ERASEBKGND;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
//property About: TAbout read FAbout write FAbout;
property Bitmap: TBitmap read FBitmap write SetBitmap;
end;

procedure Register;

implementation

{ TbmpPanel }
constructor TbmpPanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FBitmap := TBitmap.Create;
FBitmap.OnChange := BitmapChanged;
end;

destructor TbmpPanel.Destroy;
begin
FBitmap.Free;
inherited Destroy;
end;

procedure TbmpPanel.BitmapChanged(Sender: TObject);
begin
if HandleAllocated then
RedrawWindow(Handle, nil, 0, RDW_INVALIDATE or
RDW_ERASE or RDW_ALLCHILDREN);
end;

procedure TbmpPanel.SetBitmap(Value: TBitmap);
begin
FBitmap.Assign(Value);
end;

procedure TbmpPanel.WMEraseBkgnd(var m : TWMEraseBkgnd);
begin
m.Result := LRESULT(False);
end;

procedure TbmpPanel.Paint;
var
x, y: Integer;
//bmWidth,
bmHeight : Integer;
begin
inherited paint;
if not(FBitmap.Empty) then
begin
//bmWidth := FBitmap.Width;
bmHeight := FBitmap.Height;
y := 0;
while y < Height do begin
x := 0;
while x < Width do begin
Canvas.Draw(x, y, FBitmap);
x := x + bmHeight;
end;
y := y + bmHeight;
end;
end;
end;
{
procedure TAbout.Edit;
var
Str : String;
begin
Str := Format('TbmpPanel %s by J.Bull 2000',[ComponentVersion]);
Application.MessageBox( PChar(Str),
'About This Component', MB_OK or MB_ICONINFORMATION);
end;

function TAbout.GetAttributes: TPropertyAttributes;
begin
Result := [paMultiSelect, paDialog, paReadOnly];
end;

function TAbout.GetValue: string;
begin
Result := '(About)';
end;
}
procedure Register;
begin
RegisterComponents('jbull', [TbmpPanel]);
//RegisterPropertyEditor(TypeInfo(TAbout), TbmpPanel, 'ABOUT', TAbout);
end;

end.
Messages postés
6
Date d'inscription
mercredi 20 septembre 2000
Statut
Membre
Dernière intervention
6 décembre 2004

Pour le composant BmpPanel, il manque les fichiers DesignEditors.pas et DesignIntf.pas.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (bernardpm)