PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
22857 | 06/11/29 20:31:42 | RE(4):PB7.0: api関数(mciSendString)について By ada0915 |
22856 | 06/11/29 20:29:13 | RE(3):PB7.0: api関数(mciSendString)について By ada0915 |
22855 | 06/11/28 22:11:13 | RE(2):PB7.0: api関数(mciSendString)について By めめ |
22854 | 06/11/27 09:43:02 | RE(1):PB7.0: api関数(mciSendString)について By 梶 |
22853 | 06/11/25 22:02:05 | PB7.0: api関数(mciSendString)について By ada0915 |
カテゴリ:スクリプトの記述
日付:2006年11月25日 22:02 発信者:ada0915
題名:PB7.0: api関数(mciSendString)について
PBでWAVEファイル(音声ファイル)をコントロールしたいと思いまして、mciSendStringというAPI関数をみ
つけ、また、WEBでVisualBasicについて説明をみつけてためしたところ、うまくいきません。
(以下、st_1.textに値が返ってきません)
PBでの記述に何か問題があるかと思いますが・・・どなたかご教授をよろしくお願いします。
【VisualBasicのスクリプト】
Private Declare Function mciSendString Lib \"winmm.dll\" Alias \"mciSendStringA\" (ByVal lpstrCommand
As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As
Long) As Long
\'■ファイルの長さを秒単位で返す。
Private Function GetLength(FileName As String) As Double
Dim RetBuffer As String * 20
Dim MCICommandString As String
MCICommandString = \"status \"\"\" & FileName & \"\"\" length\"
Call mciSendString(MCICommandString, RetBuffer, Len(RetBuffer), 0)
GetLength = Val(RetBuffer) / 1000
End Function
【PBでの私のスクリプト】
//API関数の宣言
Function long mciSendStringA(string lpstrCommand,string lpstrReturnString,long uReturnLength,long
hwndCallback) Library \"winmm.dll\"
//以下クリックコマンド
string RetBuffer
retbuffer = Space(20)
string MCICommandString
string str_Filename
str_Filename = \"E:\\FILENAME.WAV\" //ファイル名
MCICommandString = \'status \' + str_Filename + \'length\'
mciSendStringA(MCICommandString,RetBuffer,Len(RetBuffer), 0)
st_1.text = string(double(RetBuffer)/1000) //←値が返ってこない
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.