Einzelnen Beitrag anzeigen

Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Shutdown nach bestimmter Zeit

  Alt 7. Nov 2007, 20:49
Zitat von FreakyF:
Dann wärs schön, wenn mir jemand scrat1979's Vorschlag nochmal genauer erklären könnte.

Danke
Ok, ich will ja nicht so sein, habe Dir gerade mal sein ein Ding zusammengeschustert, anbei auch die EXE, damit Du siehst was ich meine. Btw, keine Fehlerbehandlung oder sonstiger Schnickschnack :

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Timer1: TTimer;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  ShutDownDateTime : TDateTime;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShutDownDateTime := IncMinute(now, StrToInt(Edit1.Text));
  Label2.Caption := 'Shutdown DateTime: ' + DateTimeToStr(ShutDownDateTime);
  Timer1.Enabled := True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Label3.Caption := Format('ShutDown in %d Sekunden...', [SecondsBetween(now, ShutDownDateTime)]);
  if now >= ShutDownDateTime then Begin
      // "=" würde nicht reichen, der Timer wird ja nicht EXAKT am Endzeitpunkt ausgelöst, also auch auf Zeit später
         reagieren.
      Timer1.Enabled := False; // Nicht vergessen!!!!!!!!!!!!!!!!!!!!
      Label3.Caption := 'FERTIG!!!';
      showmessage('Hier was machen...');
  End;

end;

end.
Angehängte Dateien
Dateityp: exe project1_831.exe (179,0 KB, 8x aufgerufen)
Michael Kübler
  Mit Zitat antworten Zitat