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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.