unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
TimeBetweenTicks: Integer;
// TimeBetweenTicks in ms
Abort: Boolean;
Freq, Start, Stop: Int64;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Abort := false;
QueryPerformanceFrequency(Freq);
// Freq kann sich nur durch Neustart des PCs ändern!
QueryPerformanceCounter(Stop);
// Wert vernünftig initialisieren
while not(Abort)
do
begin
QueryPerformanceCounter(Start);
while (((Stop - Start)/Freq) < TimeBetweenTicks)
do
begin
QueryPerformanceCounter(Stop);
// evtl: Application.ProcessMessages(); Keine Ahnung wie sich das auf die Genauigkeit auswirkt.
end;
//HIER die Anweisung für den Clickton abzuspielen
windows.Beep();
// evtl: Abort := true;
end;
end;
end.