Lazarus Pascal哔哔命令

时间:2014-06-27 17:25:59

标签: pascal lazarus

我在Windows上运行Lazarus。我真的很想制作节目" Beep"。您似乎可以使用以下方法在Pascal中执行此操作:

windows.beep(300,500);

但不是拉撒路!我可以使用另一个命令吗?

更新:

sysutils.beep()

这很有效,但我真的很想设置声音的频率和持续时间

3 个答案:

答案 0 :(得分:7)

Afaik这是功能已久的功能。 (Dev Pascal已超过十年)。

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

答案 1 :(得分:5)

如果未在Lazarus中声明此功能,您可以将其声明为:

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

答案 2 :(得分:0)

在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.