我在Windows上運行Lazarus。我真的想讓節目「嗶嗶」。看來,你可以這樣做在帕斯卡使用:Lazarus Pascal蜂鳴聲命令
windows.beep(300,500);
但不是在拉撒路!是否有另一個我可以使用的命令?
更新:
sysutils.beep()
這工作,但我真的很想設定的頻率和聲音
我在Windows上運行Lazarus。我真的想讓節目「嗶嗶」。看來,你可以這樣做在帕斯卡使用:Lazarus Pascal蜂鳴聲命令
windows.beep(300,500);
但不是在拉撒路!是否有另一個我可以使用的命令?
更新:
sysutils.beep()
這工作,但我真的很想設定的頻率和聲音
Afaik這是可以工作多年的功能。 (Dev Pascal已超過十歲)。
不同之處在於,Lazarus不會像Delphi那樣自動將Windows添加到uses子句中。
的持續時間。如果此功能未在拉撒路聲明,你可以聲明它像:
function Beep(dwFreq, dwDuration: DWORD): BOOL; stdcall; external 'kernel32.dll';
在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.
是否有任何簡單的變通?我真的很想玩弄我正在運行的課程的頻率和持續時間 – pluke
沒有必要的解決方法。只需添加窗口到使用條款,它應該工作。 –
啊,我明白你的意思了,所以'使用Windows;'修復它。謝謝! – pluke