Lazarus Pascal蜂鸣命令

Lazarus Pascal蜂鸣命令,pascal,lazarus,Pascal,Lazarus,我在Windows上运行Lazarus。我真的很想让程序“嘟嘟”一声。似乎可以在Pascal中使用以下命令执行此操作: windows.beep(300,500); 但不是在拉撒路!有没有其他我可以使用的命令 更新: sysutils.beep() 这是可行的,但我确实想设置声音的频率和持续时间如果在Lazarus中未声明此函数,您可以这样声明: function Beep(dwFreq, dwDuration: DWORD): BOOL; stdcall; external 'kernel

我在Windows上运行Lazarus。我真的很想让程序“嘟嘟”一声。似乎可以在Pascal中使用以下命令执行此操作:

windows.beep(300,500);
但不是在拉撒路!有没有其他我可以使用的命令

更新:

sysutils.beep()

这是可行的,但我确实想设置声音的频率和持续时间

如果在Lazarus中未声明此函数,您可以这样声明:

function Beep(dwFreq, dwDuration: DWORD): BOOL; stdcall; external 'kernel32.dll';

好了,这是一项长期有效的功能。(戴夫·帕斯卡已经十岁多了)


不同的是,Lazarus不会像Delphi那样自动将窗口添加到uses子句。

在Lazarus中创建一个新项目并添加一个按钮。将windows单元添加到使用列表中。 在按钮默认事件中,输入代码:

unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,

  windows;  // added by manually

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
  n,
  freq,dur : integer;

begin
  Randomize;
  for n:=1 to 100 do
    begin
      windows.Beep(random(1000)+n,random(100)+100);
    end;
end;

end.

谢谢维塔利,你能告诉我它叫什么吗?我试过Beep(300300);但是它返回了一个错误:unit1.pas(34,3)error:在声明“Beep”之后,为调用“Beep”指定的参数数目错误,就像调用
Beep(300500)程序TForm1。按钮1单击(发件人:TObject);开始嘟嘟声(300300);结束;功能蜂鸣音(dwFreq,dwDuration:DWORD):BOOL;stdcall;外部“kernel32.dll”;代码如上所述,它在DEV pascal中对我有效,只需使用boolean:function Beep(dwFreq,dwDuration:DWORD):boolean更改BOOL;stdcall;外部“kernel32.dll”//改变第一个参数,在你叫它Windows之后播放你最喜欢的歌曲。beep(300500)有什么简单的解决办法吗?我真的很想为我正在运行的一个类调整频率和持续时间,因为不需要任何变通方法。只要在uses子句中添加windows,它就应该可以工作了。啊,我现在明白你的意思了,所以
使用windows修复它。谢谢