![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как издать звук через beeper? [D7, Win2k]
Slonco © (2004-10-14 12:22:00)Есть функция Beep WinAPI, но Дельфи путает ее со своей функцией, которая вызывает MessageBeep WinAPI.
Есть код на Си - помогите перевести на Дельфи.
using System;
using System.Runtime.InteropServices;
namespace Basic
{
/// <summary>
/// Summary description for beep.
/// </summary>
public class beeper
{
[DllImport("kernel32.dll")]
public static extern int Beep(int nFreq, int nDuration );
public beeper()
{
//
// TODO: Add constructor logic here
//
Beep(600,100);
}
}
}
Slonco (2004-10-14 12:53:00) [1]О! Windows.Beep(600, 100);помогло!
Большое спасибо :)
Дмитрий Ботвин (2004-10-14 12:47:00) [2]Тьфу, ё...!!! Не посмотрел на указанную ОС :-)))
Slonco (2004-10-14 12:46:00) [3]Ну-ка, щас забью...
Ага, вот такой эррор дает на вот этой строке out 43H, al
Project AlerterClient.exe raised exception class EPrivilege with message 'Privileged instruction'.
VMcL (2004-10-14 12:43:00) [4]>> Дмитрий Ботвин (14.10.04 12:35) [2]
На Win2K? Ню-ню.
Дмитрий Ботвин (2004-10-14 12:35:00) [5]На на asm:
procedure TForm1.mybeep(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;
VMcL (2004-10-14 12:34:00) [6]
Windows.Beep(600, 100);
?