![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть-ли в Delphi5 Функция sound как в Паскале ? [D5, Win95/98]
DeMoN-777 © (2002-04-21 19:04:00)Есть-ли в Delphi5 Функция sound как в Паскале ?
Например:
sound(5000);
Буду очень признателен за любую оказанную помощь.
DeMoN-777 (2002-04-22 01:38:00) [1]Всем Спасибо
VEG (2002-04-22 01:04:00) [2]>ShipilinSergey
Эта процедурка не работает на некоторых виндах, а вот эта ВЕЗДЕ!!!:
procedure Sound(Frequency, Duration: Integer);
asm
cmp Win32Platform, VER_PLATFORM_WIN32_NT
jne @@9X
push edx
push eax
call Windows.Beep
ret
@@9X:
push ebx
push edx
mov bx, ax
mov ax, 34DDh
mov dx, 0012h
cmp dx, bx
jnc @@2
div bx
mov bx, ax
in al, 61h
test al, 3
jnz @@1
or al, 3
out 61h, al
mov al, 0B6h
out 43h, al
@@1:
mov al, bl
out 42h, al
mov al, bh
out 42h, al
call Windows.Sleep
in al, 61h
and al, 0FCh
out 61h, al
@@2:
pop ebx
end;
Первый параметр-частота, второй параметр-длительность.
Billy (2002-04-21 22:11:00) [3]Еще можешь попробовать MessageBeep
ShipilinSergey (2002-04-21 22:10:00) [4]Вот тебе процедра ее реализации
procedure beeper(time: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(time);
asm
in al,61h
and al,0fcH
out 61h,al
end;
end;
Если что непонятно спроси!
cok (2002-04-21 21:55:00) [5]Посмотри в хелпе описание функций Beep, PlaySound, может помогут.
Anatoly Podgoretsky (2002-04-21 19:16:00) [6]Нет