X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=_src%2F_vbslib%20manual.files%2Fvbslib.files%2Fvbslib_40.html;fp=_src%2F_vbslib%20manual.files%2Fvbslib.files%2Fvbslib_40.html;h=91be5ccff392c797a4449ff2f31c099b7b30c965;hb=789b8160859f55b0be4b16cb2a92639ae41d3b51;hp=65c22c59f3be94cd2d1ccae32220e0ab3fb8fcc6;hpb=b3a835050ab0797a5a3d94ba4e3b6a30670622ae;p=vbslib%2Fmain.git diff --git a/_src/_vbslib manual.files/vbslib.files/vbslib_40.html b/_src/_vbslib manual.files/vbslib.files/vbslib_40.html index 65c22c5..91be5cc 100644 --- a/_src/_vbslib manual.files/vbslib.files/vbslib_40.html +++ b/_src/_vbslib manual.files/vbslib.files/vbslib_40.html @@ -87,1337 +87,1486 @@ function out( text ){ text.style.display = "none"; } - + -© -¥ -£ +© +¥ +£
ª
- - - -
-V‹K‚ɃGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B
- - -
-–¢’m‚̃Gƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B
- - - -
-Finally ƒuƒƒbƒN‚ÉŽ—‚½‹Lq‚ð‚·‚é
-
-[ ƒeƒXƒg ]
- - - - -
-ŠÖ˜A
-
+ + + +
+s“ª‚Ì‹ó”’•¶Žš‚ðƒ^ƒu•¶Žš‚É•ÏŠ·‚µ‚Ü‚·
+
ƒeƒXƒg
-
-¨ T_Err2 ƒtƒHƒ‹ƒ_
-
-¨ [T_Err2] Err2 ƒIƒuƒWƒFƒNƒg‚̃eƒXƒg
- -
-Œx‚ð•\Ž¦‚µ‚ăvƒƒZƒX‚ðI—¹‚µ‚Ü‚·B
- - - - - - +
+¨ T_ChangeTabSpace ƒtƒHƒ‹ƒ_
+ + + +
+s“ª‚̃^ƒu•¶Žš‚ð‹ó”’•¶Žš‚É•ÏŠ·‚µ‚Ü‚·
+
+s“ªˆÈŠO‚Ì‹ó”’•¶Žš‚ðƒ^ƒu•¶Žš‚É•ÏŠ·‚µ‚Ü‚·
+
+s“ªˆÈŠO‚̃^ƒu•¶Žš‚ð‹ó”’•¶Žš‚É•ÏŠ·‚µ‚Ü‚·
+ + + + + - + -© -¥ -£ - - - -
-    Dim  e  ' as Err2
-    If TryStart(e) Then  On Error Resume Next
-        ...
-    If TryEnd Then  On Error GoTo 0
-    If e.num = E_FileNotExist  Then ... : e.Clear
-    If e.num <> 0 Then  e.Raise
- -
-ŠÖ˜A
- - - - -
-    Dim  e  ' as Err2
-    If TryStart(e) Then  On Error Resume Next
-    If Trying Then  ...
-    If Trying Then  ...
-    If TryEnd Then  On Error GoTo 0
-    If e.num = E_FileNotExist  Then ... : e.Clear
-    If e.num <> 0 Then  e.Raise
-
-Try ƒuƒƒbƒN‚Ì’†‚ªA1s‚¾‚¯‚Ì‚Æ‚«
-
-Try ƒuƒƒbƒN‚Ì’†‚ªA•¡”s‚Ì‚Æ‚«
- - - - - -
-Trying ‚́A–ˆs‹Lq‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
-ƒGƒ‰[‚ª”­¶‚µ‚Ä‚àATryStart`TryEnd ‚ÌŠÔ‚Å‘±‚«‚ðŽÀs‚·‚éê‡‚́A
-Trying ‚Í•s—v‚Å‚·B
- -
-TryStart ‚ðŽg‚¤‚ƁAƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚ŁAƒuƒŒ[ƒN‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- - - - - - -
-E_FileNotExist
-
-E_FileNotExist
-
-ƒuƒŒ[ƒN‚³‚¹‚é‚Æ‚«‚́AErr2::BreakErrID ‚ðÝ’肵‚Ä‚­‚¾‚³‚¢B
-
-On Error Resume Next ‚ðŒÄ‚яo‚µ‚½‚çƒuƒŒ[ƒN‚µ‚È‚­‚È‚é‚̂ŁATryStart ‚ªA
-On Error Resume Next ‚ðŒÄ‚яo‚·‚ׂ«‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B
-
-ƒTƒ“ƒvƒ‹
-
-¨ _err2_test.lzh
-
-Try ƒuƒƒbƒN‚Ì’†‚Å”­¶‚µ‚½ƒGƒ‰[‚ŃuƒŒ[ƒN‚³‚¹‚é‚Æ‚«
- -
-    If g_count_up(1)=0 Then  Stop '// watch-> g_count [TODO]
-    echo "g_count(1)=" & g_count(1)
-    If g_count(1) < 99 Then
-        If TryStart(e) Then  On Error Resume Next
-    End If
- -
-ŽQl
- -
-ŠÖ˜A
-
-ƒGƒ‰[‚ðƒLƒ…[‚É‚½‚ß‚é
-
-¨ EnqueueAndClear (Err2)
-
-ƒNƒŠƒA‚µ‚½ƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚𒲂ׂé‚Æ‚«‚́AƒNƒŠƒA‚·‚é‘ã‚í‚è‚É
-Err2::Raise ‚µ‚Ä‚­‚¾‚³‚¢B
- - - - - +© +¥ +£ + + + +
+Sub  ChangeHeadSpaceToTab( ReadStream as TextStream, WriteStream as TextStream,
+                           TabSize as integer )
+
+s“ª‚Ì‹ó”’•¶Žš‚ðƒ^ƒu•¶Žš‚É•ÏŠ·‚µ‚Ü‚·B
+
+yˆø”z
+
+ReadStream
+
+WriteStream
+
+•ÏŠ·‘O‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€
+
+•ÏŠ·Œã‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€
+
+TabSize
+
+‚P‚‚̃^ƒu•¶Žš‚ ‚½‚è‚Ì‹ó”’•¶Žš‚̐”
+
+ToolsLib.vbs (src)
+ + + + + + +
- + -© -¥ -£ - - - -
-  Public  Number       ' Err.Number
-  Public  num          ' Err.Number
-  Public  Description  ' Err.Description (Error Message)
-  Public  desc         ' Err.Description (Error Message)
-  Public  Source       ' Err.Source
-  Public  ErrID        ' count of (num <> 0) in each first Copy after Clear
-  Public  RaiseID      ' count of (num <> 0) in Copy
-  Public  BreakErrID   ' as integer
-  Public  BreakRaiseID ' as integer
-
-(src)
- -
-Dim  g_Err2 as Err2
-
-ƒƒ“ƒoŠÖ”
- - - - -
-err ƒIƒuƒWƒFƒNƒg‚Ì“à—e‚ðƒRƒs[‚µ‚Ü‚·B
-
-“¯‚¶“à—e‚̃Gƒ‰[‚ðÄ“x”­¶‚³‚¹‚éB
-
-ƒGƒ‰[‚Ì“à—e‚ð•Ï‚¦‚āAÄ“xƒGƒ‰[‚𔭐¶‚³‚¹‚éB
-
-ƒGƒ‰[‚ðƒNƒŠƒA‚·‚éB
-
-TryStart ‚ðŒÄ‚яo‚·‚ƁAErr2 ƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚Å‚«‚Ü‚·B
-‚Ü‚½Ag_Err2 ƒOƒ[ƒoƒ‹•Ï”‚©‚çƒAƒNƒZƒX‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
-
-ƒƒ“ƒo•Ï”
- - -
-ŠÖ˜A
- -
-ƒeƒXƒg
-
-¨ T_Err2 ƒtƒHƒ‹ƒ_
-
-¨ [T_Err2] Err2 ƒIƒuƒWƒFƒNƒg‚̃eƒXƒg
-
-‘¼‚É‚à‚ ‚è‚Ü‚·B
+© +¥ +£ + + + +
+Sub  ChangeHeadTabToSpace( ReadStream as TextStream, WriteStream as TextStream,
+                           TabSize as integer )
+
+s“ª‚̃^ƒu•¶Žš‚ð‹ó”’•¶Žš‚É•ÏŠ·‚µ‚Ü‚·B
+
+yˆø”z
+
+ReadStream
+
+WriteStream
+
+•ÏŠ·‘O‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€
+
+•ÏŠ·Œã‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€
+
+TabSize
+
+‚P‚‚̃^ƒu•¶Žš‚ ‚½‚è‚Ì‹ó”’•¶Žš‚̐”
+
+ToolsLib.vbs (src)
+ + +
+ƒTƒ“ƒvƒ‹
+ +
+Set rep = StartReplace( "in\sample.c", "out\sample.c", True )
+ChangeHeadTabToSpace  rep.r,  rep.w,  4
+rep.Finish
- - - - + + + +
- + -© -¥ -£ - - - - -
-Property Get  Err2::Number() as integer
-
-ƒGƒ‰[ƒR[ƒhB
- -
-Property Get  Err2::num() as integer
- -
-ƒGƒ‰[ó‘Ô‚Å‚È‚¯‚ê‚΁A0 ‚É‚È‚è‚Ü‚·B
- - - - - +© +¥ +£ + + + +
+Sub  ChangeMiddleSpaceToTab( ReadStream as TextStream, WriteStream as TextStream,
+                             TabSize as integer )
+
+s“ªˆÈŠO‚Ì‹ó”’•¶Žš‚ðƒ^ƒu•¶Žš‚É•ÏŠ·‚µ‚Ü‚·B
+
+yˆø”z
+
+ReadStream
+
+WriteStream
+
+•ÏŠ·‘O‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€
+
+•ÏŠ·Œã‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€
+
+TabSize
+
+‚P‚‚̃^ƒu•¶Žš‚ ‚½‚è‚Ì‹ó”’•¶Žš‚̐”
+
+ToolsLib.vbs (src)
+ + + + + + +
- + -© -¥ -£ - - - - -
-Property Get  Err2::Description() as string
-
-ƒGƒ‰[EƒƒbƒZ[ƒWB
- -
-Property Get  Err2::desc() as string
- - - - - - +© +¥ +£ + + + +
+Sub  ChangeMiddleTabToSpace( ReadStream as TextStream, WriteStream as TextStream,
+                             TabSize as integer )
+
+s“ªˆÈŠO‚̃^ƒu•¶Žš‚ð‹ó”’•¶Žš‚É•ÏŠ·‚µ‚Ü‚·B
+
+yˆø”z
+
+ReadStream
+
+WriteStream
+
+•ÏŠ·‘O‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€
+
+•ÏŠ·Œã‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€
+
+TabSize
+
+‚P‚‚̃^ƒu•¶Žš‚ ‚½‚è‚Ì‹ó”’•¶Žš‚̐”
+
+ToolsLib.vbs (src)
+ + + + + + +
- + -© -¥ -£ - - - -
-Property Get  Err2::ErrStr() as string
-
-XMLŒ`Ž®‚̃Gƒ‰[ƒƒbƒZ[ƒWB
-
-ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì—áF
- -
-<ERROR err_number='500' err_description='‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB'/>
- -
+© +¥ +£ + + + +
+Sub  SetBreakByFName( in_Path as string )
+
+Žw’肵‚½–¼‘O‚̃tƒ@ƒCƒ‹‚ðƒ‰ƒCƒg‚·‚é‚Æ‚«‚ɃuƒŒ[ƒN‚³‚¹‚Ü‚·B
+
+yˆø”z
+
+in_Path
+
+ƒuƒŒ[ƒN‚·‚éƒtƒ@ƒCƒ‹–¼
+
+g_debug † 1 ‚Ì‚Æ‚«‚¾‚¯ƒuƒŒ[ƒN‚µ‚Ü‚·B
+vbslib ‚̊֐”icopyAdelAOpenForWrite ‚Ȃǁj‚Å‚Í‚È‚¢ig_fs.CopyFile ‚ȂǁjŠÖ”‚É‚æ‚Á‚Ä
+ƒ‰ƒCƒg‚µ‚½‚Æ‚«‚̓uƒŒ[ƒN‚µ‚Ü‚¹‚ñB
+
+¨ T_Debug ƒtƒHƒ‹ƒ_
+
+ƒeƒXƒg
+ +
+SetBreakByFName  "Out.txt"  '// TODO:
+ +
ŠÖ˜A
- + + +
+Sub  SetBreakByPath( in_Path as string, in_Count as integer )
+
+in_Count
+
+‰½‰ñ–ڂ̃‰ƒCƒg‚ŃuƒŒ[ƒN‚·‚é‚©B Empty = –ˆ‰ñ
+
+ƒTƒ“ƒvƒ‹
+
+ƒ\[ƒX
+
+¨ vbslib.vbs
- - - - + + + + - + -© -¥ -£ - - - -
-Function  Err2::GetErrStr() as string
-
-•W€Œ`Ž®‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ð•Ô‚·B
-
+© +¥ +£ + + +
(src)
-
-ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì—áF
- -
-<ERROR err_number='500' err_description='‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB'/>
- -
-ŠÖ˜A
-
-”pŽ~‚³‚ê‚Ü‚µ‚½
- - - - - - - - - - - -© -¥ -£ - - - -
-Property Get  Err2::DebugHint() as string
-
-ƒGƒ‰[‚Ì“à—e‚ƃfƒoƒbƒO‚̃qƒ“ƒgB
-
-ƒTƒ“ƒvƒ‹F
- -
-  If TryStart(e) Then  On Error Resume Next
-    ...
-  If TryEnd Then  On Error GoTo 0
-  If e.num <> 0 Then  echo  e.DebugHint : e.Clear
-
-ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì—áF
- -
-‰º‹L‚̃tƒ@ƒCƒ‹‚ðƒeƒLƒXƒgƒGƒfƒBƒ^‚ÅŠJ‚¢‚ÄŽŸ‚̂悤‚ɕϐ”‚Ì’l‚ðC³‚·‚é‚ƁA
-ƒfƒoƒbƒK‚ɐڑ±‚µ‚Ä–â‘肪‚ ‚éêŠ‚Å’âŽ~‚µ‚Ü‚·B
-"T_Err2_Clear.vbs"
-------------------------------------------------------------------
-g_debug = 2
-------------------------------------------------------------------
-<ERROR err_number='500' err_description='‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB'/>
- -
+ +
+Function  IsWriteAccessDenied( ErrNumber as integer, Path as string,
+                            FolderOrFile as bitfield, in_out_nRetry as integer )
+
+•‰‰×‚ª‚‚¢‚Æ‚«‚É”­¶‚·‚鏑‚«ž‚Ý‹‘”ÛƒGƒ‰[‚ɑΏˆ‚µ‚Ü‚·B
+
+yˆø”z
+
+ErrNumber
+
+ƒ`ƒFƒbƒN‚·‚éƒGƒ‰[ƒR[ƒh
+
+•Ô‚è’l
+
+‘‚«ž‚Ý‹‘”ÛƒGƒ‰[‚ª”­¶‚µ‚½‚©‚Ç‚¤‚©
+ +
+<WARNING msg="‘‚«ž‚Ý‚Å‚«‚Ü‚¹‚ñB" msg2="ÄŽŽs‚µ‚Ä‚¢‚Ü‚·" retry_count="1"
+ path="C:\folder\file.txt"/>
+
+VBScript (Windows) ‚ł́Aƒtƒ@ƒCƒ‹‚ªƒƒbƒN‚³‚ꂽ‚Æ‚«‚¾‚¯‚Å‚È‚­AƒfƒBƒXƒNEƒAƒNƒZƒX‚Ì•‰‰×‚ª
+‚‚­‚È‚é‚ƁA‘‚«ž‚Ý‹‘”ÛƒGƒ‰[(ƒGƒ‰[ƒR[ƒh 70)‚ª”­¶‚µ‚Ü‚·B ‚±‚̃Gƒ‰[‚ɑΏˆ‚µ‚È‚¢‚ƁA
+ƒXƒNƒŠƒvƒg‚É‚æ‚鎩“®ŽÀs‚ª’†’f‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·B IsWriteAccessDenied ‚́A‘‚«ž‚Ý‹‘”Û
+ƒGƒ‰[‚É‚æ‚Á‚ăXƒNƒŠƒvƒg‚ª’†’f‚³‚ê‚È‚¢‚悤‚ɁAÄŽŽs‚·‚éƒXƒNƒŠƒvƒg‚Ì‹Lq‚ð•â•‚µ‚Ü‚·B
+
+ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg(cscript.exe)‚Å“®‚­ vbslib ‚ŁA‘‚«ž‚Ý‹‘”ÛƒGƒ‰[‚ª”­¶‚µ‚½‚çA
+ŽŸ‚ÌŒx‚ð•\Ž¦‚µ‚āAƒOƒ[ƒoƒ‹•Ï” g_FileSystemRetryMSec ‚ÉŽw’肵‚½ŽžŠÔiƒ~ƒŠ•bj
+i’ʏí4•bj‚¾‚¯ Sleep ‚µ‚Ü‚·B ƒOƒ[ƒoƒ‹•Ï” g_FileSystemMaxRetryMSec ‚ÉŽw’肵‚½
+ŽžŠÔiƒ~ƒŠ•bji’ʏí60•bj‚¾‚¯ÄŽŽs‚µ‚½‚çA‘‚«ž‚Ý‹‘”ÛƒGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B
+ÄŽŽs‚́AIsWriteAccessDenied ‚Ì“à•”‚ł͍s‚¢‚Ü‚¹‚ñB ŽQlF‰º‹LƒTƒ“ƒvƒ‹B
+
+ƒEƒBƒ“ƒhƒE(wscript.exe)‚Å“®‚­ vbslib ‚ŁA‘‚«ž‚Ý‹‘”ÛƒGƒ‰[‚ª”­¶‚µ‚½‚çAŽŸ‚ÌŒx‚ð
+•\Ž¦‚µ‚Ä [ ÄŽŽs ] ‚© [ ƒLƒƒƒ“ƒZƒ‹ ] ‚ð‘I‚ÔƒƒbƒZ[ƒWƒ{ƒbƒNƒX‚ª•\Ž¦‚³‚ê‚Ü‚·B
+ƒ†[ƒU[‚ª“ü—Í‚·‚é‚Ü‚ÅŽ©“®ŽÀs‚͈ꎞ’âŽ~‚µ‚Ü‚·B
+ +
+‘‚«ž‚Ý‚Å‚«‚Ü‚¹‚ñB
+  [ÄŽŽs] [ƒLƒƒƒ“ƒZƒ‹]
+
+ƒAƒNƒZƒX‚µ‚½ƒpƒX
+
+i“üo—́j ÄŽŽs‰ñ”
+
+Path
+
+in_out_nRetry
+ +
+  Dim  f, path, n_retry, en, ed
+
+  n_retry = 0
+  Do
+    On Error Resume Next
+      Set f = g_fs.CreateTextFile( path )
+    en = Err.Number : ed = Err.Description : On Error GoTo 0
+    If not IsWriteAccessDenied( en, path, F_File, n_retry ) Then  Exit Do
+  Loop
+  If en <> 0 Then  Err.Raise en,,ed
+
+ƒTƒ“ƒvƒ‹F ‚•‰‰×ó‘Ô‚Å‚àŽg‚¦‚é CreateTextFile
+
+path
+
+path
+
+ÄŽŽsƒ†[ƒU[ƒCƒ“ƒ^[ƒtƒF[ƒX
+ +
+ŽQl
+
+FolderOrFile
+
+F_File ‚Ü‚½‚Í F_Folder ‚Ü‚½‚Í F_File or F_Folder
+
ƒeƒXƒg
-
-¨ T_InputCommand.vbs # T_InputCommand_ForgetClear
- - - - - +
+¨ T_Replace_target.vbs # T_FromLock
+
+¨ T_Copy.vbs # T_CopyLocked
+
+¨ T_File.vbs # T_OverwriteFolderFile
+
+ƒL[ƒ[ƒhF
+ + +
+‘‚«ž‚Ý‹‘”ÛƒGƒ‰[(ƒGƒ‰[ƒR[ƒh 70)‚ª”­¶‚·‚é‰Â”\«‚ª‚ ‚é‚à‚Ì‚Ì—á
+
+g_fs.CopyFile, g_fs.CopyFolder, g_fs.MoveFile, g_fs.MoveFolder
+g_fs.DeleteFolder, g_fs.CreateFolder
+g_fs.CreateTextFile, g_fs.OpenTextFile
+File::Name ‚Ö‚Ì‘ã“ü‚É‚æ‚é‰ü–¼, ADODBStream::SaveToFile
+
+vbslib ‚ª’ñ‹Ÿ‚·‚éƒtƒ@ƒCƒ‹‘€ì‹@”\‚́A‘‚«ž‚Ý‹‘”ÛƒGƒ‰[‚ª”­¶‚µ‚È‚¢‚悤‚ɑΏˆ‚³‚ê‚Ä
+‚¢‚邽‚߁AIsWriteAccessDenied ‚ðŒÄ‚яo‚·•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+ +
+¨ T_File_w_Manually.vbs
+
+¨ T_File_c_Manually.vbs
+ + + + + - + -© -¥ -£ - - - -
-Function  Err2::Value() as string
-
-ƒGƒ‰[‚Ì“à—e‚𕶎š—ñŒ^‚Å•Ô‚µ‚Ü‚·B
-
-(src)
-
-”pŽ~‚³‚ê‚Ü‚µ‚½
- +© +¥ +£ + + + +
+SetReadOnlyAttribute  "C:\Folder", False
+
+Žw’è‚̃tƒ@ƒCƒ‹A‚Ü‚½‚́AŽw’è‚̃tƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é‚·‚ׂẴtƒ@ƒCƒ‹‚́A“Ç‚ÝŽæ‚èê—p‘®«‚ð•ÏX‚µ‚Ü‚·B
+
+yˆø”z
+
+in_Path
+
+“Ç‚ÝŽæ‚èê—p‘®«‚ð•ÏX‚·‚éƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚̃tƒHƒ‹ƒ_[‚̃pƒX
+
+ƒTƒ“ƒvƒ‹
+ +
+Sub  SetReadOnlyAttribute( in_Path as string or Folder or File,  in_IsReadOnly )
+
+“Ç‚ÝŽæ‚èê—p‘®«‚ð•ÏX‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX
+ + +
+“Ç‚ÝŽæ‚èê—p‘®«‚ð•ÏX‚·‚éƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚Ì
+
+“Ç‚ÝŽæ‚èê—p‘®«‚ð•ÏX‚·‚é
+
+ƒ\[ƒX
+
+¨ vbslib.vbs
+
+ŠÖ˜A
+ + +
+ƒeƒXƒg
+
+¨ T_File.vbs
+
+T_GetReadOnlyList
- - - - + + + +
- + -© -¥ -£ - - - -
-Sub  Err2::Copy( err as Err )
-
-err ƒIƒuƒWƒFƒNƒg‚Ì“à—e‚ðƒRƒs[‚µ‚Ü‚·B
-
-(src)
- - - - - +© +¥ +£ + + + +
+SetFilesToReadOnly  "C:\Folder"
+ +
+Sub  SetFilesToReadOnly( in_Folder as string or Folder )
+
+ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é‚·‚ׂẴtƒ@ƒCƒ‹‚ðA“Ç‚ÝŽæ‚èê—p‚É‚µ‚Ü‚·B
+
+yˆø”z
+
+in_Folder
+
+“Ç‚ÝŽæ‚èê—p‚ɐݒ肷‚éƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚Ì
+
+ŠÖ˜A
+
+ƒTƒ“ƒvƒ‹
+
+ƒ\[ƒX
+ +
+¨ vbslib.vbs
+ + + + + + +
+’ˆÓ
+
+‚±‚ÌŽd—l‚͍폜‚³‚ê‚é—\’è‚Å‚·B ‘ã‚í‚è
+ + + + +
- + -© -¥ -£ - - - -
-Sub  Err2::Raise()
-
-“¯‚¶“à—e‚̃Gƒ‰[‚ðÄ“x”­¶‚³‚¹‚éB
-
-(src)
- - - - - +© +¥ +£ + + + +
+SetFilesToNotReadOnly  "C:\Folder"
+ +
+Sub  SetFilesToNotReadOnly( in_Folder as string or Folder )
+
+ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é‚·‚ׂẴtƒ@ƒCƒ‹‚ðA“Ç‚ÝŽæ‚èê—p‚Å‚Í‚È‚­‚µ‚Ü‚·B
+
+yˆø”z
+
+in_Folder
+
+“Ç‚ÝŽæ‚èê—p‚ð‰ðœ‚·‚éƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚Ì
+
+ŠÖ˜A
+
+ƒTƒ“ƒvƒ‹
+
+ƒ\[ƒX
+
+¨ vbslib.vbs
+ + + +
+’ˆÓ
+
+‚±‚ÌŽd—l‚͍폜‚³‚ê‚é—\’è‚Å‚·B ‘ã‚í‚è
+ + + + +
- + -© -¥ -£ - - - -
-Sub  Err2::OverRaise( e_num as integer, e_desc as string )
-
-ƒGƒ‰[‚Ì“à—e‚ð•Ï‚¦‚āAÄ“xƒGƒ‰[‚𔭐¶‚³‚¹‚éB
-
-(src)
- - - - - +© +¥ +£ + + + +
+SetFileToReadOnly  "C:\Folder\File.txt"
+ +
+Sub  SetFileToReadOnly( in_File as string or File )
+
+ƒtƒ@ƒCƒ‹‚ð“Ç‚ÝŽæ‚èê—p‚É‚µ‚Ü‚·B
+
+yˆø”z
+
+in_File
+
+“Ç‚ÝŽæ‚èê—p‚ɐݒ肷‚é
+
+ŠÖ˜A
+
+ƒTƒ“ƒvƒ‹
+
+ƒ\[ƒX
+
+¨ vbslib.vbs
+ + + + +
+’ˆÓ
+
+‚±‚ÌŽd—l‚͍폜‚³‚ê‚é—\’è‚Å‚·B ‘ã‚í‚è
+ + + + +
- + -© -¥ -£ - - - -
-Sub  Err2::Clear()
-
-ƒGƒ‰[‚ðƒNƒŠƒA‚·‚éB
-
-ƒGƒ‰[ˆ—‚ªI‚í‚Á‚½‚±‚Æ‚ðŽ¦‚·‚½‚߁Aƒƒ“ƒo•Ï”‚ðƒŠƒZƒbƒg‚µ‚Ü‚·B
- -
-num = 0 : Description = "" : RaiseID = 0
-
-(src)
- -
+© +¥ +£ + + + +
+SetFileToNotReadOnly  "C:\Folder\File.txt"
+ +
+Sub  SetFileToNotReadOnly( in_File as string or File )
+
+ƒtƒ@ƒCƒ‹‚ð“Ç‚ÝŽæ‚èê—p‚Å‚Í‚È‚­‚µ‚Ü‚·B
+
+yˆø”z
+
+in_File
+
+“Ç‚ÝŽæ‚èê—p‚ð‰ðœ‚·‚é
+
ŠÖ˜A
-
-ƒGƒ‰[ƒƒbƒZ[ƒW‚ðŽæ“¾‚·‚é
- -
-ƒGƒ‰[‚̏î•ñƒRƒs[‚µ‚ăNƒŠƒA‚·‚é
- - - - - +
+ƒTƒ“ƒvƒ‹
+
+ƒ\[ƒX
+
+¨ vbslib.vbs
+ + + + +
+’ˆÓ
+
+‚±‚ÌŽd—l‚͍폜‚³‚ê‚é—\’è‚Å‚·B ‘ã‚í‚è
+ + + + + - + -© -¥ -£ - - - -
-Sub  Err2::CopyAndClear( out_e2 as Err2 )
-
-ƒGƒ‰[‚̏î•ñ‚ð out_e2 ‚ɃRƒs[‚µ‚Ä‚©‚ç Err2 ‚̃Gƒ‰[‚ðƒNƒŠƒA‚µ‚Ü‚·B
- -
-ŽQl
-
-“à•”‚Å Err2 ƒIƒuƒWƒFƒNƒg‚ª¶¬‚³‚ê‚āAout_e2 ‚ÉŠi”[‚³‚ê‚Ü‚·B
-
+© +¥ +£ + + +
+ƒoƒCƒiƒŠ[Eƒtƒ@ƒCƒ‹‚̃f[ƒ^‚ðˆµ‚¢‚â‚·‚­‚·‚éƒNƒ‰ƒX‚Å‚·B
+ƒtƒ@ƒCƒ‹‚ð”z—ñ‚̂悤‚Ɉµ‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+
+ŠÖ˜A
+ + +
+    Set bin = new BinaryArray
+    bin.Size = 4
+    bin(0) = &hFF  '// low  byte of BOM
+    bin(1) = &hFE  '// high byte of BOM
+    bin(2) = &h80  '// low  byte of hiragana mu
+    bin(3) = &h30  '// high byte of hiragana mu
+    bin.Save  "unicode_sample.txt"
+
+ƒTƒ“ƒvƒ‹
+
+ƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚Öƒ‰ƒCƒgB Unicode Œ`Ž®‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹ u‚Þ(=0x3080)v ‚ðì‚é
+ +
+    Set bin = ReadBinaryFile( "unicode_sample.txt" )
+    If bin(0) = &hFF  and  bin(1) = &hFE Then
+        echo  "This is unicode file."
+    End If
+
+ƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚©‚烊[ƒhBUnicode Œ`Ž®‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚©‚Ç‚¤‚©”»’è‚·‚é
+
+ƒƒ“ƒo[
+ +
+    Set bin = new BinaryArray
+    bin.Load  "unicode_sample.txt"
+    strbin = bin.Read( Empty, Empty )
+    strbin = LeftB( strbin, 2 ) + ChrB( &h6F ) + ChrB( &h30 ) + MidB( strbin, 3 )
+    bin.Write  strbin, 0, Empty
+    bin.Save  "unicode_sample.txt"
+ +
+LeftB, MidB, RightB, LenB, AscB, ChrB ‚́A•¶Žš—ñ‘€ìŠÖ”‚̃oƒCƒiƒŠ”Å‚Å‚·B
+
+ƒtƒ@ƒCƒ‹F
+ +
+System.vbs
+
+”z—ñ‚Ì—v‘fB ”z—ñ”ԍ†B iƒfƒtƒHƒ‹ƒgEƒvƒƒpƒeƒBj
+ + + + + + + + + + + +
+”z—ñ‚Ì—v‘f”B ƒoƒCƒgEƒTƒCƒY
+
+”z—ñ‚Ì—v‘f”B ƒoƒCƒgEƒTƒCƒY
+
+”z—ñ‚Ì—v‘f”B ƒoƒCƒgEƒTƒCƒY
+
+”z—ñ‚Ì—v‘f”‚ð•ÏX‚µ‚Ü‚·B ReDim Preserve ‚Æ“¯‚¶‚Å‚·B
+
+ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðA”z—ñ‚É“ü—Í‚µ‚Ü‚·B
+
+”z—ñ‚Ì“à—e‚ðAƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚Ü‚·B
+
+”z—ñ‚Ì“à—e‚̈ꕔ‚ðAByte ”z—ñ‚É‚µ‚Ä•Ô‚µ‚Ü‚·B
+
+”z—ñ‚Ì“à—e‚̈ꕔ‚ðA•ÏX‚µ‚Ü‚·B
+
+”z—ñ‚ð‹ó‚É‚µ‚Ü‚·B ”z—ñ—v‘f”‚Í 0 ‚É‚È‚è‚Ü‚·B
+
+”z—ñ‚̍őå—v‘f”ԍ†‚ð•Ô‚µ‚Ü‚·B
+
+”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚𕶎š—ñ‚É‚µ‚Ü‚·B ƒ_ƒ“ƒv‚µ‚Ü‚·B
+
ƒeƒXƒg
-
-¨ T_Err2_Main.vbs # T_Err2_CopyAndClear
-
+
+¨ T_Binary ƒtƒHƒ‹ƒ_
+
(src)
-
-CopyAndClear ‚µ‚½Œã‚ŃGƒ‰[‚ª”­¶‚µ‚½ê‡AƒeƒXƒg‚É‚æ‚éƒGƒ‰[‚Å‚ ‚é‚Æ”»’f‚µ‚āA
-ŽŸ‚̂悤‚ȃƒbƒZ[ƒW‚ª•\Ž¦‚³‚ê‚Ü‚·B
- -
-'//ƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚ð’m‚é‚ɂ́ACopyAndClear ‚·‚é‘O‚É Raise ‚µ‚Ä‚­‚¾‚³‚¢B
-
-ŽŸ‚̂悤‚É Raise ‚·‚éƒR[ƒh‚ð’ljÁ‚µ‚Ä‚­‚¾‚³‚¢B
- -
-    '//=== Error Handling Test
-    echo  vbCRLF+"Next is Error Test"
-    If TryStart(e) Then  On Error Resume Next
-        Test                               '// ‚±‚±‚ŃGƒ‰[‚ª”­¶‚·‚é
-    If TryEnd Then  On Error GoTo 0
-e.Raise                                    '// ‚±‚ê‚ð’ljÁ‚·‚é
-    e.CopyAndClear  e2  '//[out] e2
-    Assert  e2.num <> 0                    '// ƒeƒXƒg‚É‚æ‚éƒGƒ‰[‚ª”­¶‚µ‚½êŠ
- - - - - + + + +
+”z—ñ‚Ì“à—e‚̈ꕔ‚ðA\‘¢‰»‚µ‚½Ž«‘‚ðŽæ“¾‚µ‚Ü‚·B
+
+\‘¢‰»‚µ‚½”z—ñ‚ðŽg‚Á‚āAƒoƒCƒiƒŠ”z—ñ‚Ì“à—e‚̈ꕔ‚Ƀ‰ƒCƒg‚µ‚Ü‚·B
+ +
+    Dim  bin, out, size
+    bin.Write  &h10, Empty, Array( &h12, &h34, &h56, &h78, &h9A, &hBC, &hDE )
+    size = bin.ReadStruct( &h10, out, Array( "a", vbByte,  "b", vbInteger+vbArray, 3 ) )
+    '// out("a")    = &h12
+    '// out("b")(0) = &h5634
+    '// out("b")(1) = &h9A78
+    '// out("b")(2) = &hDEBC
+
+ƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚ð\‘¢‰»‚µ‚㊁[ƒh‚·‚é
+ + + + + + + + +
+.WriteFromBinaryArray
+
+”z—ñ‚Ì“à—e‚̈ꕔ‚ðƒRƒs[‚µ‚Ü‚·B
+ + +
+    Set bin = new_BinaryArray( Array( &h42, &h4D ) )
+
+ƒoƒCƒiƒŠ[ƒf[ƒ^‚ðì¬‚·‚é
+
+ŠÖ˜A
+ + + + + +
+    echo_v  new_BinaryArrayAsText( "Š¿Žš", Empty ).xml
+ + + + + + - + -© -¥ -£ - - - -
-Sub  Err2::EnqueueAndClear()
-
-ƒGƒ‰[‚̏î•ñ‚ð Err2 ‚Ì“à•”ƒLƒ…[‚É“ü‚ê‚Ä‚©‚ç Err2 ‚̃Gƒ‰[‚ðƒNƒŠƒA‚µ‚Ü‚·B
-
-ƒeƒXƒg
-
-¨ T_Err2_Main.vbs # T_Err2_EnqueueAndClear
-
+© +¥ +£ + + + +
+  Set bin = new_BinaryArray( Array( &h42, &h4D ) )
+ +
+Function  new_BinaryArray( IntegerArray as array of integer ) as BinaryArray
+
+ƒoƒCƒiƒŠ”z—ñ‚𐶐¬‚µ‚Ü‚·B
+
+yˆø”z
+
+IntegerArray
+
+ƒoƒCƒiƒŠ[‚Ì“à—e‚É‘Š“–‚·‚é”z—ñB ”’lŒ^‚Ü‚½‚Í
+
+•Ô‚è’l
+
+¶¬‚³‚ꂽƒoƒCƒiƒŠ”z—ñ
+
+ŠÖ˜A
+
ƒTƒ“ƒvƒ‹
- -
-  Dim  e  ' as Err2
-
-  If TryStart(e) Then  On Error Resume Next
-    Err.Raise  1,, "Error1"
-  If TryEnd Then  On Error GoTo 0
-  e.EnqueueAndClear
-
-  If not IsEmpty(e) Then  s = e.DequeueAll() : If s <> "" Then  Raise  1, s
-
-EnqueueAndClear
- -
-(src)
- - - - - - - - - - -© -¥ -£ - - - -
-Function  Err2::DequeueAll() as string
-
-Err2 ‚Ì“à•”ƒLƒ…[‚Ì“à—e‚ð•Ô‚µA“à•”ƒLƒ…[‚ð‹ó‚É‚µ‚Ü‚·B
-
-ƒeƒXƒg
-
-¨ T_Err2_Main.vbs # T_Err2_EnqueueAndClear
-
-ƒGƒ‰[‚ªƒLƒ…[‚É“ü‚Á‚Ä‚¢‚È‚¢‚Æ‚«‚́A"" ‚ð•Ô‚µ‚Ü‚·B
-
-ŽQl
- -
-(src)
- -
-<ERROR msg="Error1"/>
-<ERROR msg="Error2"/>
-
-XML ‘Ž®‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ðŽæ“¾‚µ‚½‚¢‚Æ‚«‚́Aƒ‹[ƒg—v‘fiƒ^ƒOj‚ð’ljÁ‚·‚é
-•K—v‚ª‚ ‚é‚©ŒŸ“¢‚µ‚Ä‚­‚¾‚³‚¢B
-
-ƒTƒ“ƒvƒ‹•Ô‚è’l
- - - - - +
+ƒ\[ƒX
+ +
+¨ System.vbs
+ + +
+  binary = bin_1.Read( &h10, &h28 )
+  echo_v  GetEchoStr( new_BinaryArray( binary ) )
+ + + + +
- + -© -¥ -£ - - - -
-Dim  Err2::ErrID  as integer
-
-ƒGƒ‰[‚Ì’Ê‚µ”ԍ†B
-
-ƒGƒ‰[‚ª”­¶‚µ‚ď‰‚ß‚Ä‚Ì TryEnd ‚ð’Ê‚Á‚½‚Æ‚« +1 ‚³‚ê‚Ü‚·B
-Err2::Clear ‚µ‚½Œã‚ŁAŽŸ‚̃Gƒ‰[‚ª”­¶‚·‚é‚Æ +1 ‚³‚ê‚Ü‚·B
- -
+© +¥ +£ + + + +
+Function  new_BinaryArrayFromFile( Path as string ) as BinaryArray
+
+ƒoƒCƒiƒŠEƒtƒ@ƒCƒ‹‚©‚çƒoƒCƒiƒŠ”z—ñ‚𐶐¬‚µ‚Ü‚·B
+
+yˆø”z
+
+Path
+
+ƒoƒCƒiƒŠEƒtƒ@ƒCƒ‹‚̃pƒX
+
+•Ô‚è’l
+
+¶¬‚³‚ꂽƒoƒCƒiƒŠ”z—ñ
+
+ƒ\[ƒX
+
+¨ System.vbs
+
ŠÖ˜A
- - - - - + + + + + + + - + -© -¥ -£ - - - -
-Dim  Err2::RaiseID  as integer
-
-ƒGƒ‰[‚Ì’Ê‚µ”ԍ†B
-
-ƒGƒ‰[‚ª”­¶‚µ‚Ä TryEnd ‚ð’ʂ邽‚Ñ‚É +1 ‚³‚ê‚Ü‚·B
-Err2::Clear ‚Å 0 ‚É–ß‚è‚Ü‚·B
+© +¥ +£ + + + +
+  Set bin = new_BinaryArrayFromBase64( "EjRWeA==" )
+ +
+Function  new_BinaryArrayFromBase64( Base64_Text as string ) as BinaryArray
+
+Base64 ‚ŃGƒ“ƒR[ƒh‚³‚ꂽ•¶Žš—ñ‚©‚çƒoƒCƒiƒŠ”z—ñ‚𐶐¬‚µ‚Ü‚·B
+
+yˆø”z
+
+Base64_Text
+
+Base64 ‚ŃGƒ“ƒR[ƒh‚³‚ꂽ•¶Žš—ñ
+
+•Ô‚è’l
+
+¶¬‚³‚ꂽƒoƒCƒiƒŠ”z—ñ
+
+ƒTƒ“ƒvƒ‹
+
+ƒ\[ƒX
+
+¨ System.vbs
+
+ƒeƒXƒg
+
+¨ T_Binary.vbs
+
+Test_of_Base64
+
+ŠÖ˜A
+ - - - - + + + +
- + -© -¥ -£ - - - -
-Dim  Err2::BreakErrID  as integer
-
-ƒfƒoƒbƒK‚ŃuƒŒ[ƒN‚·‚éƒGƒ‰[‚Ì’Ê‚µ”ԍ†B
-
-ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì‘O‚É g_debug ‚ðÝ’è‚·‚é‚悤‚É•\Ž¦‚³‚ê‚Ü‚·B ‚±‚̃ƒbƒZ[ƒW‚ɏ]‚Á‚āA
-ƒfƒoƒbƒK‚ð‹N“®‚·‚é‚ƁAƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚ŃuƒŒ[ƒN‚µ‚Ü‚·B
- -
-‰º‹L‚̃tƒ@ƒCƒ‹‚ðƒeƒLƒXƒgƒGƒfƒBƒ^‚ÅŠJ‚¢‚ÄŽŸ‚̂悤‚ɕϐ”‚Ì’l‚ðC³‚·‚é‚ƁA
-ƒfƒoƒbƒK‚ɐڑ±‚µ‚Ä–â‘肪‚ ‚éêŠ‚Å’âŽ~‚µ‚Ü‚·B
-"T_Err2_Clear.vbs"
-------------------------------------------------------------------
-g_debug = 2
-------------------------------------------------------------------
-<ERROR err_number='500' err_description='‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB'/>
- -
-Visual Studio 2008 ˆÈ~‚ł́AƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚©‚çƒXƒeƒbƒvŽÀs‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- -
-  '--- start of parameters for vbslib include -------------------
-  g_debug = 1.5
-
-ƒGƒ‰[‚ª”­¶‚µ‚½‚ç Err2::ErrID ‚ª{‚P‚³‚ê‚Ü‚·‚ªAErr2::ErrID = Err2::BreakErrID ‚É
-‚È‚Á‚½‚çAƒGƒ‰[‚É‚æ‚Á‚ăfƒoƒbƒK‚ŃuƒŒ[ƒN‚µ‚Ü‚·B ŽŸ‚É Err2:ErrID ‚ª{‚P‚³‚ê‚é‚̂́A
-Err2::Clear ‚µ‚½Œã‚ɃGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚Å‚·B ‚»‚ê‚Ü‚Å‚Ì Err.Raise ‚ł́AErr2:ErrID
-‚Å‚Í‚È‚­AErr2:RaiseID ‚ª{‚P‚³‚ê‚Ü‚·B
-
-‚½‚¾‚µATryStart ` TryEnd ‚ÌŠÔ‚Å‚Í‚È‚¢‚Æ‚«iOn Error Next Resume ‚ðŽÀs‚µ‚Ä‚¢‚È‚¢
-‚Æ‚«j‚ɃGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚́AErr2::BreakErrID ‚Ì’l‚É‚©‚©‚í‚炸AƒGƒ‰[‚ª”­¶‚µ‚½‚ç
-•K‚¸ƒGƒ‰[ƒuƒŒ[ƒN‚µ‚Ü‚·B
-
-ƒTƒ“ƒvƒ‹F
- -
-ŽQl
-
+© +¥ +£ + + + +
+  Set bin = new_BinaryArrayAsText( "Š¿Žš", "EUC-JP" )
+ +
+Function  new_BinaryArrayAsText( Text as string, CharacterSet as string ) as BinaryArray
+
+•¶Žš—ñ‚©‚çŽw’肵‚½•¶ŽšƒR[ƒhƒZƒbƒg‚̃oƒCƒiƒŠEƒf[ƒ^‚ðŽ‚ÂƒoƒCƒiƒŠ”z—ñ‚𐶐¬‚µ‚Ü‚·B
+
+yˆø”z
+
+Text
+
+•¶Žš—ñ
+
+CharacterSet
+
+•¶ŽšƒR[ƒhƒZƒbƒgAEmpty ‚ðŽw’è‚·‚é‚Æ "Unicode"
+
+ƒTƒ“ƒvƒ‹
+
+ƒ\[ƒX
+
+¨ System.vbs
+
+ƒeƒXƒg
+
+¨ T_Binary.vbs
+
+T_Binary_TextCharacterSet
+
ŠÖ˜A
-
-g_Err2.BreakErrID ‚ð 1.5 ‚Æ‚·‚é‚ƁAErr2::ErrID ‚ª 1 ‚Ì‚Æ‚«‚̃Gƒ‰[‚ðƒLƒƒƒbƒ`‚·‚é
-TryEnd ‚Ü‚½‚Í Trying ‚ŃuƒŒ[ƒN‚µ‚Ü‚·B
- -
-’ʏíA
-vbslib.vbs ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚½‚çAg_Err2::BreakErrID ‚ɐݒ肳‚ê‚Ü‚·B
- -
-‚́AƒGƒ‰[‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªA“à•”‚Å Err.Raise ‚ðŒÄ‚яo‚µ‚Ä‚¢‚邽‚߁A
-
-Err2:ErrID ‚ª{‚P‚³‚ê‚Ü‚·B
-
-‚ɐݒ肵‚Ä‚­‚¾‚³‚¢B
- -
-g_debug ‚ª¬‚³‚·‚¬‚é‚ƁAŒã‚Å•œ‹A‚·‚邽‚ß‚É–â‘è‚Ì–³‚¢ƒGƒ‰[‚ŃuƒŒ[ƒN‚µ‚Ü‚·B
-‚Ü‚½AƒuƒŒ[ƒN‚µ‚½‚Æ‚«‚̓Gƒ‰[•œ‹A‚ªs‚í‚ê‚È‚­‚È‚è‚Ü‚·B
-
-‚Æ‚è‚ ‚¦‚¸ƒfƒoƒbƒK‚ɐڑ±‚µ‚½‚¢‚Æ‚«‚́A\•ª‚É‘å‚«‚¢’l‚ðÝ’è‚·‚é‚©A0 ‚ɐݒ肵‚Ä
-ƒGƒ‰[ƒƒbƒZ[ƒW‚©‚ç•K—v‚È’l‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢B
- - - - - + +
+¶¬‚³‚ꂽƒoƒCƒiƒŠ”z—ñ
+
+•Ô‚è’l
+ +
+•¶ŽšƒR[ƒhƒZƒbƒgˆê——
+
+EUC-JP Œ`Ž®‚Ì•¶Žš—ñ‚ªŠi”[‚³‚ꂽƒoƒCƒiƒŠ”z—ñ‚𐶐¬‚µ‚Ü‚·B
+
+ƒTƒ“ƒvƒ‹
+
+•¶Žš—ñ‚Ì’†‚Ì‚·‚ׂĂ̕¶ŽšƒR[ƒhiUnicodej‚ð•\Ž¦‚µ‚Ü‚·B
+ +
+echo_v  new_BinaryArrayAsText( "Š¿Žš", Empty ).xml
+ +
+•¶Žš—ñ‚ªˆÙ‚È‚Á‚Ä‚¢‚½‚ç Diff ƒc[ƒ‹‚ðŠJ‚«‚Ü‚·
+
+Unicode ‚̏ꍇAƒoƒCƒiƒŠ”z—ñ‚̐擪‚É BOM (FF FE) ‚ª“ü‚è‚Ü‚·B
+ + + + + - + -© -¥ -£ - - - -
-Dim E_Others            : E_Others            = 1
-
-Dim E_TestPass          : E_TestPass          = 21
-Dim E_TestSkip          : E_TestSkip          = 22
-Dim E_TestFail          : E_TestFail          = 23
-
-Dim E_BuildFail         : E_BuildFail         = &h80041004
-Dim E_OutOfWritable     : E_OutOfWritable     = &h80041005
-Dim E_NotFoundSymbol    : E_NotFoundSymbol    = &h80041006
-Dim E_ProgRetNotZero    : E_ProgRetNotZero    = &h80041007
-Dim E_Unexpected        : E_Unexpected        = &h80041008
-Dim E_TimeOut           : E_TimeOut           = &h80041009
-
-Dim E_WIN32_FILE_NOT_FOUND: E_WIN32_FILE_NOT_FOUND = &h80070002
-Dim E_WIN32_DIRECTORY     : E_WIN32_DIRECTORY      = &h8007010B
-
-Dim E_ProgTerminated    : E_ProgTerminated    = &hC0000005
-
-Dim E_BadType           : E_BadType           = 13
-Dim E_FileNotExist      : E_FileNotExist      = 53
-Dim E_EndOfFile         : E_EndOfFile         = 62
-Dim E_WriteAccessDenied : E_WriteAccessDenied = 70
-Dim E_ReadAccessDenied  : E_ReadAccessDenied  = 70
-Dim E_PathNotFound      : E_PathNotFound      = 76
-Dim E_AlreadyExist      : E_AlreadyExist      = 58
-
+© +¥ +£ + + + +
+Default Property  BinaryArray::Item( i as integer ) as integer
+
+”z—ñ”ԍ†‚ðŽg‚Á‚āAƒoƒCƒiƒŠ”z—ñ‚Ì—v‘f‚ðŽQÆ‚µ‚Ü‚·B iƒfƒtƒHƒ‹ƒgEƒvƒƒpƒeƒBj
+
+yˆø”z
+
+i
+
+”z—ñ‚Ì—v‘f‚̔ԍ†B æ“ª‚Í 0
+ +
+Dim  bin : Set bin = new BinaryArray
+bin.Load  "a.bin"
+echo  bin(0) '// bin.Item(0) ‚Æ“¯‚¶
+bin(0) = &h30
+
+ƒTƒ“ƒvƒ‹
+
+bin(0)
+
+bin(0)
+
(src)
-
-ŠÖ˜A
- -
-¨ Windows ƒGƒ‰[ƒR[ƒh
+
+‚PƒoƒCƒg‚¸‚ƒAƒNƒZƒX‚µ‚Ü‚·B
- - - - + + + + - + -© -¥ -£ - - - -
-‚ªŒÄ‚΂ê‚È‚¢‚ŁAƒXƒNƒŠƒvƒg‚ªI—¹‚µ‚Ü‚µ‚½B
- -
-‚Ü‚½‚Í
- -
-` TryEnd ‚ŃGƒ‰[ˆ—‚·‚é‚Æ‚«‚̍Ōã‚É•K—v‚È
- -
-‚ðÝ’肵‚āAƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚ŃuƒŒ[ƒN‚µ‚āAƒR[ƒ‹ƒXƒ^ƒbƒN‚ðŽQÆ
-
-‚µ‚āATryStart ` TryEnd ‚̃Gƒ‰[ˆ—‚ɁAErr2::Clear ‚Ü‚½‚Í Err2::Raise ‚ð‹Lq‚µ‚Ä‚­‚¾‚³‚¢B
- -
-<ERROR msg="Script finished before Err2.Clear or Raise the error"
-jp="ƒGƒ‰[ˆ—‚Ì“r’†‚ŏI—¹‚µ‚Ü‚µ‚½BErr2.Clear ‚Ü‚½‚ÍÄ Raise ‚µ‚Ä‚­‚¾‚³‚¢"
-err_symbol="E_NotClear" />
-
-ƒGƒ‰[ƒƒbƒZ[ƒWF
- -
-VBScript global code (ƒƒCƒ“vbs ‚Ì vbslib include)
-
-ResumePop
-
-CallFinalizeInModules
-
-(= g_FinalizeModules(i))
-
-FinalizeModule (vbslib.vbs)
-
-Err2.OnSuccessFinish
-
-echo  GetErrStr( num, Description )
-
-0
+© +¥ +£ + + + +
+Property  BinaryArray::Size as integer
+ +
+Property  BinaryArray::Length as integer
+ +
+Property  BinaryArray::Count as integer
+
+ƒoƒCƒiƒŠ”z—ñ‚Ì—v‘f”B ƒoƒCƒgEƒTƒCƒY
+
+’l‚ðÝ’è‚·‚é‚ƁA”z—ñ‚̃TƒCƒY‚ª•Ï‰»‚µ‚Ü‚·B
+‘å‚«‚­‚È‚Á‚½•”•ª‚Ì’l‚́A0x00 ‚É‚È‚è‚Ü‚·B
+¬‚³‚­‚È‚Á‚½•”•ª‚͍폜‚³‚ê‚Ü‚·B
+ +
+Dim  bin : Set bin = new BinaryArray
+bin.Load  "a.bin"
+bin.Size = bin.Size + 1
+bin.Save  "a_plus1.bin"
+
+ƒTƒ“ƒvƒ‹
+
+Size
+
+Size
- - - - + + + +
- + -© -¥ -£ - - - -
-<ERROR msg="Out of Diff"
-src=
- "C:\folder\file1.txt"
-dst=
- "C:\folder"
-/>
-
-<ERROR
-
-ƒƒO‚ðŒŸõ‚·‚鎞‚́A"<ERROR " ‚ÅŒŸõ‚·‚é‚ƁA‚·‚®‚ÉŒ©‚‚©‚è‚Ü‚·B
-ƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚́A"<WARNING " ‚ÅŒŸõ‚·‚é‚Æ–â‘è‚ð‰ðŒˆ‚·‚éƒqƒ“ƒg
-‚ª“¾‚ç‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
-
-msg
-
-Ž©‘RŒ¾Œê‚̃Gƒ‰[ƒƒbƒZ[ƒW
-
-src, dst ‚È‚Ç
-
-’l‚ªƒpƒX‚Ì‚Æ‚«‚́Aƒ^ƒOƒWƒƒƒ“ƒv‚ª‚Å‚«‚é‚悤‚ɐV‚µ‚¢s‚©‚ç’l‚ð‘‚­B
- -
-ŠÖ˜A
-
-XML ‚ðŽg‚Á‚āAƒGƒ‰[î•ñ‚ð\‘¢‰»‚µ‚Ü‚·B
-‚à‚µƒGƒ‰[î•ñ‚̈ꕔ‚ðŽæ“¾‚µ‚½‚¢‚Æ‚«‚́AƒGƒ‰[ƒƒbƒZ[ƒWiErr2.Descriptionj ‚ð
- -
-‚É“n‚µ‚Ä‚­‚¾‚³‚¢B ŽQl
- - -
-<ERROR msg="ƒVƒ“ƒ{ƒ‹‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ" path="SymbolA"/>
- -
-<WARNING msg="ƒAƒbƒvƒf[ƒg‚̃`ƒFƒbƒN‚̓XƒLƒbƒv‚µ‚Ü‚µ‚½B"/>
+© +¥ +£ + + + +
+Sub  BinaryArray::ReDim_( UBound as integer )
+
+ƒoƒCƒiƒŠ”z—ñ‚Ì—v‘f”iƒoƒCƒgƒTƒCƒYj‚ð•ÏX‚µ‚Ü‚·B ReDim Preserve ‚Æ“¯‚¶‚Å‚·B
+
+yˆø”z
+
+UBound
+
+V‚µ‚¢”z—ñ‚̍őå—v‘f”ԍ†
+
+ReDim ‚Ì––”ö‚ɃAƒ“ƒ_[ƒXƒRƒA‚ª•t‚¢‚Ä‚¢‚Ü‚·B
+iReDim ‚Í—\–ñŒê‚Å‚ ‚邽‚߁Bj
+
+(src)
- - - - + + + +
- + -© -¥ -£ - - - -
-Sub  Error()
-
-ŠÈˆÕ“I‚É‚»‚Ì‘¼‚̃Gƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B
-
-ƒR[ƒfƒBƒ“ƒO‚ªÅ‚àŠy‚ȃGƒ‰[”­¶‚Å‚·B ‚»‚Ì‘ã‚í‚èAƒGƒ‰[‚Ì“à—e‚̓†[ƒU‚É
-“`‚í‚è‚Ü‚¹‚ñB cscript.exe ‚̃Gƒ‰[ƒŒƒxƒ‹‚Í 1 ‚É‚È‚è‚Ü‚·B
-
-ƒGƒ‰[’l‚ð•Ô‚· API ‚⃉ƒCƒuƒ‰ƒŠ‚́A­‚È‚­‚Æ‚àA³í‚ɏˆ—‚³‚ꂽ‚±‚Æ‚ðŽ¦‚·’l
-‚Å‚È‚©‚Á‚½‚çA–{ŠÖ”‚ðŒÄ‚яo‚µ‚āA‹Ù‹}’âŽ~‚³‚¹‚Ü‚·B
-
-‘z’èÏ‚݂̃Gƒ‰[‚Å‚ ‚ê‚΁Aƒ†[ƒU‚ªƒGƒ‰[‚ɑΉž‚Å‚«‚é‚悤‚ɁARaise ‚È‚Ç‚ð
-Žg‚Á‚ăGƒ‰[ˆ—‚ðŽÀ‘•‚µ‚Ä‚­‚¾‚³‚¢B
-‘z’èŠO‚̃Gƒ‰[‚âŠJ”­ŽÒ‚ª”­¶‚³‚¹‚½‚±‚Æ‚ª‚È‚¢ƒGƒ‰[‚́A–{ŠÖ”‚ðŒÄ‚яo‚µ‚āA
-‹Ù‹}’âŽ~‚³‚¹‚Ü‚·B
-
-(src)
-
+© +¥ +£ + + + +
+Sub  BinaryArray::Load( Path as string )
+
+ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðAƒoƒCƒiƒŠ”z—ñ‚É“ü—Í‚µ‚Ü‚·B
+
+yˆø”z
+
+Path
+
+ƒtƒ@ƒCƒ‹‚̃pƒX
+
+ƒoƒCƒiƒŠ”z—ñ‚ÉŒ³X“ü‚Á‚Ä‚¢‚½“à—e‚Í–³‚­‚È‚è‚Ü‚·B
+ +
ŠÖ˜A
- -
-ƒGƒ‰[‚𔭐¶‚³‚¹‚éB
+ - - - - + + + + - + -© -¥ -£ - - - -
-Sub  OrError()
- -
-Stop:OrError
-
+© +¥ +£ + + + +
+Sub  BinaryArray::Save( Path as string )
+
+ƒoƒCƒiƒŠ”z—ñ‚Ì“à—e‚ðAƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚Ü‚·B
+
+yˆø”z
+
+Path
+
+ƒtƒ@ƒCƒ‹‚̃pƒX
+ +
+  Dim  i
+  Dim  bin : Set bin = new BinaryArray
+  bin.ReDim_  &hFF
+  For i=0 To &hFF : bin(i) = i : Next
+  bin.Save  "a.bin"
+
ƒTƒ“ƒvƒ‹
-
-ŽqƒvƒƒZƒX‚Å‚ ‚Á‚Ä‚àA‚»‚̃R[ƒh‚ðŽÀs‚µ‚½‚Æ‚±‚ë‚ŃuƒŒ[ƒN‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B
-
-(src)
-
-’ʏíAã‹L‚̂悤‚É Stop –½—ß‚Æ“¯Žž‚ÉŽg—p‚µ‚Ü‚·B
- -
-g_debug = 0 ‚̏ó‘Ԃŏã‹L‚̃R[ƒh‚ðŽÀs‚µ‚½‚Æ‚«‚́AOnError ŠÖ”‚Ì’†‚ŃGƒ‰[‚ª”­¶‚µ‚Ü‚·B
-‚±‚̃Gƒ‰[‚É‚æ‚èA‚±‚̃R[ƒh‚ŃuƒŒ[ƒN‚·‚邽‚ß‚É•K—v‚Ȑݒ肪AƒGƒ‰[ƒƒbƒZ[ƒW‚É•\Ž¦‚³‚ê
-‚Ü‚·B
-
-ŽQl
-
-ƒuƒŒ[ƒN‚·‚邽‚ß‚É•K—v‚Ȑݒè‚ðs‚Á‚āAƒXƒNƒŠƒvƒg‚ðÄ‹N“®‚·‚é‚ƁAStop –½—ß‚É‚æ‚Á‚ăuƒŒ[ƒN
-‚µ‚Ü‚·B ‘±‚¢‚ÄŽÀs‚³‚ê‚é OnError ŠÖ”‚Ì’†‚ł͉½‚à‚µ‚È‚¢‚̂ŁA‘±‚«‚ðƒXƒeƒbƒvŽÀs‚Å‚«‚Ü‚·B
- - - - + + + + - + -© -¥ -£ - - - -
-Sub  Raise( ErrorNum as integer, Description as string )
-
-V‹K‚ɃGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B
- -
-Raise  1, "ƒtƒ@ƒCƒ‹‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ c:\a.txt"
-
+© +¥ +£ + + + +
+Function  BinaryArray::Read( Offset as integer, Length as integer ) as array of Byte
+
+ƒoƒCƒiƒŠ”z—ñ‚Ì“à—e‚̈ꕔ‚ðAByte ”z—ñ‚É‚µ‚Ä•Ô‚µ‚Ü‚·B
+
yˆø”z
-
-ErrorNum
-
-Description
- - -
-ŽQl
-
-ƒGƒ‰[ƒƒbƒZ[ƒW
-
+
+Offset
+
+”z—ñ‚Ì’†‚Å’Šo‚·‚é•”•ª‚̐擪‚̈ʒuB ”z—ñ‚̐擪‚©‚ç = 0
+
+”z—ñ‚Ì’†‚Å’Šo‚·‚é•”•ª‚Ì’·‚³iƒoƒCƒgjB -1 = ÅŒã‚Ü‚Å
+
+Length
+
+Offset = 0 ‚Ü‚½‚Í Empty ‚É‚·‚é‚ƁA”z—ñ‚̐擪‚©‚ç‚É‚È‚è‚Ü‚·B
+Length = -1 ‚Ü‚½‚Í Empty ‚É‚·‚é‚ƁA”z—ñ‚̍Ōã‚Ü‚Å‚É‚È‚è‚Ü‚·B
+
+•Ô‚è’l
+
+”z—ñ‚Ì“à—e‚̈ꕔ‚𒊏o‚µ‚½ Byte ”z—ñ
+ + +
+•Ô‚è’l‚ɁA•¶Žš—ñŠÖ” LeftB, MidB, RightB, LenB, AscB, ChrB ‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+•Ô‚è’l‚ɑ΂µ‚Ä + ‰‰ŽZŽq‚ÍŽg‚¦‚Ü‚¹‚ñ‚ªAMidB( ByteArray, 1 ) ‚È‚Ç‚Å String Œ^‚É•ÏŠ·
+‚·‚ê‚΁A+ ‰‰ŽZŽq‚ªŽg‚¦‚Ü‚·B
+
+ƒTƒ“ƒvƒ‹
+ +
+  binary = bin.Read( &h10, &h28 )
+  echo  AscB( MidB( binary, 3, 1 ) )
+ +
+ƒTƒ“ƒvƒ‹
+
(src)
- -
+
ŠÖ˜A
- - -
-ŠÈ’P‚ÉŽÀ‘•‚Å‚«‚éƒGƒ‰[”­¶
-
-•W€Œ`Ž®‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ð•Ô‚·B
-
-ðŒ‚ª–ž‚½‚³‚ê‚Ä‚¢‚é‚©‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B
- -
-ƒTƒ“ƒvƒ‹
- - - - - + + + + + + + + - + -© -¥ -£ - - - -
-Sub  Warning( Description as string )
-
-Œx‚ð•\Ž¦‚µ‚ăvƒƒZƒX‚ðI—¹‚µ‚Ü‚·B
-
-(src)
-
+© +¥ +£ + + + +
+Sub  BinaryArray::Write( Offset as integer, Length as integer, ByteArray as variant )
+
+ƒoƒCƒiƒŠ”z—ñ‚Ì“à—e‚̈ꕔ‚ðA•ÏX‚µ‚Ü‚·B
+
yˆø”z
-
-Description
-
-ŒxƒƒbƒZ[ƒW
-
-ƒGƒ‰[ƒR[ƒh E_TestPass(=21) ‚̃Gƒ‰[‚ª”­¶‚µ‚Ü‚·B
- -
-Warning  "ƒAƒbƒvƒf[ƒg‚̃`ƒFƒbƒN‚̓XƒLƒbƒv‚µ‚Ü‚µ‚½B"
-
+
+ByteArray
+
+•ÏX“à—e‚ªŠi”[‚³‚ꂽ•¶Žš—ñiUTF-16jA‚Ü‚½‚Í”z—ñA‚Ü‚½‚͐”’l
+
+Length
+
+”z—ñ‚Ì’†‚ŕύX‚·‚é•”•ª‚Ì’·‚³iƒoƒCƒgjB -1 = ByteArray ˆø”‚Ì‘S‘Ì
+
+”z—ñ‚Ì’†‚ŕύX‚·‚é•”•ª‚̐擪‚̈ʒuB ”z—ñ‚̐擪‚©‚ç = 0
+
+Offset
+
+Offset = 0 ‚Ü‚½‚Í Empty ‚É‚·‚é‚ƁA”z—ñ‚̐擪‚©‚ç‚É‚È‚è‚Ü‚·B
+Length = -1 ‚Ü‚½‚Í Empty ‚É‚·‚é‚ƁA”z—ñ‚̍Ōã‚Ü‚Å‚É‚È‚è‚Ü‚·B
+
ƒTƒ“ƒvƒ‹
-
-¨ ƒGƒ‰[ƒƒbƒZ[ƒW‚ÌXML‘Ž®
- -
-<WARNING msg="ƒAƒbƒvƒf[ƒg‚̃`ƒFƒbƒN‚̓XƒLƒbƒv‚µ‚Ü‚µ‚½B"/>
-
-¨ T_Warning ƒtƒHƒ‹ƒ_[
-
-ƒeƒXƒg
-
-•\Ž¦“à—eF
-
-ƒXƒNƒŠƒvƒgF
- - - - - - - - - - -© -¥ -£ - - - -
-Function  GetErrStr( e_num as integer, e_desc as string ) as string
-
-•W€Œ`Ž®‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ð•Ô‚·B
-
-yˆø”z
-
-e_num
-
-e_desc
-
-ƒGƒ‰[ƒR[ƒh
-
-ƒGƒ‰[ƒƒbƒZ[ƒW
-
-(src)
- -
-ƒTƒ“ƒvƒ‹F
-
+ +
+  bin.Write  0, Empty, Array( &h42, &h4D )
+ +
+ƒTƒ“ƒvƒ‹
+ +
+  bin.Write  0, 2, ChrB( &h42 ) + ChrB( &h4D )
+ +
+  bin.Write  1, 1, &h4D
+ +
ŠÖ˜A
- -
-  Dim  e ' as Err2
-  echo_v  GetErrStr( e.num, e.desc )
- -
-ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì—áF
- -
-<ERROR err_number='500' err_description='‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB'/>
- - - - - - - -