Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Problem bei Morsecode Translator
-Nala- - Di 29.04.08 14:26
Titel: Problem bei Morsecode Translator
Hallo!
Vor kurzem habe ich angefangen ein Programm zu schreiben, dass den Text, den man in ein Edit-Feld eintippt in MorseCode sprache wieder ausgibt. Unzwar mit einer Tonausgabe.
Nun zu meinem Problem:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin Lange := length(edit1.text);
for i := 1 to Lange do begin if edit1.Text[i] = 'A' then begin sndPlaySound('piepkurz.wav', SND_ASYNC); sndPlaySound('pieplang.wav', SND_ASYNC); end; end; end; |
Füre ich das Program aus und gebe ein großes A in das Edit-Feld ein und drücke den Button spielt er mir einfach die beiden Piep Töne direkt hintereinander aus. Es gibt keine Pause dazwischen. Wie kann ich im Prinzip zwischen die beiden Piep töne eine Pause einfügen ?
elundril - Di 29.04.08 14:40
schau dir mal die funktionen beep und sleep an. mit windows.beep kannst du einen ton in einer bestimmten höhe für eine bestimmte länge abspielen (dadurch fallen mal deine wavs weg) und mit sleep kannst du dein programm für eine bestimmte zeit "einschlafen" lassen.
wichtig für dich vieleicht auch die Funktion UpperCase. das wandelt einen buchstaben in einen großbuchstaben um. damit kannst du groß und klein a in einer if abfrage prüfen.
weiter würd ich dir eine case-anweisung empfehlen da es sich bei deiner abfrage um eine Char-abfrage handelt und man mit case das schöner (und effizienter) lösen könnte.
lg elundril
Marc. - Di 29.04.08 14:42
Elundril hat ja bereits das wesentliche geschrieben. Eine weitere Alternative wäre, Deine Wave-Dateien um ein kurzes lautloses Stück zu verlängern. ;)
Narses - Di 29.04.08 14:46
Titel: Re: Problem bei Morsecode Translator
Moin!
Marc. hat folgendes geschrieben: |
| Eine weitere Alternative wäre, Deine Wave-Dateien um ein kurzes lautloses Stück zu verlängern. ;) |
...bzw. einfach eine kurze und eine lange Pause als Wavedatei anzulegen (dann kann man es auch austauschen - im Gegensatz zur Beep-Lösung ;)).
Delphi-Quelltext
1:
| sndPlaySound('piepkurz.wav', SND_SYNC); |
...und natürlich mit SND_SYNC abspielen, damit auch auf das Ende des Soundfiles gewartet wird. :idea:
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!