Ver Mensaje Individual
  #4  
Antiguo 22-04-2010
Avatar de adeszeus
adeszeus adeszeus is offline
Miembro
 
Registrado: abr 2010
Ubicación: San Mateo, Mexico (aun lado de Santa Maria y pasando el campo de futbol)
Posts: 47
Reputación: 0
adeszeus Va por buen camino
Espero sea util

Espero te funcione:
bueno espero y este codigo te funcione
Código Delphi [-]
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Timer1: TTimer;
    procedure FormKeyDwn(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  tiempo:integer;
implementation

{$R *.dfm}

procedure TForm1.FormKeyDwn(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
timer1.Enabled:=true;// activamos el reloj
if key=vk_left then
  if tiempo>5 then
  begin
  showmessage('La tecla duro mas de 5 segundos oprimida');
  button1.SetFocus;
  tiempo:=0;
  timer1.Enabled:=false;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
tiempo:=0; //inicializamos la variable para contabilizar el tiempo
// el reloj tiene un intervalo de 1000 milisegundos
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
tiempo:=tiempo+1;// acumulamos el valor de tiempo
// donde desde que se creo vale 0

end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
tiempo:=0;
timer1.Enabled:=false;
// en caso de levantar la tecla pues la cuenta de reinicia y debemos de tener
// en cuenta que debemos detener el reloj
end;

end.
Responder Con Cita