![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пищалка [D7, Win95/98]
DillerXX © (2003-11-18 20:15:00)
Как использовать пищалку которая в системном блоке?
Rad (2003-11-19 08:05:00) [1]
Prov © (18.11.03 20:58) [2]
> Но можно и так: Messabeep
Только параметром надо передать -1, чтобы прозвучал стандартный писк.
А еще в WinAPI есть синхронная (не возвращает управление, пока не доиграет :) функция
BOOL Beep(
DWORD dwFreq, // частота (в Гц, от 37 до 32767)
DWORD dwDuration // длительность (в мс)
);
Правда, в Win95/98 она, опять же, проиграет стандартный системный WAV, если он назначен, или (если не назначен) просто пискнет, игнорируя значения частоты и длительности...
Prov (2003-11-18 23:42:00) [2]
тоесть, MessageBeep
Prov (2003-11-18 20:58:00) [3]
Но можно и так: Messabeep, не помню из какого юнита... Эта й-ция есть и в Windows, и в SysUtils... Попробуй и оттуда, и оттуда...
Zew (2003-11-18 20:30:00) [4]
Тут понадобится асамблер:
procedure TForm1.Speaker(Tone: Word; Delay: Integer);
begin
asm
mov al, 0b6H
out 43H, al
mov ax,Tone
out 42h,al
ror ax,8
out 42h,al
in al, 61H
or al, 03H
out 61H, al
end;
sleep(Delay);
asm
in al, 61H
and al, 0fcH
out 61H, al
end;
end;