ファイルのダウンロード <TOP>
DoFileDownload ファイルのダウンロードを呼び出す
MultiByteToWideChar ファイルのダウンロード
'================================================================ '= ファイルのダウンロード '= (DoFileDownload.bas) '================================================================ #include "Windows.bi" ' ファイルのダウンロード Declare Function Api_DoFileDownload& Lib "shdocvw" Alias "DoFileDownload" (ByVal lpszFile$) ' ANSI文字列をUnicode文字列に変換 Declare Function Api_MultiByteToWideChar& Lib "Kernel32" Alias "MultiByteToWideChar" (ByVal CodePage&, ByVal dwFlags&, ByVal lpMultiByteStr$, ByVal cchMultiByte&, ByVal lpWideCharStr$, ByVal cchWideChar&) #define CP_ACP 0 'ANSIコードページ #define CP_MACCP 2 'Macintoshコードページ #define CP_OEMCP 1 'OEMコードページ #define CP_SYMBOL 42 'シンボルコードページ(Windows2000・XP) #define CP_THREAD_ACP 3 '呼び出しスレッドのANSIコードページ(Windows2000・XP) #define CP_UTF7 65000 'UTF-7を使用して変換(Windows98・Me・NT4.0以降) #define CP_UTF8 65001 'UTF-8を使用して変換(Windows98・Me・NT4.0以降)これを指定した場合、dwFlagsパラメータは0 Var Shared Edit1 As Object Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var Buff As String '元の文字列 Var wBuff As String '変換先文字列 Var wBufflen As Long '変換先文字数 Var Ret As Long Buff = String$(256, Chr$(0)) Buff = Edit1.GetWindowText wBuff = String$(256, Chr$(0)) '必要なバッファサイズを取得 wBufflen = Api_MultiByteToWideChar(CP_ACP, 0, Buff, -1, wBuff, 0) Ret = Api_MultiByteToWideChar(CP_ACP, 0, Buff, -1, wBuff, wBufflen) wBuff = Left$(wBuff, (wBufflen - 1) * 2) Ret = Api_DoFileDownload(wBuff) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End