[Top Page][All Pages][Recent Changes]

Edit History:Diff

Changes of CABファイルを作る。 between Epoch and 2008/02/01 22:22:20 JST

  • + added lines
  • - deleted lines

Return to the edit history

- 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
- );
- 
- }}}