Вниз
Скачать: 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.021 c
4-1097749426
Jetus
2004-10-14 14:23
2004.11.28
Послать сообщение другой программе


1-1100198032
grigory
2004-11-11 21:33
2004.11.28
Спрятать приложение


14-1100332550
Vaitek
2004-11-13 10:55
2004.11.28
SPAM BLIN DOSTAL


1-1100176487
AndrewK
2004-11-11 15:34
2004.11.28
Работа с переменными в FastScript


14-1100106928
}|{yk
2004-11-10 20:15
2004.11.28
Народ! Предлагаю провести виртуальный матч по шахматам.




   Наверх