AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sound-ENDLOSSCHLEIFE

Offene Frage von "DER_VIRUS"
Ein Thema von DER_VIRUS · begonnen am 2. Aug 2009 · letzter Beitrag vom 2. Aug 2009
Antwort Antwort
DER_VIRUS

Registriert seit: 2. Aug 2009
1 Beiträge
 
#1

Sound-ENDLOSSCHLEIFE

  Alt 2. Aug 2009, 18:15
Hi
Bin sowol in delphi (2005) als auch hier neu.

Ich würde gerne wissen, wie man in eine "VCL-Formularanwendung"
eine unsichtbare Endlosschleife einer einzigen wav, mp3 oder wma datei einfügt.

DANKE schonmal im voraus!
Hab hier den code:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Menus, StdCtrls, Buttons, ComCtrls, MPlayer;

type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Button2: TButton;
MainMenu1: TMainMenu;
Timer1: TTimer;
Start1: TMenuItem;
Stopp: TMenuItem;
Label2: TLabel;
Sopp: TMenuItem;
Label3: TLabel;
Image2: TImage;
Label4: TLabel;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Label5: TLabel;
Label6: TLabel;
Button4: TButton;
Timer2: TTimer;
Label7: TLabel;
Timer3: TTimer;
Timer4: TTimer;
procedure Timer4Timer(Sender: TObject);
procedure Timer3Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Image2Click(Sender: TObject);
procedure SoppClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Start1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure StoppClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;
zaelerstatus, zaelerstatusb, counter, zz, zx : Integer ;
status : real;
zahl : byte;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
zx := zx +1;
if zahl mod 2 = 0 then
begin Image3.Visible := true;
Image4.Visible := false;
zaelerstatus := zaelerstatus + 1;
end

else
begin
Image3.Visible := false;
Image4.Visible := true;

end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
zx := zx +1;
if zahl mod 2 <> 0 then
begin Image3.Visible := true;
Image4.Visible := false;
zaelerstatus := zaelerstatus + 1;
end

else
begin
Image3.Visible := false;
Image4.Visible := true;

end;
end;

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

procedure TForm1.Timer1Timer(Sender: TObject);
begin

randomize;
zahl := random(100) + 1;

if zaelerstatus = 99 then
begin
zaelerstatus := 0;
zaelerstatusb := 0;
showmessage('WOW, du bist einer der erfahrensten Leute,'+
'die dieses Spiel spielen! Herzlichen Glückwunsch!');
end;
if zaelerstatusb = 99 then
begin
zaelerstatusb := 0;
zaelerstatus := 0;
if zaelerstatus > 40 then showmessage('WOW, du hast es echt sehr lange durchgehalten!');
end;
zaelerstatusb := zaelerstatusb + 1;

if zaelerstatusb <> 0 then status := 100 * zaelerstatus/zaelerstatusb
else status := 100;
zx := 0;
end;

procedure TForm1.Start1Click(Sender: TObject);
begin
timer3.Enabled := true;
zaelerstatus := 0;
zaelerstatusb := 0;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
timer4.Enabled := false;
timer3.Enabled := false;
button4.Visible := false;
zaelerstatus := 0;
if zaelerstatusb <> 0 then status := 100 * zaelerstatus/zaelerstatusb
else status := 100;

button1.Enabled := false;
button2.enabled := false;
end;

procedure TForm1.SoppClick(Sender: TObject);
begin
timer4.Enabled := false;
Timer1.Enabled := false;
button1.Enabled := false;
button2.enabled := false;
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
Showmessage ('Das Spiel geht so: Du musst innerhalb einer Sekunde entscheiden, ob die Zahl GERADE(1) oder UNGERADE(3) ist !');
Showmessage ('Der Smiley zeigt dir ob du Richtig oder Falsch getippt hast!');
Showmessage ('Nachdem du es ausprobiert hast, kannst du die Prozentzahl deiner richtigen Züge diranzeigen lassen: (drücke %!)');
Showmessage ('Das Hilfesymbol verschwindet jetzt!');
Image2.Visible := false;
Showmessage ('Viel Spaß!');
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
showmessage(floattostr(status)+'% der Versuche waren gut!');
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
zaelerstatus := 0;
zaelerstatusb := 0;
Timer1.Enabled := true;
button1.Enabled := true;
button2.enabled := true;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin

Label1.Caption := IntToStr(zahl);
Label2.Caption := IntToStr(zaelerstatus);
Label6.Caption := InttoStr(zaelerstatusb);
status := round(status * 1) / 1;


end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
counter := counter +1;
If counter = 1 then Label7.Caption := ('3');
If counter = 2 then Label7.Caption := ('2');
If counter = 3 then Label7.Caption := ('1');
If counter = 4 then begin
button4.Visible := true;
Timer1.Enabled := true;
button1.Enabled := true;
button2.enabled := true;
timer4.Enabled := true;
Label7.Caption := ('Los!');
end;
If counter = 5 then begin
Label7.Caption := ('');
timer3.Enabled := false;
counter := counter -5;
end;
end;

procedure TForm1.Timer4Timer(Sender: TObject);
begin
if zx > 0 then begin
button1.Enabled := false;
button2.Enabled := false;
end
else

begin
button1.Enabled := true;
button2.Enabled := true;
end;
end;



end.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Sound-ENDLOSSCHLEIFE

  Alt 2. Aug 2009, 18:32
Hallo,

kommt drauf an wie du es vorhast. Endlosschleife, ist ja irgendwie doof. Du willst die ja wahrscheinlich irgendwodurch starten und später wieder stoppen. Du könntest das irgendwie so lösen...

Delphi-Quellcode:

Start...

while i = 1 do
  begin
    Deine Wav Datei ausführen
  end;

Stopp i=0 oder so ähnlich.
Du solltest mal nach denn Schleifenvarianten "WHILE, FOR etc. suchen.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#3

Re: Sound-ENDLOSSCHLEIFE

  Alt 2. Aug 2009, 19:59

Beim nächsten mal kannst du den Delphi-Code-tag benutzen.

Was du suchst sollte, so etwas wie MSDN-Library durchsuchenPlaySound mit SND_LOOP sein.
Man kann einen Barbier definieren als einen, der alle diejenigen rasiert, und nur diejenigen, die sich nicht selbst rasieren.
Rasiert sich der Barbier?
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:20 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