begin process at 2008 05 16 04:31:42
1 173 215 membres
57 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : faire apparaitre l'horloge une et une seule fois [ Mutimédia / Autre ] (lotfi213_b19)

faire apparaitre l'horloge une et une seule fois le 28/09/2007 15:40:12

lotfi213_b19
EXECUTER ET VOIR Comment faire apparaitre l'horloge une et une seule fois! aidez moi s'il vous plait uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; procedure Timer1Timer(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); var TheForeGround:THandle; CaptionFocused:Array [0..255]of char; text:string; begin TheForeGround:=GetForegroundWindow; GetWindowText(TheForeGround,CaptionFocused,256); form1.Caption:=CaptionFocused; text:=timetostr(time); SetWindowText(TheForeground,Strcat(CaptionFocused,PChar(text))); end; end.

Re : SOS! le 28/09/2007 16:21:46
Re : SOS! le 28/09/2007 16:24:19

Loulibier
Membre Club
Réponse acceptée !

Bonjour lofti213_b19

voici une technique qui te permettra d'avoir qu'une seule fois l'heure d'affiché.
Il faut que tu déclares une function qui va te reformater la titre de ta fenetre sans l'heure...

function GetCaptionWithoutTime(const sCaption : string): PChar;
var
  sTime  : string;
  dtTime : TDateTime;
begin
  sTime := Copy(sCaption, Length(sCaption) - 7, 8);

  ifnot TryStrToTime(sTime, dtTime) then
    Result := PChar(sCaption)
  else
    Result := PChar(Copy(sCaption, 1, Length(sCaption) - 8));
end;
  

procedure TForm1.Timer1Timer(Sender: TObject);
var
  TheForeGround:THandle;
  CaptionFocused:Array [0..255]of char;
  text:string;
begin
  TheForeGround:=GetForegroundWindow;
  GetWindowText(TheForeGround,CaptionFocused,256);
  form1.Caption:=CaptionFocused;
  text:=timetostr(time);
  SetWindowText(TheForeground,Strcat(GetCaptionWithoutTime(CaptionFocused),PChar(text)));
end;


Bonne Prog,  Olivier
PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.



Classé sous : text, end, tform1, theforeground, captionfocused

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS