Delphi-PRAXiS

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 ^^

Birzenbae 23. Okt 2004 17:47

Re: Sound bei ablauf des Timers
 
ähm wegen rechtschreifehler musst entschulidigen hab nämlich nur eine wirklich frei da andern zeigefinger kaputt is, also
wie gesagt du machst einfach die Mediaplayer komponente aufs Form un dann machste doppeklick auf eine leere stelle im form un das is dann die Formcreate procedure, dort schreibste dann das rein was ich in der ersten quelltextbox hab

Chucky_88 23. Okt 2004 18:13

Re: Sound bei ablauf des Timers
 
ahso das is so ein teil oben in den karteireitern ?
WO isn des da? Bei mir sind da zu viele um alles durch zu schuan :-) ... ^^

Birzenbae 23. Okt 2004 18:16

Re: Sound bei ablauf des Timers
 
im System, aber ich würd dir raten die ersten 4 karteireiter teilweise auswendig zu können denn die brauch man so gut wie immer

Chucky_88 23. Okt 2004 18:19

Re: Sound bei ablauf des Timers
 
ahso .... sorry bin halt total neu dabei


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:38 Uhr.

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