![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Звук на спикер [D7, XP]
ShyricK © (2007-09-04 20:33:00)День добрый! Подскажите пжалуста как заставить спикер системника подавать сигналы разной частоты?
Инс (2007-09-04 21:35:00) [1]Все равно лишнее. Функция beep из kernel32 есть на всех версиях Windows.
Инс (2007-09-04 21:33:00) [2]А, тут еще и проверка на номер версии. Не заметил, сорри.
Инс (2007-09-04 21:31:00) [3]
> [2] Dib@zol © (04.09.07 21:26)
Это на XP ну никак не заработает :(( Правильный ответ - [1]
Dib@zol (2007-09-04 21:26:00) [4]procedure ExBeep(Freq {Hz}, Duration {ms} : Word);
var
OSV : OSVERSIONINFO;
begin
OSV.dwOSVersionInfoSize := SIZEOF(OSVERSIONINFO);
GetVersionEx(OSV);
if OSV.dwPlatformId = 2 then Windows.Beep(Freq, Duration)
else begin
asm
movzx ecx,Freq
mov eax,1193180
sub edx,edx
div ecx
mov ecx,eax
mov al,182
out 43h,al
mov al,cl
out 42h,al
mov al,ch
out 42h,al
in al,61h
or al,3
out 61h,al
end;
sleep(Duration);
asm
in al,61h
and al,0fch
out 61h,al
end;
end;
end;
Loginov Dmitry (2007-09-04 21:09:00) [5]Windows.Beep()