Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Lazarus - Time

Zdravím
Jsem už v tom dlouho nedělal tak bych rad poprosil o pomoc.
Potřebují podminku IF, ktera i když bude splněna třeba 100 x za minutu, aby se vykonala jen jednou za 5 minut.
Jak na to?


var
a,b: integer;
MyTime,MyTime1: TDateTime;
begin
if (a = b) and (MyTime1 < MyTime)  then
                                      begin
                                        MyTime1 := MyTime + StrToTime('00:05:00');
                                        beep;
                                      end;
end;

Myslim že existuje přimo nějaka funkce na porovnavaní času, ale nemohu najit.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Lazarus nemám, neviem aké funkcie pre porovnanie časov obsahuje... V Delphi by som to urobil nejak t… poslední
pme 26.08.2018 14:05
pme

Lazarus nemám, neviem aké funkcie pre porovnanie časov obsahuje...
V Delphi by som to urobil nejak takto:

unit Unit3;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm3 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    Cas: TDateTime;  
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

uses DateUtils;

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);
begin
  Cas := 0;
end;

procedure TForm3.Button1Click(Sender: TObject);
var T1: TDateTime;
begin
  T1 := now;
  if MinutesBetween(t1, cas) >= 5 then
   begin
     Cas := now;
     // Tvoj kod....
   end;
end;

end.

Zpět do poradny Odpovědět na původní otázku Nahoru