Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как издать звук через 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);
?


Наверх

Титульная страница Поиск, карта сайта Написать письмо