Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Beep "beept" nicht...
Isard - Mo 11.05.09 13:01
Titel: Beep "beept" nicht...
So, nachdem ich nun seit einer geschlagenen Woche rumprobiere, hab ich mir gedacht, dass ich eher an Altersschwäche sterbe, als die Lösung zu finden... hmmmm... fragen wir doch mal die, die ahnung von der materie haben ;)
Folgendes Problem: windows.beep(440,1000) beept einfach nicht...
1) Windows standartsounds als schema in der Systemsteuerung eingestellt
2)knopf erstellt (oho ;) )
3)exakt "windows.beep(440,1000); in onklick reingeschrieben
4) man drücke den knopf und merke...
5)... das sich nix tut :(
Das Ganze sollte eigentlich in mein erstes "nützliches" Delphiprogramm rein, da meiner Uhr die Batterien ausgegangen sind und ich wirklich KEIN Zeitgefühl habe, also fix mal einen Wecker programmiert und ein wenig aufgehübscht (liegt auf dem Laptop, Quellcode kann auf Wunsch nachgeliefert werden). Nur das eine Textnachricht im hintergrund wie "ende" oder so nich auffällt, also muss ein Ton her, der aber nicht will...
Auf dem Laptop nicht und auf dem Recher auch nicht -.-"
So langsam glaube ich mein Rechner will mich ärgern... need help^^
hoffnungsvoll
Isard
Edit1: Delphi 5 verwendet (ist vllt noch wichtig ;))
Edit2: Und ja bevors kommt: Sound ist an :D
Ramon - Mo 11.05.09 13:09
Hallo,
der beep kann in der Regestrie deaktiviert werden.
Guck mal unter
HKEY_CURRENT_USER -> Control Panel -> Sound
wie Beep steht.
Isard - Mo 11.05.09 13:14
1) Danke für die schnelle Hilfe
2) WAS? Also ich hab mich immer aus der Reg rausgehalten, da kenn ich mich nicht mit aus (nur das man die mit regedit aufruft)... Krige ich bitte ine schritt für schritt Anleitung oder was wie einen roten Faden dem ich hinterherlaufen kann? Wäre nett ;)
3) Da gibs blos HKEY_CURRENT_CONFIG und HKEY_USERS welches davon hättens denn gerne? sorry falsch der est stand oben *pfeif*
Aaaalsoooo:
Da steht:
(Standart) REG_SZ (Wert nicht gesetzt)
Beep REG_SZ yes
Extended Sounds REG_SZ yes
Und was nu? Beep ist ja anscheinend aktiviert...
Ramon - Mo 11.05.09 13:30
Ja, scheint aktiviert zu sein. Der Speaker ist auch angeschlossen?
EIn MessageBeep(0) gibt auch nichts aus?
Isard - Mo 11.05.09 13:35
Ahaaaa hast dir nen Keks verdient :lol:
bei messagebeep(0) macht der den allgemein bekannten "pöng"-sound von windows (wie bei der lautsprechereinstellung).
Und ja speaker sind an, ich höre ja nebenbei musik, also daran wirds nicht leigen... oder ich bin mittlerweile so verrückt, dass ich mir die musik einbilde :? aber davon geh ich mal nicht aus :wink:
beepen tut er trotzdem nicht... und einen guten "nerv" sound für einen wecker gibs bei messagebeep nicht oder?
---
Moderiert von
Narses: Beiträge zusammengefasst---
Hmmm hab mir erstmal wie folgt ausgeholfen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button1Click(Sender: TObject); var i,a:integer; begin for i:=1 to 10 do begin for a:=1 to 3 do begin messagebeep(0); sleep(500); end; sleep(5000); end; end; |
ist nich doll aber erst mal notlösung... das einzige was noch ist: warum geht beep denn nu nicht?
edit: sorry wegen doppelpost, habbich zu spät gemerkt aber löschen kann mans ja nicht :(
Moderiert von
Narses: Delphi-Tags hinzugefügt
jaenicke - Mo 11.05.09 14:23
Beep kann ja nur gehen, wenn du auch Lautsprecher im PC eingebaut hast. Bei modernen PCs ist das teilweise gar nicht mehr der Fall wie ich in letzter Zeit gesehen habe...
Isard - Mo 11.05.09 14:26
Aaaaahsoooo na das hilft doch mal weiter. Da meine möhre nu nicht grade von vorgestern ist, hat die warscheinlich keine internen lautsprecher... ok das würde jedenfalls erklären warums nich "beept", danke für die hilfe, muss ich mich eben doch mit meiner notlösung rumplagen, auch wenn anstatt sleep noch timer reinmüssen, da man sonst das programm ja nie beenden kann^^.
jaenicke - Mo 11.05.09 14:28
Spiel doch einfach eine Wavdatei oder so mit PlaySound ab, wenn dir MessageBeep zu unauffällig ist.
Regan - Mo 11.05.09 14:28
Ich glaube, dass der Monitor auch einmal flackern sollte, wenn die Option zwar aktiviert aber kein Systemlautsprecher angeschlossen ist.
Isard - Mo 11.05.09 15:03
Hmmm nee kann ich nicht behaupten, aber ich brech das hier einfach mal ab weil ich es nicht mehr benötige, denn ich habs anders gelöst:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, jpeg;
type TForm1 = class(TForm) Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Label1: TLabel; Label2: TLabel; Button2: TButton; Timer1: TTimer; Label4: TLabel; Button1: TButton; Label5: TLabel; Label6: TLabel; Image1: TImage; Label7: TLabel; Label8: TLabel; Image2: TImage; Label3: TLabel; Image3: TImage; Timer2: TTimer; procedure Button2Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer2Timer(Sender: TObject); private public end;
var Form1: TForm1; i: integer=0;
implementation
{$R *.DFM}
procedure TForm1.Button2Click(Sender: TObject); var h,m,s:integer; begin h:=strtoint(edit4.text); m:=strtoint(edit5.text); s:=strtoint(edit6.text); if h>24 then showmessage('Maximalwert ist 24 für die Stundenanzahl.'); if m>60 then showmessage('Maximalwert ist 60 für die Minutenanzahl.'); if s>60 then showmessage('Maximalwert ist 60 für die Sekundenanzahl.'); label4.caption:=((inttostr(h))+':'+(inttostr(m))+':'+(inttostr(s))); if h<10 then label4.caption:=('0'+(inttostr(h))+':'+(inttostr(m))+':'+(inttostr(s))); if m<10 then label4.caption:=((inttostr(h))+':'+'0'+(inttostr(m))+':'+(inttostr(s))); if s<10 then label4.caption:=((inttostr(h))+':'+(inttostr(m))+':'+'0'+(inttostr(s))); end;
procedure TForm1.Timer1Timer(Sender: TObject); begin label3.caption:=timetostr(now); if label3.caption=label4.caption then begin i:=1; messagebeep(0); end; end;
procedure TForm1.Button1Click(Sender: TObject); begin application.terminate; end;
procedure TForm1.Timer2Timer(Sender: TObject); begin if i=1 then messagebeep(0); end;
end. |
Moderiert von
Narses: Delphi-Tags hinzugefügt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!