Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пищалка [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо