![]() |
zeitlicher Abstand bei "beep"
bin Anfänger und programmiere gerade ein programm, wo u.A. der Befehl "beep" vorkommt. ich kann ja die Häufigkeit des Abspielens verändern, aber sobald ich mehrere beep befehle hintereinander ausführe, klingt es nur noch wie langgezogener Ton, es gibt also keine Pausen mehr zwischen den "beeps". Kann ich das irgendwie beeinflussen???
|
Re: zeitlicher Abstand bei "beep"
machs mit nem timer
|
Re: zeitlicher Abstand bei "beep"
bin wie gesagt totaler anfänger, kenne delphi nur aus der schulinformatik. was ist ein timer, wie funktioniert sowas???
|
Re: zeitlicher Abstand bei "beep"
Liste der Anhänge anzeigen (Anzahl: 1)
Ein Timer ist das lustige Ding im Anhang :)
der hat die funktion alles was in seiner procedure steht, immer wieder nach ner bestimmten, selbst festzulegenden zeit, zu wiederholen. die zeit kannst du mit "interval" einstellen... (die angabe ist in Millisekunden und 0 heißt Timer aus) sollte helfen :) |
Re: zeitlicher Abstand bei "beep"
ok, danke
|
Re: zeitlicher Abstand bei "beep"
heißt das, du kommst klar?
|
Re: zeitlicher Abstand bei "beep"
ja den abstand habe ich geregelt bekommen, aber das hört ja jetzt ni wieder auf ich hatte ja eine procedure geschrieben, um eine anzahl von tönen zu erzeugen
|
Re: zeitlicher Abstand bei "beep"
Dann musst Du im Timer eine global erreichbare Zahl hochzählen und beim Erreichen eines definierten Maximalwerts den Timer abschalten.
|
Re: zeitlicher Abstand bei "beep"
dann fragst du einfach mit ner ineger variable immer wieder ab, wie oft schon "gebeept" wurde und sagst nach erreichen des limits, dass der timer aus gehen soll :)
in etwa so
Delphi-Quellcode:
//edit : zu spät :(
procedure form1.Timer1Timer(Sender: TObject);
var wie_oft_schon:integer; begin IF wie_oft_schon < limit THEN begin beep; inc(wie_oft_schon); end ELSE timer1.interval:=0; //oder timer1.enabled:=false; end; |
Re: zeitlicher Abstand bei "beep"
wie_oft_schon darf aber nicht lokal sein ;)
|
Re: zeitlicher Abstand bei "beep"
stimmt. hast recht
|
Re: zeitlicher Abstand bei "beep"
Delphi-Quellcode:
ist jetzt erstmal mein quellcode, wenn ich das programm starte macht es 10mal beep in einem von mir bei intervall festgelegten abstand, ich möchte aber, dss die töne erst bei klicken eines buttons erzeugt werden, wie ist das möglich, ich hab es probiert und mein quellcode war danach etwas durcheinander :roll:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; procedure Timer1Timer(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; wie_oft_schon:integer; implementation {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); procedure ablauf(limit:integer); begin IF wie_oft_schon < limit THEN begin beep; inc(wie_oft_schon); end ELSE timer1.interval:=0; end; begin ablauf(10); end; end. |
Re: zeitlicher Abstand bei "beep"
Stell den Timer im OI auf Disabled (d.h. Enabled auf false ;)), füge noch eine globale Variable "limit" ein, mach einen Doppelklick auf den Button und schreibe das hier in den Quelltext:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin limit := 10; wie_oft_schon := 0; Timer1.Enabled := true; end; |
Re: zeitlicher Abstand bei "beep"
Noch ein kleiner Tipp am Rande :wink: :
Anstatt einer globalen Variable kannste auch einfach Timer1.Tag benutzen MfG Mikescher |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 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