More ... | 編集履歴:差分記録開始以来のCABファイルを作る。の変更箇所
- IMakeCab Interface を使ってCABファイルを作ってみる。 - - - [[$$toc]] - - →[[HSP3・サンプルスクリプト]]に戻る - - ---- - - HSP3.1β3 XPsp2 で動作確認 (3.0a以降です。)~% - '''WIN2000''' と '''XP''' で使えるそうです。~% - - * スクリプト - {{{ - ; <<<< HSP 3.1β3 サンプル >>>> - ; - ; CABファイルを作る。 - ; - - onexit gosub *exit - - #define VT_EMPTY $00000000 - #define VT_NULL $00000001 - #define VT_BOOL $0000000B - #define VT_BSTR $00000008 - #define VT_I2 $00000002 - - dimtype var ,vartype("variant"),1 - dimtype var1,vartype("variant"),1 - dimtype var2,vartype("variant"),1 - - var("value")="d:\\test.cab" - - ;バリアントの型をそれぞれ変換。 - var1("vt")=VT_EMPTY - var2("vt")=VT_BOOL - - newcom CAB,"MakeCab.MakeCab.1" - - ;この例では「D:\」に「test.cab」を作る。 - CAB->"CreateCab" "d:\\test.cab",var1,var1,var2 - - ;又は - ;CAB->"CreateCab" var,var1,var1,var2 - - ;これでもいい? - ;CAB->"CreateCab" "d:\\test.cab",0,0,var2 - - ;repeatを有効にして試してみてください。 - ;repeat 3 - - dialog "txt",16 - if stat=0{ gosub *exit } - - path=refstr - name=getpath(path,8) - wait 4 - - ;AddFile "パス","名前" - ;CAB->"AddFile" path,name - - ;AddFile "パス","パス" - CAB->"AddFile" path,path - - ;loop - - CAB->"CloseCab" - - delcom CAB : CAB=0 - - dialog "終了" - - stop - - *exit - CAB=0 - end - - }}} - * memo~% - CABファイルですょ。~% - - {{{ - IMakeCab Methods in VTable Order - - #define IMakeCab_QueryInterface 0 - #define IMakeCab_AddRef 1 - #define IMakeCab_Release 2 - #define IMakeCab_GetTypeInfoCount 3 - #define IMakeCab_GetTypeInfo 4 - #define IMakeCab_GetIDsOfNames 5 - #define IMakeCab_Invoke 6 - #define IMakeCab_CreateCab 7 - #define IMakeCab_AddFile 8 - #define IMakeCab_CloseCab 9 - #define IMakeCab_CopyFile 10 - - - }}} - ~% - {{{ - - IMakeCab Interface - - void CreateCab( - [in] VARIANT CabFileName, - [in] VARIANT MakeSignable, - [in] VARIANT ExtraSpace, - [in] VARIANT Use10Format - ); - - void AddFile( - [in] VARIANT FileName, - [in] VARIANT FileNameInCab - ); - - void CloseCab(); - - void CopyFile( - [in] VARIANT CabName, - [in] VARIANT FileNameInCab - ); - - }}} |