ファイル名の置換          <TOP>


ReplaceFile ファイルを別のファイルに置換


実行前のファイルの内容

 

実行後のファイル内容

 

'================================================================
'= ファイル名の置換
'=    (ReplaceFile.bas)
'================================================================
#include "Windows.bi"

' ファイルを別のファイルに置換
Declare Function Api_ReplaceFile& Lib "kernel32" Alias "ReplaceFileA" (ByVal lpReplacedFileName$, ByVal lpReplacementFileName$, ByVal lpBackupFileName$, ByVal dwReplaceFlags&, ByVal lpExclude&, ByVal lpReserved&)

#define REPLACEFILE_WRITE_THROUGH &H1       'ディスクフラッシュ強制を示す
#define REPLACEFILE_IGNORE_MERGE_ERRORS &H2 '置換されたファイルと置換ファイルの情報を併合するときに発生するエラーを無視

Var Shared Text(2) As Object
Var SHared Edit(2) As Object
Var Shared Button1 As Object

For i = 0 To 2
    Text(i).Attach GetDlgItem("Text" & Trim$(Str$(i + 1))) : Text(i).SetFontSize 12
    Edit(i).Attach GetDlgItem("Edit" & Trim$(Str$(i + 1))) : Edit(i).SetFontSize 12
Next i
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

ShowWindow -1

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var sFile As String
    Var tFile As String
    Var bFile As String
    Var Ret As Long

    sFile = "ReplacedFileName.txt" & Chr$(0)      '置換するファイル
    tFile = "ReplacementFileName.txt" & Chr$(0)   '置換ファイル
    bFile = "BackupFileName.txt" & Chr$(0)        'バックアップファイル

    Ret = Api_ReplaceFile(sFile, tFile, bFile, REPLACEFILE_WRITE_THROUGH, ByVal 0, ByVal 0)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End