Beep

構文(VBA)
Declare Function Beep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
構文(UWSC)
DEF_DLL Beep(long, long): long: kernel32 .dll
引数
dwFreq
音の周波数をヘルツ単位で指定する。37から32,767までの値
dwDuration()
音の継続時間をミリ秒単位で指定
戻り値
成功:0以外の数値
失敗:0

プログラム実行例

指定した文字列のモールス信号を鳴らす

UWSC
使用関数

指定した周波数の音を出します

440Hzを1000ミリ秒再生します。

UWSC
DEF_DLL Beep(long, long): long: kernel32.dll

DIM frequency = 880    // 周波数
DIM dot = 50           // 短点の長さ(ms)

DIM str = MORSE.encode("UWSC")
DIM len = LENGTH(str) -1
DIM array[len][2]

FOR i = 0 TO len
	SELECT COPY(str, i+1, 1)
		CASE "・"
			array[i][0] = dot
			array[i][1] = TRUE
		CASE "−"
			array[i][0] = dot * 3
			array[i][1] = TRUE
		CASE " "
			array[i][0] = dot
			array[i][1] = FALSE
	SELEND
NEXT

FOR i = 0 TO UBound(array)
	IFB array[i][1] THEN
		Beep(frequency, array[i][0])
	ELSE
		SLEEP(array[i][0] / 1000)
	ENDIF
NEXT

//////////////////////////////////////////////////
// 【引数】
//   inputs : 繰り返す文字列 
//   multiplier : inputsを繰り返す回数 
// 【戻り値】
//   inputsをmultiplier回を繰り返した文字列を返します 
//////////////////////////////////////////////////
FUNCTION strRepeat(inputs, multiplier)
	DIM res = ""
	FOR n = 1 TO multiplier
		res = res + inputs
	NEXT
	RESULT = res
FEND

//////////////////////////////////////////////////
// 【引数】
//   arrayname : 上限値を求める配列の名前 
//   dimension : 返す次元を示す整数 
// 【戻り値】
//   配列の上限値 
//////////////////////////////////////////////////
FUNCTION UBound(arrayname[], dimension = 1)
	RESULT = EVAL("RESIZE(arrayname" + strRepeat("[0]", dimension - 1) + ")")
FEND
結果
プレーンテキスト
1
使用関数

この記事は役に立ちましたか?

はい
いいえ
ご協力ありがとうございます。