Программа со звуком

Для любителей обсудить что круче Linux или Win32, Java или C#.

Модератор: Duncon

BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

10 апр 2009, 09:14

SLICK писал(а):оо, пожалусто выложи ее
Прошу прощения, это не так просто оказалось. Похоже, если она у меня и осталась, то где-то очень глубоко "закопана". Боюсь даже, что на 5'25"-дискетах...
SLICK
Сообщения: 6
Зарегистрирован: 31 мар 2009, 21:41

10 апр 2009, 14:19

ясно.. жаль...
Esgal
Сообщения: 78
Зарегистрирован: 04 ноя 2008, 01:15

05 май 2009, 11:32

[syntax=delphi]
procedure BeepInSpeaker(Freq: Word; Duration: Integer);
var
Ver: TOsVersionInfo;
begin
Ver.dwOSVersionInfoSize := SizeOf(Ver);
GetVersionEx(Ver);
if Ver.dwPlatformId = VER_PLATFORM_WIN32_NT then
Windows.Beep(Freq, Duration)
else
begin
asm
movzx ecx, Freq
mov eax, 1193180
sub edx, edx
div ecx
mov ecx, eax
mov al,0b6H
out 43H,al
mov al,cl
out 42h,al
mov al,ch
out 42h,al
in al,61H
or al,03H
out 61H,al
end;
sleep(Duration);
asm
in al,61H
and al,0fcH
out 61H,al
end;
end;
end;
[/syntax]

Делфи процедура, должна пищать на всех динамиках, если он физически не отключен...

Код: Выделить всё

procedura tire();
begin
  BeepInSpeaker(2000,600)
end;

procedure tchk();
begin
  BeepInSpeaker(2000,100)
end;
Luke! Use the Force! Use the Force... oh, Luke! Stop using the Force, use your head!
Ответить