|
| PC Speaker Fra : Thomas P |
Dato : 22-12-00 11:40 |
|
Hej,
Jeg gik sådan og tænkte på hvorfor jeg ikke kan bruge det gamle
pascal-udtryk for at bruge pcspeakeren. Nåeh, men hvis I skulle være 'aware
of ' hvilken syntax eller kode jeg kan bruge for at få speakeren til at
speake ville det være pingeling :)
- Thomas
| |
David A. D. Konrad (22-12-2000)
| Kommentar Fra : David A. D. Konrad |
Dato : 22-12-00 12:51 |
|
Thomas P wrote in message <91vb16$n6f$1@news.inet.tele.dk>...
>Hej,
>
>Jeg gik sådan og tænkte på hvorfor jeg ikke kan bruge det gamle
>pascal-udtryk for at bruge pcspeakeren. Nåeh, men hvis I skulle være 'aware
>of ' hvilken syntax eller kode jeg kan bruge for at få speakeren til at
>speake ville det være pingeling :)
Brug windows beep-procedure. Parametrene er frekvens og varighed.
Fx windows.beep(12345,100); //meget høj og kort "glaslyd"
hilsen,
| |
Thomas P (22-12-2000)
| Kommentar Fra : Thomas P |
Dato : 22-12-00 14:11 |
|
| Brug windows beep-procedure. Parametrene er frekvens og varighed.
| Fx windows.beep(12345,100); file://meget høj og kort "glaslyd"
Hmm... jeg tænkte nu mere på at bruge PC-speakeren hvis computere nu til
dags stadigvæk har sådan en :) I pascal sagde man vidst noget i retning af
sound(600); delay(100); stopsound; Disse procedurer var vistnok desværre en
del af unitten, CRT som jeg uden held har prøvet at opspore til Delphi...
- Thomas
| |
David A. D. Konrad (22-12-2000)
| Kommentar Fra : David A. D. Konrad |
Dato : 22-12-00 14:15 |
|
Thomas P wrote in message <91vjrn$s0j$1@news.inet.tele.dk>...
>| Brug windows beep-procedure. Parametrene er frekvens og varighed.
>| Fx windows.beep(12345,100); file://meget høj og kort "glaslyd"
>
>Hmm... jeg tænkte nu mere på at bruge PC-speakeren hvis computere nu til
>dags stadigvæk har sådan en :) I pascal sagde man vidst noget i retning af
>sound(600); delay(100); stopsound; Disse procedurer var vistnok desværre en
>del af unitten, CRT som jeg uden held har prøvet at opspore til Delphi...
Og jeg siger dig, beep er _nøjagtigt_ det samme som den gamle sound
hilsen,
| |
Kim (27-12-2000)
| Kommentar Fra : Kim |
Dato : 27-12-00 13:56 |
|
>>Hmm... jeg tænkte nu mere på at bruge PC-speakeren hvis computere nu til
>>dags stadigvæk har sådan en :) I pascal sagde man vidst noget i retning af
>>sound(600); delay(100); stopsound; Disse procedurer var vistnok desværre en
>>del af unitten, CRT som jeg uden held har prøvet at opspore til Delphi...
function GetPort (address:word) :word; { Sound }
var
bValue: byte;
begin
asm
mov dx, address
in al, dx
mov bValue, al
end;
GetPort := bValue;
end;
procedure SetPort(address, Value:Word); { Sound }
var
bValue: byte;
begin
bValue := trunc(Value and 255);
asm
mov dx, address
mov al, bValue
out dx, al
end;
end;
procedure NoSound;
var Value_s: Word;
begin
Value_s := GetPort($61) and $FC;
SetPort($61, Value_s);
end;
procedure Sound (Freq : Word; dura : Integer {msec} );
var B : Byte;
begin
if Freq > 18 then
begin
Freq := Word(1193181 div LongInt(Freq));
B := Byte(GetPort($61));
if (B and 3) = 0 then
begin
SetPort($61, Word(B or 3));
SetPort($43, $B6);
end;
SetPort($42, Freq);
SetPort($42, Freq shr 8);
sleep (dura);
nosound;
end;
end;
Kim
| |
David A. D. Konrad (27-12-2000)
| Kommentar Fra : David A. D. Konrad |
Dato : 27-12-00 14:28 |
|
Kim wrote in message ...
>function GetPort (address:word) :word; { Sound }
[cut]
Og det virker naturligvis på 95, 98, NT og 2000 ???
hilsen,
| |
|
|