Autor Beitrag
-Nala-
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 62



BeitragVerfasst: Di 29.04.08 14:26 
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:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: 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

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Di 29.04.08 14:42 
user profile iconElundril hat ja bereits das wesentliche geschrieben. Eine weitere Alternative wäre, Deine Wave-Dateien um ein kurzes lautloses Stück zu verlängern. ;)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 29.04.08 14:46 
Moin!

user profile iconMarc. 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 ;)).

ausblenden 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

_________________
There are 10 types of people - those who understand binary and those who don´t.