AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht

Ein Thema von NicoleWagner · begonnen am 24. Mai 2022 · letzter Beitrag vom 26. Mai 2022
 
venice2
(Gast)

n/a Beiträge
 
#5

AW: Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht

  Alt 24. Mai 2022, 18:02
Zitat:
Den gibt's doch, wie Sherlock in seiner Antwort angab: OnTimer.
Genau!
Example

Zitat:
Wie bringe ich ihn dazu, am Ende einen Sound abzuspielen.
Addiere eine Wave-Datei zur Ressource.
Addiere MMSystem zu den Uses..

Führe diese Funktion aus.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  timer1.Enabled := false;
  PlaySound('SOUND1', hInstance, SND_RESOURCE or SND_ASYNC);
  Panel1.Color := clRed;
end;

Davon ab würde ich gar keinen Timer nehmen sondern einen Thread dafür verwenden.
Delphi-Quellcode:
var
  EndAlarm : BOOL;
Delphi-Quellcode:
procedure Alarm(Delay: Integer); stdcall;
var
  //...
begin
  //...

  Repeat
    //... Was auch immer du für die Zeit Berechnung benötigst.
    // Wenn Bedingung erfüllt.
    if (bla = bla) then
    begin
      EndAlarm := True;
      PlaySound('SOUND1', hInstance, SND_RESOURCE or SND_ASYNC);
      Panel1.Color := clRed;
    end;
    Sleep(Delay);
  Until (EndAlarm = True); // globale variable EndAlarm Definieren und über Button auf True setzen. Oder darauf warten bis Bedingung erfüllt
end;
Delphi-Quellcode:
function StartAlarm(Delay: Integer): Integer;
var
  Return: Integer;
  hThread, dwThreadId: DWORD;
begin
  Return := LB_ERR;
  hThread := CreateThread(nil, 0, @Alarm, Pointer(Delay), 0, dwThreadId);

  if (hThread <> 0) then
  begin
    Return := LB_OKAY;
    Sleep(100);
  end;

  CloseHandle(hThread);
  Result := Return;
end;
Aufruf!

Delphi-Quellcode:
if (StartAlarm(60) = LB_OKAY) then
          // bla, bla

Geändert von venice2 (25. Mai 2022 um 10:11 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:08 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