Вниз
Скачать: CL | DM;

Как издать звук через beeper?   Найти похожие ветки 

← →
Slonco   (2004-10-14 12:22) [0]

Есть функция 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);
}
}
}


← →
VMcL ©   (2004-10-14 12:34) [1]

Windows.Beep(600, 100);
?


← →
Дмитрий Ботвин   (2004-10-14 12:35) [2]

На на 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:43) [3]

>>Дмитрий Ботвин  (14.10.04 12:35) [2]

На Win2K? Ню-ню.


← →
Slonco   (2004-10-14 12:46) [4]

Ну-ка, щас забью...
Ага, вот такой эррор дает на вот этой строке out   43H, al


Project AlerterClient.exe raised exception class EPrivilege with message "Privileged instruction".


← →
Дмитрий Ботвин   (2004-10-14 12:47) [5]

Тьфу, ё...!!! Не посмотрел на указанную ОС :-)))


← →
Slonco   (2004-10-14 12:53) [6]

О! Windows.Beep(600, 100); помогло!
Большое спасибо :)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
1-1099203342
Skyhawk
2004-10-31 09:15
2004.11.28
XP form


1-1100646157
CHE
2004-11-17 02:02
2004.11.28
TLABEL


1-1100261601
Jann
2004-11-12 15:13
2004.11.28
StatusBar


9-1090961036
xdev
2004-07-28 00:43
2004.11.28
Как создать дугу между тремя точками в OpenGL


3-1098990128
Vova
2004-10-28 23:02
2004.11.28
Query1.FieldCount всегда возвращает одно значение




   Наверх