Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Reminder auf umwegen (https://www.delphipraxis.net/13034-reminder-auf-umwegen.html)

Mr.Dollar2k3 9. Dez 2003 18:26


Reminder auf umwegen
 
hi @ll

hab wieder ein problem , ich will einen reminder programmieren der nach ablauf einer von benutzter eingegebenen zeit eine simple wave abspielt.
ich wollte anfangs nur einen countdown proggen also wundert euch nicht über die programmierung.
Mein Problem ist das ich es geschaft hatte den countdown zu machen und auch das mit der wave datei aber als ich einpaar schleifen eigebaut habe um mögliche programm abstürze zu vermeiden funktioniert nix mehr :wiejetzt:
....keine ahnuhng wie aber vieleicht sieht ihr ja denn fehler :
:gruebel:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Timer1: TTimer;
    Label2: TLabel;
    Button3: TButton;
    Button4: TButton;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    Stunden, Minuten, Sekunden: integer;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
   timer1.enabled:=not timer1.enabled;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  SSekunden, SMinuten, SStunden:string;
begin
  if not (sender=button2) then Sekunden:=Sekunden-1;
  if Sekunden=0 then begin
    sekunden:=60;
    Minuten:=Minuten-1;
    If Minuten=0 then begin
      Stunden:=Stunden-1;
      Minuten:=60;
      end;

  SSekunden:=inttostr(Sekunden);
  SMinuten:=inttostr(Minuten);
  SStunden:=inttostr(Stunden);
  if Length(SSekunden)=1 then
    SSekunden:='0'+SSekunden;
  if Length(SMinuten)=1 then
     SMinuten:='0'+SMinuten;
  If Length(SStunden)=1 then
     SStunden:='0'+SStunden;
  Label1.caption:=SStunden+':'+SMinuten+':'+SSekunden;

  if Sekunden = 0 then begin
     Label2.Caption:= 'test';
     sndPlaySound(PChar('E:\Music\Monsterkill.wav'),SND_ASYNC);
    end;
    end;
  end;

procedure TForm1.Button2Click(Sender: TObject);
Var Stcounter, Skcounter, Mcounter:string;
begin
  Stcounter:= Unit2.Form2.Edit1.Text;
  Mcounter:= Unit2.Form2.Edit2.Text;
  Skcounter:= Unit2.Form2.Edit3.Text;

  if (Stcounter = '0') and (Mcounter = '0') and (Skcounter = '0') then begin

  Stunden:=0;
  Minuten:=0;
  Sekunden:=0;

  end
  else if (Stcounter > '0') and (Mcounter = '0') and (Skcounter = '0') then begin
  Stunden:=StrToInt(Stcounter);
  Minuten:=0;
  Sekunden:=0;
  end;
  if (Stcounter > '0') and (Mcounter > '0') and (Skcounter = '0') then begin
  Stunden:=StrToInt(Stcounter);
  Minuten:=StrToInt(Mcounter);
  Sekunden:=0;
  end;
  if (Stcounter > '0') and (Mcounter > '0') and (Skcounter > '0') then begin
  Stunden:=StrToInt(Stcounter);
  Minuten:=StrToInt(Mcounter);
  Sekunden:=StrToInt(Skcounter);
  end;
  if (Stcounter = '0') and (Mcounter > '0') and (Skcounter > '0') then begin
  Stunden:= 0;
  Minuten:=StrToInt(Mcounter);
  Sekunden:=StrToInt(Skcounter);
  end;
  if (Stcounter = '0') and (Mcounter = '0') and (Skcounter > '0') then begin
  Stunden:= 0;
  Minuten:= 0;
  Sekunden:=StrToInt(Skcounter);
  end;
  if (Stcounter > '0') and (Mcounter = '0') and (Skcounter > '0') then begin
  Stunden:=StrToInt(Stcounter);
  Minuten:=0;
  Sekunden:=StrToInt(Skcounter);
  end;
  //if (stcounter='0') and (mcounter = '0') and (skcounter='0') then begin
  //    Form1.Label3.Caption:= 'Bitte zeit eingeben oder auf neu klicken' ;
  //end;

  timer1.enabled:=false;
  timer1timer(sender);

  end;

procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Form2.Visible:= true;
end;

end.
und unit 2 :
Delphi-Quellcode:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Edit2: TEdit;
    Edit3: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button2Click(Sender: TObject);
begin
close;
end;

procedure TForm2.Button1Click(Sender: TObject);
Var counter : String ;
begin
if (Form2.Edit1.Text='') and (Form2.Edit2.Text='') and (Form2.Edit3.Text='')
then begin
ShowMessage('Bitte Editbox ausfüllen !');
end;
if (Form2.Edit1.Text='') and (Form2.Edit2.Text='') or (Form2.Edit3.Text='')
then begin
ShowMessage('Bitte Editbox ausfüllen !');
end;
if (Form2.Edit1.Text='') or (Form2.Edit2.Text='') and (Form2.Edit3.Text='')
then begin
ShowMessage('Bitte Editbox ausfüllen !');
end;
if (Form2.Edit1.Text='') or (Form2.Edit2.Text='') or (Form2.Edit3.Text='')
then begin
ShowMessage('Bitte Editbox ausfüllen !');
end
else

counter:= Edit1.Text;
close;
end;
end.
thx in vorraus !!!
:duck:
mfg Dollar


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz