![]() |
Sound-ENDLOSSCHLEIFE
Hi
Bin sowol in delphi (2005) als auch hier neu. :mrgreen: Ich würde gerne wissen, wie man in eine "VCL-Formularanwendung" eine unsichtbare Endlosschleife einer einzigen wav, mp3 oder wma datei einfügt. :gruebel: DANKE schonmal im voraus! :balloon: 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. |
Re: Sound-ENDLOSSCHLEIFE
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:
Du solltest mal nach denn Schleifenvarianten "WHILE, FOR etc. suchen.Start... while i = 1 do begin Deine Wav Datei ausführen end; Stopp i=0 oder so ähnlich. Gruß Jens |
Re: Sound-ENDLOSSCHLEIFE
:dp:
Beim nächsten mal kannst du den Delphi-Code-tag benutzen. :wink: Was du suchst sollte, so etwas wie ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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