Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.30;
Скачать: CL | DM;

Вниз

Звук на спикер   Найти похожие ветки 

 
ShyricK ©   (2007-09-04 20:33) [0]

День добрый! Подскажите пжалуста как заставить спикер системника подавать сигналы разной частоты?


 
Loginov Dmitry ©   (2007-09-04 21:09) [1]

Windows.Beep()


 
Dib@zol ©   (2007-09-04 21:26) [2]

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;


 
Инс ©   (2007-09-04 21:31) [3]


> [2] Dib@zol ©   (04.09.07 21:26)

Это на XP ну никак не заработает :(( Правильный ответ - [1]


 
Инс ©   (2007-09-04 21:33) [4]

А, тут еще и проверка на номер версии. Не заметил, сорри.


 
Инс ©   (2007-09-04 21:35) [5]

Все равно лишнее. Функция beep из kernel32 есть на всех версиях Windows.



Страницы: 1 вся ветка

Текущий архив: 2007.09.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
2-1188652748
nil_pointer
2007-09-01 17:19
2007.09.30
Constant expression violates subrange bounds


15-1188802178
@!!ex
2007-09-03 10:49
2007.09.30
Преподавание религиозных предметов.


3-1180106459
WFS
2007-05-25 19:20
2007.09.30
Реляционные базы


2-1188756366
Bast
2007-09-02 22:06
2007.09.30
Проблема


6-1170415405
inex
2007-02-02 14:23
2007.09.30
переслать результат выполнения в коммандной строке