ZaneMS,
Cita:
Empezado por ZaneMS
...Necesito crear un temporizador que se active cuando pulse un botón y me cuente cuantos segundos estoy pulsando el botón hasta que lo suelte y me lo guarde en una variable con el tiempo que he estado pulsándolo (no tiene por qué ser segundos)...
|
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
public
end;
var
Form1: TForm1;
Frequency, Start, Stop: Int64;
implementation
{$R *.dfm}
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
QueryPerformanceFrequency(Frequency);
QueryPerformanceCounter(Start);
end;
procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Hours, Minutes, Seconds, Milliseconds : Int64;
TotalTime : TDateTime;
TimeLapse : String;
begin
QueryPerformanceCounter(Stop);
Milliseconds := (Stop-Start) * 1000 div Frequency;
Hours := Milliseconds div (1000*60*60);
Minutes := Milliseconds mod (1000*60*60) div (1000*60);
Seconds := Milliseconds mod (1000*60*60) mod (1000*60) div 1000;
Milliseconds := Milliseconds mod (1000*60*60) mod (1000*60) mod 1000;
TotalTime := EncodeTime(Hours,Minutes,Seconds,Milliseconds);
TimeLapse := 'El Tiempo de Pulsación fue : ';
TimeLapse := TimeLapse + FormatDateTime('hh:nn:ss:zzz', TotalTime);
MessageDlg(TimeLapse,mtInformation,[mbOK],0);
end;
end.
El código anterior
permite registrar el tiempo de pulsación del botón del Mouse en formato HH:MM:SS:ZZZ.
Te sugiero revisar también este link:
Espero sea útil
Nelson.