Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Sound bei ablauf des Timers (https://www.delphipraxis.net/32455-sound-bei-ablauf-des-timers.html)

Chucky_88 23. Okt 2004 15:24


Sound bei ablauf des Timers
 
Hallo,
ich wolte mir mal ein kleines Proggi basteln das mich aufweckt wenn ich am Pennen bin ^^ DIe Programme gibt es zwar wie Sand am Meer aber es sollte mir auch dazu dienen ein bsichen weiter in Delphi ein zu steigen. Bin demnach totaler Newbie. Das Problem ist nunr das irgendwie ein Bug in dem Code ist. Immer wenn der Timer auf 0 ist kommt eine Fehlermeldung. Ich poste unter dem Text mal den Code vielleicht kann mir ja einer helfen.

MfG Chucky

Delphi-Quellcode:
unit mCounter;

interface

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

type
  TCounter1 = class(TForm)

    EdStunden: TEdit;
    Button1: TButton;
    LbAufgabe: TLabel;
    EdMinuten: TEdit;
    TiCounter: TTimer;
    LbStundenMinuten: TLabel;
    LbCounterSt: TLabel;
    LbCounterMin: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure TiCounterTimer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Counter1: TCounter1;
  Minuten, Stunden, Counter: real;

implementation

{$R *.dfm}

procedure TCounter1.Button1Click(Sender: TObject);
begin
  Stunden := StrToFloat(EdStunden.Text);
  Minuten := StrToFloat(EdMinuten.Text);
  EdStunden.Color := clMedGray;
  EdMinuten.color := clMedGray;
  LbCounterSt.Visible := true;
  LbCounterMin.Visible := true;
  TiCounter.Enabled := true;
  EdStunden.ReadOnly := true;
  EdStunden.ReadOnly := true;

end;

procedure TCounter1.TiCounterTimer(Sender: TObject);
begin

  If EdStunden.Text = ' '
    then EdStunden.Text := '0';

  If (Minuten = 0) and (Stunden > 0)
    then begin
      Minuten := 60;
      Stunden := Stunden -1;
    end;

  If (Stunden = 0) and (Minuten = 0)
    then begin
      TiCounter.enabled := false;
      sndPlaySound(PChar('C:\WINDOWS\Media\SystemStart.wav'),SND_ASYNC)
    end
    else Minuten := Minuten -1;

  LbCounterSt.Caption := FloatToStr (Stunden);
  LbCounterMin.Caption := FloatToStr (Minuten);
end;

end.
Ps: Ich bin für Kritik vollkommen offen, genauso für Verbesserungsvorschläge

[edit=MrSpock]Zitat durch Delphi Tags ersetzt und Schriftgröße erhöht. Mfg, MrSpock[/edit]

Matze 23. Okt 2004 15:29

Re: Sound bei ablauf des Timers
 
:hi: Herzlich willkommen im Forum :party:

Zitat:

Zitat von Chucky_88
Immer wenn der Timer auf 0 ist kommt eine Fehlermeldung.

Welche kommt denn genau?

PS: Bitte zukünftig die [delphi]-Tags verwenden, dann ist der Code leserlicher. ;)

Gast 23. Okt 2004 15:40

Re: Sound bei ablauf des Timers
 
Warum Timer auf 0 dann bringt der doch garnichts ... was willste damit denn erreichen ?

Chucky_88 23. Okt 2004 15:46

Re: Sound bei ablauf des Timers
 
also das programm hat den sinn:

Ich gebe eine Stundenzahkl und eine Minutenzahl ein. Dann drücke ich start. DAnn wird ein timer gestartet der die minuten und stunden runter zählt. Wenn dann "weckzeit" ist soll der timer ein Audiofile abspielen. (midi, wav oder Mp3" Ich habe es jetzt nochmal ausprobier. Stürzt aus irgendwelchen gründen nicht mehr ab O_o

Kann cih auf mp3 Dateien damit abspielen oder wqas muss ich dafür machen ?

Birzenbae 23. Okt 2004 16:04

Re: Sound bei ablauf des Timers
 
ich glaub e wäre am einfachsten wen du Tmediaplayer einbaust un das wenn timer 0 ist der player gestartet wird is glaub ich am einfachsten.

Sharky 23. Okt 2004 16:21

Re: Sound bei ablauf des Timers
 
Hai Chucky_88,

zwei Dinge ;-)
a) Würde ich anstelle vom Typ Real den Typ Integer verwenden. Immerhin möchtest Du ja nur ganze Stunden und Minuten angben.

b) Ich würde nach dem Button-Klick die angegenben Stunden/Minuten zur aktuellen Uhrzeit addieren. Dann mit einem Timer alle x Sekunden prüfen ob die errechnete Zeit erreicht ist und dann keine Aktion ausführen.

Chucky_88 23. Okt 2004 16:52

Re: Sound bei ablauf des Timers
 
Wie nutze ich den Tmediaplayer?
@Sharky wie kann ich denn die uhrzeit da rein holen ?

Sehr gute Ideen :-)
FETTES MERCI schonmal =)

Birzenbae 23. Okt 2004 16:58

Re: Sound bei ablauf des Timers
 
also des is ganz einfach du machst die mediaplayer-komponente aus form sagst im formcreate dann
Delphi-Quellcode:
Mediaplayer1.FileName:='pfad und dateiname';
Mediaplayer1.Open;
un dann wenn timer auf 0 is muss das zur entsprechenden procedure
Delphi-Quellcode:
Mediaplayer1.Play;

Sharky 23. Okt 2004 17:20

Re: Sound bei ablauf des Timers
 
Zitat:

Zitat von Chucky_88
...@Sharky wie kann ich denn die uhrzeit da rein holen ?
...

Schaue dir in der Onlinehilfe mal diese Funktionenen an:
Delphi-Referenz durchsuchenNow
Delphi-Referenz durchsuchenEncodeTime
Delphi-Referenz durchsuchenDecodeTime

Chucky_88 23. Okt 2004 17:21

Re: Sound bei ablauf des Timers
 
also des is ganz einfach du machst die mediaplayer-komponente aus form sagst im formcreate dann
Quellcode:
wenn ich das vestehen würde wüsste ich wo ich das reikopieren muss ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr.
Seite 1 von 2  1 2      

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