- 構文(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
プログラム実行例
指定した文字列のモールス信号を鳴らす
使用関数
指定した周波数の音を出します
440Hzを1000ミリ秒再生します。
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
使用関数
この記事は役に立ちましたか?
ご協力ありがとうございます。