NSDFile.NSDCopyFolder メンバ

フォルダーを非同期コピーします。


●コンストラクタ

名前 説明
NSDFile.NSDCopyFolder NSDFile.NSDCopyFolderを初期化します。

●プロパティの一覧

名前 説明
IsCopyFolderRunning CopyFolderが稼働中かを返します。
StopCopyFolder フォルダーコピーの中止を設定します。
CopySimultaneouslyCount 一度にコピーできるファイル数を設定します。

●メソッドの一覧

名前 引数 戻り値 説明
Dispose なし なし リソースの解放を行います。
GetEndStyleMsg ( NSDFileCopy_EndStyle ) String型 終了スタイルの内容を返します。
CopyFolder ( String , String , Boolean , CopyFolderEventHandler , FileCopyEventHandler , FileCopyEventHandler , CopyFolderEventHandler , CopyFolderEventHandler , NSD_Asynchronization_DispControl ) Boolean型 フォルダーをコピーします。
SetControl_Init ( NSD_Asynchronization_DispControl ) Boolean型 設定コントロールを初期化します。

●イベントの一覧

名前 引数 戻り値 説明
Event_CopyFolderOneAdd ( Object, NSDCopyFolderEventArgs ) なし ファイルコピー前に返すイベント。
Event_CopyFolder_FileDataWrite ( Object, NSDFileCopyEventArgs ) なし コピー先にデータが書き込まれた時に返すイベント。
Event_CopyFolder_FileCopyEnd ( Object, NSDFileCopyEventArgs ) なし コピー終了時に返すイベント。
Event_CopyFolderOneFolderEnd ( Object, NSDCopyFolderEventArgs ) なし 1フォルダーコピー終了後に返すイベント。
Event_CopyFolderEnd ( Object, NSDCopyFolderEventArgs ) なし フォルダーコピー終了時に返すイベント。

NSDCopyFolderコンストラクタの説明

構文:Public Sub New()

使用法:Dim Cls_CopyFolder As New NSDFile.NSDCopyFolder

引数:なし。

使用例:

Public Class Form1
    Dim Cls_CopyFolder As New NSDFile.NSDCopyFolder
        :
End Class

NSDCopyFolderプロパティの説明

名前:IsCopyFolderRunning

構文:Public ReadOnly Property IsCopyFolderRunning() As NSD_File_Run_Style

機能:CopyFolderが稼働中かを返します。

Set値:なし。

Get値:稼働中かを返します。(NSD_File_Run_Style

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing
    ' フォルダーのコピーフラグ True:コピー中 False:コピーしていません.
    Dim BlnCls_CopyFileFolder As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー.
    Private Sub Button_Copy_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles Button_Copy.Click
        Try
            Select Case BlnCls_CopyFileFolder
                Case False
                    ' コピーを行います.
                    Dim Str_Source As String = Me.TextBox_Source.Text
                    Dim Str_Destination As String = Me.TextBox_Destination.Text
                    Me.Button_Copy.Text = "中止"

                    BlnCls_CopyFileFolder = True

                    ' フォルダー用クラスの割り当て確認.
                    If (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder = New NSDFile.NSDCopyFolder
                    End If
                    ' フォルダーをコピーします.
                    Me.Button_Copy.Text = "中止"
                    Cls_CopyFolder.CopyFolder(Str_Source, _
                                              Str_Destination, _
                                              True , _
                                              AddressOf Event_CopyFolderOneAdd, _
                                              AddressOf Event_CopyFolder_FileDataWrite, _
                                              AddressOf Event_CopyFolder_FileCopyEnd, _
                                              AddressOf Event_CopyFolderOneFolderEnd, _
                                              AddressOf Event_CopyFolderEnd, _
                                              Nothing)
                Case Else
                    ' コピーを中止します.
                    Me.Button_Copy.Text = "コピー"
                    If Not (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder.StopCopyFolder = True
                    End If
                    BlnCls_CopyFileFolder = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' 稼動有無で処理を分けます.
    Private Sub Button_Copy_OK_Click( ByVal sender As System.Object, _
                                      ByVal e As System.EventArgs) _
                                      Handles Button_Copy_OK.Click
        Try
            Select Case Cls_CopyFolder.IsCopyFolderRunning
                Case NSDFile.NSD_File_Run_Style.NotRunning
                    ' 稼動していません.
                Case NSDFile.NSD_File_Run_Style.Running
                    ' 稼働中です.
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' ファイルコピー前に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneAdd(ByVal Sender As Object, _
                                       ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー先にデータが書き込まれた時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileDataWrite(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileCopyEnd(ByVal sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' 1フォルダーコピー終了後に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneFolderEnd(ByVal Sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーコピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolderEnd(ByVal Sender As Object, _
                                    ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            MsgBox(Cls_CopyFolder.GetEndStyleMsg(e.EndStyle))
            BlnCls_CopyFileFolder = False
        Catch ex As Exception
        Finally
            If Not(Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        End Try
    End Sub
End Class
名前:StopCopyFolder
構文:Public Property StopCopyFolder() As Boolean

機能:フォルダーコピーの中止を設定します。

Set値:True :コピーを中止します。

False:コピーを中止しません。

Get値:Set値を参照。

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing
    ' フォルダーのコピーフラグ True:コピー中 False:コピーしていません.
    Dim BlnCls_CopyFileFolder As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー.
    Private Sub Button_Copy_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles Button_Copy.Click
        Try
            Select Case BlnCls_CopyFileFolder
                Case False
                    ' コピーを行います.
                    Dim Str_Source As String = Me.TextBox_Source.Text
                    Dim Str_Destination As String = Me.TextBox_Destination.Text
                    Me.Button_Copy.Text = "中止"

                    BlnCls_CopyFileFolder = True

                    ' フォルダー用クラスの割り当て確認.
                    If (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder = New NSDFile.NSDCopyFolder
                    End If
                    ' フォルダーをコピーします.
                    Me.Button_Copy.Text = "中止"
                    Cls_CopyFolder.CopyFolder(Str_Source, _
                                              Str_Destination, _
                                              True , _
                                              AddressOf Event_CopyFolderOneAdd, _
                                              AddressOf Event_CopyFolder_FileDataWrite, _
                                              AddressOf Event_CopyFolder_FileCopyEnd, _
                                              AddressOf Event_CopyFolderOneFolderEnd, _
                                              AddressOf Event_CopyFolderEnd, _
                                              Nothing)
                Case Else
                    ' コピーを中止します.
                    Me.Button_Copy.Text = "コピー"
                    If Not (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder.StopCopyFolder = True
                    End If
                    BlnCls_CopyFileFolder = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' ファイルコピー前に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneAdd(ByVal Sender As Object, _
                                       ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー先にデータが書き込まれた時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileDataWrite(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileCopyEnd(ByVal sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' 1フォルダーコピー終了後に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneFolderEnd(ByVal Sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーコピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolderEnd(ByVal Sender As Object, _
                                    ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            MsgBox(Cls_CopyFolder.GetEndStyleMsg(e.EndStyle))
            BlnCls_CopyFileFolder = False
        Catch ex As Exception
        Finally
            If Not(Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        End Try
    End Sub
End Class
名前:CopySimultaneouslyCount
構文:Public Property CopySimultaneouslyCount() As Integer

機能:一度にコピーできるファイル数を設定します。

Set値:一度にコピーできるファイル数。

このプロパティはデフォルト1です。
0=無制限、1より大きい場合は指定数を表します。
※注意.
  この値は1以外の場合、効率が結果的に悪くなる可能性が高いです。
  HDDなどの進化した時(将来)に向けての設定になります。

Get値:Set値を参照。

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing
    ' フォルダーのコピーフラグ True:コピー中 False:コピーしていません.
    Dim BlnCls_CopyFileFolder As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー.
    Private Sub Button_Copy_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles Button_Copy.Click
        Try
            Select Case BlnCls_CopyFileFolder
                Case False
                    ' コピーを行います.
                    Dim Str_Source As String = Me.TextBox_Source.Text
                    Dim Str_Destination As String = Me.TextBox_Destination.Text
                    Me.Button_Copy.Text = "中止"

                    BlnCls_CopyFileFolder = True

                    ' フォルダー用クラスの割り当て確認.
                    If (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder = New NSDFile.NSDCopyFolder
                    End If
                    ' フォルダーをコピーします.
                    Me.Button_Copy.Text = "中止"
                    '  一度にコピーできるファイル数を設定します.
                    Cls_CopyFolder.CopySimultaneouslyCount = 1
                    Cls_CopyFolder.CopyFolder(Str_Source, _
                                              Str_Destination, _
                                              True , _
                                              AddressOf Event_CopyFolderOneAdd, _
                                              AddressOf Event_CopyFolder_FileDataWrite, _
                                              AddressOf Event_CopyFolder_FileCopyEnd, _
                                              AddressOf Event_CopyFolderOneFolderEnd, _
                                              AddressOf Event_CopyFolderEnd, _
                                              Nothing)
                Case Else
                    ' コピーを中止します.
                    Me.Button_Copy.Text = "コピー"
                    If Not (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder.StopCopyFolder = True
                    End If
                    BlnCls_CopyFileFolder = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' ファイルコピー前に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneAdd(ByVal Sender As Object, _
                                       ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー先にデータが書き込まれた時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileDataWrite(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileCopyEnd(ByVal sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' 1フォルダーコピー終了後に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneFolderEnd(ByVal Sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーコピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolderEnd(ByVal Sender As Object, _
                                    ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            MsgBox(Cls_CopyFolder.GetEndStyleMsg(e.EndStyle))
            BlnCls_CopyFileFolder = False
        Catch ex As Exception
        Finally
            If Not(Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        End Try
    End Sub
End Class

NSDCopyFolderメソッド の説明

名前:Dispose
構文:Public Overridable Sub Dispose() Implements IDisposable.Dispose

機能:リソースの解放を行います。

※終了時に必ず呼び出します。

引数:なし。

戻り値:なし。

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub
End Class

 

名前:GetEndStyleMsg

構文:Public Function GetEndStyleMsg( EndStyle ) As String

機能:終了スタイルの内容を返します。

引数:

名前 引数渡しの方法 説明
EndStyle NSDFileCopy_EndStyle 値渡し(ByVal) 終了スタイルを渡します。

戻り値:String

戻り値の説明:

終了スタイルの内容を返します。

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing
    ' フォルダーのコピーフラグ True:コピー中 False:コピーしていません.
    Dim BlnCls_CopyFileFolder As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー.
    Private Sub Button_Copy_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles Button_Copy.Click
        Try
            Select Case BlnCls_CopyFileFolder
                Case False
                    ' コピーを行います.
                    Dim Str_Source As String = Me.TextBox_Source.Text
                    Dim Str_Destination As String = Me.TextBox_Destination.Text
                    Me.Button_Copy.Text = "中止"

                    BlnCls_CopyFileFolder = True

                    ' フォルダー用クラスの割り当て確認.
                    If (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder = New NSDFile.NSDCopyFolder
                    End If
                    ' フォルダーをコピーします.
                    Me.Button_Copy.Text = "中止"
                    Cls_CopyFolder.CopyFolder(Str_Source, _
                                              Str_Destination, _
                                              True , _
                                              AddressOf Event_CopyFolderOneAdd, _
                                              AddressOf Event_CopyFolder_FileDataWrite, _
                                              AddressOf Event_CopyFolder_FileCopyEnd, _
                                              AddressOf Event_CopyFolderOneFolderEnd, _
                                              AddressOf Event_CopyFolderEnd, _
                                              Nothing)
                Case Else
                    ' コピーを中止します.
                    Me.Button_Copy.Text = "コピー"
                    If Not (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder.StopCopyFolder = True
                    End If
                    BlnCls_CopyFileFolder = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' ファイルコピー前に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneAdd(ByVal Sender As Object, _
                                       ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー先にデータが書き込まれた時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileDataWrite(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileCopyEnd(ByVal sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' 1フォルダーコピー終了後に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneFolderEnd(ByVal Sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーコピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolderEnd(ByVal Sender As Object, _
                                    ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            MsgBox(Cls_CopyFolder.GetEndStyleMsg(e.EndStyle))
            BlnCls_CopyFileFolder = False
        Catch ex As Exception
        Finally
            If Not(Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        End Try
    End Sub
End Class

 

名前:CopyFolder
構文:Public Function CopyFolder( Source , Destination , SubFolder , Event_CopyFolderOneAdd , Event_CopyFolder_FileDataWrite , Event_CopyFolder_FileCopyEnd , Event_CopyFolderOneFolderEnd , Event_CopyFolderEnd , Control ) As Boolean

機能:フォルダーをコピーします。

引数:

名前 引数渡しの方法 説明
Source String 値渡し(ByVal) コピー元フォルダーのフルパス名を渡します。
Destination String 値渡し(ByVal) コピー先のフルパス名を渡します。
SubFolder Boolean 値渡し(ByVal) サブフォルダのコピー有無を渡します。
True :サブフォルダーもコピーします。
False:サブフォルダーはコピーしません。
Event_CopyFolderOneAdd CopyFolderEventHandler 値渡し(ByVal) ファイルコピー前に呼び出すイベント関数のアドレスを渡します。
※イベント関数が不要な場合は、Nothingを渡します。
Event_CopyFolder_FileDataWrite FileCopyEventHandler 値渡し(ByVal) ファイルコピー中に呼び出すイベント関数のアドレスを渡します。
※イベント関数が不要な場合は、Nothingを渡します。
Event_CopyFolder_FileCopyEnd FileCopyEventHandler 値渡し(ByVal) ファイルコピー終了時に呼び出すイベント関数のアドレスを渡します。
※イベント関数が不要な場合は、Nothingを渡します。
Event_CopyFolderOneFolderEnd CopyFolderEventHandler 値渡し(ByVal) 1フォルダーコピー終了後に呼び出すイベント関数のアドレスを渡します。
※イベント関数が不要な場合は、Nothingを渡します。
Event_CopyFolderEnd CopyFolderEventHandler 値渡し(ByVal) フォルダーコピー終了時に呼び出すイベント関数のアドレスを渡します。
※イベント関数が不要な場合は、Nothingを渡します。
Control NSD_Asynchronization_DispControl 値渡し(ByVal) フォルダーコピー中で値を変更するコントロール情報を渡します。
※コントロール情報を指定しない場合は、Nothingを渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing
    ' フォルダーのコピーフラグ True:コピー中 False:コピーしていません.
    Dim BlnCls_CopyFileFolder As Boolean = False

    ' コピーフォルダーの表示用コントロール.
    Dim Cls_CopyFolderDispControl As New NSDFile.NSD_Asynchronization_DispControl

    ' Loadイベント.
    Private Sub Form1_Load(ByVal sender As Object, _
                           ByVal e As System.EventArgs _
                           ) Handles Me.Load
        Try
            ' ファイル用コントロールを設定.
            ' プログレスバーをセット.
            Cls_CopyFolderDispControl.AddProgressBar(Me.ProgressBar_Copy, _
                                                     NSDFile.NSD_DispControl_ControlKind.SelectCopyFile)
            ' コピーサイズ表示用ラベルをセット.
            Cls_CopyFolderDispControl.AddControl(Me.Label_CopySize, _
                                                 NSDFile.NSD_DispControl_Style.ChangeText, _
                                                 NSDFile.NSD_DispControl_TextStyle.CopyFile_SourceSizeAndCopySize + _
                                                 NSDFile.NSD_DispControl_TextStyle.Plus_Kanma + _
                                                 NSDFile.NSD_DispControl_TextStyle.Plus_UnitChange, _
                                                 "1ファイルのコピー状況", _
                                                 " [", _
                                                 "]", _
                                                 NSDFile.NSD_DispControl_ControlKind.SelectCopyFile)
            ' コピー状況のパーセント表示用ラベルをセット.
            Cls_CopyFolderDispControl.AddControl(Me.Label_Parsent, _
                                                 NSDFile.NSD_DispControl_Style.ChangeText, _
                                                 NSDFile.NSD_DispControl_TextStyle.CopyFile_Parsent, _
                                                 "", _
                                                 "(", _
                                                 "%)", _
                                                 NSDFile.NSD_DispControl_ControlKind.SelectCopyFile)
            ' フォルダー用コントロールを設定.
            ' プログレスバーをセット.
            Cls_CopyFolderDispControl.AddProgressBar(Me.ProgressBar_Folder, _
                                                     NSDFile.NSD_DispControl_ControlKind.SelectCopyFolder)
            ' コピーサイズ表示用ラベルをセット.
            Cls_CopyFolderDispControl.AddControl(Me.Label_CopyFileCount, _
                                                 NSDFile.NSD_DispControl_Style.ChangeText, _
                                                 NSDFile.NSD_DispControl_TextStyle.CopyFolder_FileCountAndAllFileCount + _
                                                 NSDFile.NSD_DispControl_TextStyle.Plus_Kanma, _
                                                 "全体のコピー状況", _
                                                 " [", _
                                                 "]", _
                                                 NSDFile.NSD_DispControl_ControlKind.SelectCopyFolder)
            ' コピー状況のパーセント表示用ラベルをセット.
            Cls_CopyFolderDispControl.AddControl(Me.Label_CopyFileCountParsent, _
                                                 NSDFile.NSD_DispControl_Style.ChangeText, _
                                                 NSDFile.NSD_DispControl_TextStyle.CopyFolder_Parsent, _
                                                 "", _
                                                 "(", _
                                                 "%)", _
                                                 NSDFile.NSD_DispControl_ControlKind.SelectCopyFolder)
        Catch ex As Exception
        End Try
    End Sub

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' コピーフォルダー用コントロールの解放処理.
            If Not (Cls_CopyFolderDispControl Is Nothing) Then
                Cls_CopyFolderDispControl.Dispose()
                Cls_CopyFolderDispControl = Nothing
            End If

            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー.
    Private Sub Button_Copy_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles Button_Copy.Click
        Try
            Select Case BlnCls_CopyFileFolder
                Case False
                    ' コピーを行います.
                    Dim Str_Source As String = Me.TextBox_Source.Text
                    Dim Str_Destination As String = Me.TextBox_Destination.Text
                    Me.Button_Copy.Text = "中止"

                    BlnCls_CopyFileFolder = True

                    ' フォルダー用クラスの割り当て確認.
                    If (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder = New NSDFile.NSDCopyFolder
                    End If
                    ' フォルダーをコピーします.
                    Me.Button_Copy.Text = "中止"
                    Cls_CopyFolder.CopyFolder(Str_Source, _
                                              Str_Destination, _
                                              True , _
                                              AddressOf Event_CopyFolderOneAdd, _
                                              AddressOf Event_CopyFolder_FileDataWrite, _
                                              AddressOf Event_CopyFolder_FileCopyEnd, _
                                              AddressOf Event_CopyFolderOneFolderEnd, _
                                              AddressOf Event_CopyFolderEnd, _
                                              Cls_CopyFolderDispControl)
                Case Else
                    ' コピーを中止します.
                    Me.Button_Copy.Text = "コピー"
                    If Not (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder.StopCopyFolder = True
                    End If
                    BlnCls_CopyFileFolder = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' ファイルコピー前に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneAdd(ByVal Sender As Object, _
                                       ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            ' コピー元のファイル名.
            Dim Str_SourceName As String = e.SourceName
            ' コピー先のファイル名.
            Dim Str_DestinationName As String = e.DestinationName
                :
            If (・・・・) Then
                :
                e.SearchStop = True
            Else
                :
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー先にデータが書き込まれた時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileDataWrite(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileCopyEnd(ByVal sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' 1フォルダーコピー終了後に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneFolderEnd(ByVal Sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーコピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolderEnd(ByVal Sender As Object, _
                                    ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            If Me.InvokeRequired Then
                Me.Invoke(New SetName_Invoke(AddressOf SetButton_CopyFile), New Object() {"コピー"} )
            Else
                Me.SetButton_CopyFile("コピー")
            End If
            MsgBox(Cls_CopyFolder.GetEndStyleMsg(e.EndStyle))
            ' コントロールを初期化します.
            Cls_CopyFolder.SetControl_Init(Cls_CopyFolderDispControl)
            BlnCls_CopyFileFolder = False
        Catch ex As Exception
        Finally
            If Not(Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        End Try
    End Sub

    ' コピー用ボタンのテキスト設定.
    Public Sub SetButton_CopyFile(ByVal StrVal_Text As String)
        Try
            Me.Button_Copy.Text = StrVal_Text
        Catch ex As Exception
        End Try
    End Sub
End Class
名前:SetControl_Init
構文:Public Function SetControl_Init( Control ) As Boolean

機能:設定コントロールを初期化します。

引数:

名前 引数渡しの方法 説明
Control NSD_Asynchronization_DispControl 値渡し(ByVal) コントロールの情報を渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing
    ' フォルダーのコピーフラグ True:コピー中 False:コピーしていません.
    Dim BlnCls_CopyFileFolder As Boolean = False

    ' コピーフォルダーの表示用コントロール.
    Dim Cls_CopyFolderDispControl As New NSDFile.NSD_Asynchronization_DispControl

    ' Loadイベント.
    Private Sub Form1_Load(ByVal sender As Object, _
                           ByVal e As System.EventArgs _
                           ) Handles Me.Load
        Try
            ' ファイル用コントロールを設定.
            ' プログレスバーをセット.
            Cls_CopyFolderDispControl.AddProgressBar(Me.ProgressBar_Copy, _
                                                     NSDFile.NSD_DispControl_ControlKind.SelectCopyFile)
            ' コピーサイズ表示用ラベルをセット.
            Cls_CopyFolderDispControl.AddControl(Me.Label_CopySize, _
                                                 NSDFile.NSD_DispControl_Style.ChangeText, _
                                                 NSDFile.NSD_DispControl_TextStyle.CopyFile_SourceSizeAndCopySize + _
                                                 NSDFile.NSD_DispControl_TextStyle.Plus_Kanma + _
                                                 NSDFile.NSD_DispControl_TextStyle.Plus_UnitChange, _
                                                 "1ファイルのコピー状況", _
                                                 " [", _
                                                 "]", _
                                                 NSDFile.NSD_DispControl_ControlKind.SelectCopyFile)
            ' コピー状況のパーセント表示用ラベルをセット.
            Cls_CopyFolderDispControl.AddControl(Me.Label_Parsent, _
                                                 NSDFile.NSD_DispControl_Style.ChangeText, _
                                                 NSDFile.NSD_DispControl_TextStyle.CopyFile_Parsent, _
                                                 "", _
                                                 "(", _
                                                 "%)", _
                                                 NSDFile.NSD_DispControl_ControlKind.SelectCopyFile)
            ' フォルダー用コントロールを設定.
            ' プログレスバーをセット.
            Cls_CopyFolderDispControl.AddProgressBar(Me.ProgressBar_Folder, _
                                                     NSDFile.NSD_DispControl_ControlKind.SelectCopyFolder)
            ' コピーサイズ表示用ラベルをセット.
            Cls_CopyFolderDispControl.AddControl(Me.Label_CopyFileCount, _
                                                 NSDFile.NSD_DispControl_Style.ChangeText, _
                                                 NSDFile.NSD_DispControl_TextStyle.CopyFolder_FileCountAndAllFileCount + _
                                                 NSDFile.NSD_DispControl_TextStyle.Plus_Kanma, _
                                                 "全体のコピー状況", _
                                                 " [", _
                                                 "]", _
                                                 NSDFile.NSD_DispControl_ControlKind.SelectCopyFolder)
            ' コピー状況のパーセント表示用ラベルをセット.
            Cls_CopyFolderDispControl.AddControl(Me.Label_CopyFileCountParsent, _
                                                 NSDFile.NSD_DispControl_Style.ChangeText, _
                                                 NSDFile.NSD_DispControl_TextStyle.CopyFolder_Parsent, _
                                                 "", _
                                                 "(", _
                                                 "%)", _
                                                 NSDFile.NSD_DispControl_ControlKind.SelectCopyFolder)
        Catch ex As Exception
        End Try
    End Sub

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' コピーフォルダー用コントロールの解放処理.
            If Not (Cls_CopyFolderDispControl Is Nothing) Then
                Cls_CopyFolderDispControl.Dispose()
                Cls_CopyFolderDispControl = Nothing
            End If

            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー.
    Private Sub Button_Copy_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles Button_Copy.Click
        Try
            Select Case BlnCls_CopyFileFolder
                Case False
                    ' コピーを行います.
                    Dim Str_Source As String = Me.TextBox_Source.Text
                    Dim Str_Destination As String = Me.TextBox_Destination.Text
                    Me.Button_Copy.Text = "中止"

                    BlnCls_CopyFileFolder = True

                    ' フォルダー用クラスの割り当て確認.
                    If (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder = New NSDFile.NSDCopyFolder
                    End If
                    ' フォルダーをコピーします.
                    Me.Button_Copy.Text = "中止"
                    Cls_CopyFolder.CopyFolder(Str_Source, _
                                              Str_Destination, _
                                              True , _
                                              AddressOf Event_CopyFolderOneAdd, _
                                              AddressOf Event_CopyFolder_FileDataWrite, _
                                              AddressOf Event_CopyFolder_FileCopyEnd, _
                                              AddressOf Event_CopyFolderOneFolderEnd, _
                                              AddressOf Event_CopyFolderEnd, _
                                              Cls_CopyFolderDispControl)
                Case Else
                    ' コピーを中止します.
                    Me.Button_Copy.Text = "コピー"
                    If Not (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder.StopCopyFolder = True
                    End If
                    BlnCls_CopyFileFolder = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' 稼動有無で処理を分けます.
    Private Sub Button_Copy_OK_Click( ByVal sender As System.Object, _
                                      ByVal e As System.EventArgs) _
                                      Handles Button_Copy_OK.Click
        Try
            Select Case Cls_CopyFolder.IsCopyFolderRunning
                Case NSDFile.NSD_File_Run_Style.NotRunning
                    ' 稼動していません.
                Case NSDFile.NSD_File_Run_Style.Running
                    ' 稼働中です.
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' ファイルコピー前に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneAdd(ByVal Sender As Object, _
                                       ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            ' コピー元のファイル名.
            Dim Str_SourceName As String = e.SourceName
            ' コピー先のファイル名.
            Dim Str_DestinationName As String = e.DestinationName
                :
            If (・・・・) Then
                :
                e.SearchStop = True
            Else
                :
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー先にデータが書き込まれた時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileDataWrite(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileCopyEnd(ByVal sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' 1フォルダーコピー終了後に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneFolderEnd(ByVal Sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーコピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolderEnd(ByVal Sender As Object, _
                                    ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            If Me.InvokeRequired Then
                Me.Invoke(New SetName_Invoke(AddressOf SetButton_CopyFile), New Object() {"コピー"} )
            Else
                Me.SetButton_CopyFile("コピー")
            End If
            MsgBox(Cls_CopyFolder.GetEndStyleMsg(e.EndStyle))
            ' コントロールを初期化します.
            Cls_CopyFolder.SetControl_Init(Cls_CopyFolderDispControl)
            BlnCls_CopyFileFolder = False
        Catch ex As Exception
        Finally
            If Not(Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        End Try
    End Sub

    ' コピー用ボタンのテキスト設定.
    Public Sub SetButton_CopyFile(ByVal StrVal_Text As String)
        Try
            Me.Button_Copy.Text = StrVal_Text
        Catch ex As Exception
        End Try
    End Sub
End Class

NSDCopyFolderイベントの説明

 

名前:Event_CopyFolderOneAdd

構文:Public Sub Event_CopyFolderOneAdd( sender , e )

機能:ファイルコピー前に発生するイベント。

CopyFolderの第4引数でアドレスを渡します。

引数:

名前 引数渡しの方法 説明
sender Object 値渡し(ByVal) Nothingが渡されます。
e NSDCopyFolderEventArgs 値渡し(ByVal) フォルダーコピー用のイベントが渡されます。

戻り値:なし。

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing
    ' フォルダーのコピーフラグ True:コピー中 False:コピーしていません.
    Dim BlnCls_CopyFileFolder As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー.
    Private Sub Button_Copy_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles Button_Copy.Click
        Try
            Select Case BlnCls_CopyFileFolder
                Case False
                    ' コピーを行います.
                    Dim Str_Source As String = Me.TextBox_Source.Text
                    Dim Str_Destination As String = Me.TextBox_Destination.Text
                    Me.Button_Copy.Text = "中止"

                    BlnCls_CopyFileFolder = True

                    ' フォルダー用クラスの割り当て確認.
                    If (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder = New NSDFile.NSDCopyFolder
                    End If
                    ' フォルダーをコピーします.
                    Me.Button_Copy.Text = "中止"
                    Cls_CopyFolder.CopyFolder(Str_Source, _
                                              Str_Destination, _
                                              True , _
                                              AddressOf Event_CopyFolderOneAdd, _
                                              AddressOf Event_CopyFolder_FileDataWrite, _
                                              AddressOf Event_CopyFolder_FileCopyEnd, _
                                              AddressOf Event_CopyFolderOneFolderEnd, _
                                              AddressOf Event_CopyFolderEnd, _
                                              Nothing)
                Case Else
                    ' コピーを中止します.
                    Me.Button_Copy.Text = "コピー"
                    If Not (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder.StopCopyFolder = True
                    End If
                    BlnCls_CopyFileFolder = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' ファイルコピー前に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneAdd(ByVal Sender As Object, _
                                       ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            ' コピー元のファイル名.
            Dim Str_SourceName As String = e.SourceName
            ' コピー先のファイル名.
            Dim Str_DestinationName As String = e.DestinationName
                :
            If (・・・・) Then
                :
                e.SearchStop = True
            Else
                :
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー先にデータが書き込まれた時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileDataWrite(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileCopyEnd(ByVal sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' 1フォルダーコピー終了後に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneFolderEnd(ByVal Sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーコピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolderEnd(ByVal Sender As Object, _
                                    ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            MsgBox(Cls_CopyFolder.GetEndStyleMsg(e.EndStyle))
            BlnCls_CopyFileFolder = False
        Catch ex As Exception
        Finally
            If Not(Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        End Try
    End Sub
End Class

 

名前:Event_CopyFolder_FileDataWrite

構文:Public Sub Event_CopyFolder_FileDataWrite( sender , e )

機能:コピー先にデータが書き込まれた時に発生するイベント。

CopyFolderの第5引数でアドレスを渡します。

引数:

名前 引数渡しの方法 説明
sender Object 値渡し(ByVal) Nothingが渡されます。
e NSDFileCopyEventArgs 値渡し(ByVal) ファイルコピー用のイベントが渡されます。

戻り値:なし。

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing
    ' フォルダーのコピーフラグ True:コピー中 False:コピーしていません.
    Dim BlnCls_CopyFileFolder As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー.
    Private Sub Button_Copy_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles Button_Copy.Click
        Try
            Select Case BlnCls_CopyFileFolder
                Case False
                    ' コピーを行います.
                    Dim Str_Source As String = Me.TextBox_Source.Text
                    Dim Str_Destination As String = Me.TextBox_Destination.Text
                    Me.Button_Copy.Text = "中止"

                    BlnCls_CopyFileFolder = True

                    ' フォルダー用クラスの割り当て確認.
                    If (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder = New NSDFile.NSDCopyFolder
                    End If
                    ' フォルダーをコピーします.
                    Me.Button_Copy.Text = "中止"
                    Cls_CopyFolder.CopyFolder(Str_Source, _
                                              Str_Destination, _
                                              True , _
                                              AddressOf Event_CopyFolderOneAdd, _
                                              AddressOf Event_CopyFolder_FileDataWrite, _
                                              AddressOf Event_CopyFolder_FileCopyEnd, _
                                              AddressOf Event_CopyFolderOneFolderEnd, _
                                              AddressOf Event_CopyFolderEnd, _
                                              Nothing)
                Case Else
                    ' コピーを中止します.
                    Me.Button_Copy.Text = "コピー"
                    If Not (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder.StopCopyFolder = True
                    End If
                    BlnCls_CopyFileFolder = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' ファイルコピー前に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneAdd(ByVal Sender As Object, _
                                       ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            ' コピー元のファイル名.
            Dim Str_SourceName As String = e.SourceName
            ' コピー先のファイル名.
            Dim Str_DestinationName As String = e.DestinationName
                :
            If (・・・・) Then
                :
                e.SearchStop = True
            Else
                :
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー先にデータが書き込まれた時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileDataWrite(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileCopyEnd(ByVal sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' 1フォルダーコピー終了後に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneFolderEnd(ByVal Sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーコピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolderEnd(ByVal Sender As Object, _
                                    ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            MsgBox(Cls_CopyFolder.GetEndStyleMsg(e.EndStyle))
            BlnCls_CopyFileFolder = False
        Catch ex As Exception
        Finally
            If Not(Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        End Try
    End Sub
End Class
名前:Event_CopyFolder_FileCopyEnd

構文:Public Sub Event_CopyFolder_FileCopyEnd( sender , e )

機能:コピーが終了した時に発生するイベント。

CopyFolderの第6引数でアドレスを渡します。

引数:

名前 引数渡しの方法 説明
sender Object 値渡し(ByVal) Nothingが渡されます。
e NSDFileCopyEventArgs 値渡し(ByVal) ファイルコピー用のイベントが渡されます。

戻り値:なし。

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing
    ' フォルダーのコピーフラグ True:コピー中 False:コピーしていません.
    Dim BlnCls_CopyFileFolder As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー.
    Private Sub Button_Copy_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles Button_Copy.Click
        Try
            Select Case BlnCls_CopyFileFolder
                Case False
                    ' コピーを行います.
                    Dim Str_Source As String = Me.TextBox_Source.Text
                    Dim Str_Destination As String = Me.TextBox_Destination.Text
                    Me.Button_Copy.Text = "中止"

                    BlnCls_CopyFileFolder = True

                    ' フォルダー用クラスの割り当て確認.
                    If (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder = New NSDFile.NSDCopyFolder
                    End If
                    ' フォルダーをコピーします.
                    Me.Button_Copy.Text = "中止"
                    Cls_CopyFolder.CopyFolder(Str_Source, _
                                              Str_Destination, _
                                              True , _
                                              AddressOf Event_CopyFolderOneAdd, _
                                              AddressOf Event_CopyFolder_FileDataWrite, _
                                              AddressOf Event_CopyFolder_FileCopyEnd, _
                                              AddressOf Event_CopyFolderOneFolderEnd, _
                                              AddressOf Event_CopyFolderEnd, _
                                              Nothing)
                Case Else
                    ' コピーを中止します.
                    Me.Button_Copy.Text = "コピー"
                    If Not (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder.StopCopyFolder = True
                    End If
                    BlnCls_CopyFileFolder = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' ファイルコピー前に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneAdd(ByVal Sender As Object, _
                                       ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            ' コピー元のファイル名.
            Dim Str_SourceName As String = e.SourceName
            ' コピー先のファイル名.
            Dim Str_DestinationName As String = e.DestinationName
                :
            If (・・・・) Then
                :
                e.SearchStop = True
            Else
                :
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー先にデータが書き込まれた時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileDataWrite(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileCopyEnd(ByVal sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' 1フォルダーコピー終了後に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneFolderEnd(ByVal Sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーコピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolderEnd(ByVal Sender As Object, _
                                    ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            MsgBox(Cls_CopyFolder.GetEndStyleMsg(e.EndStyle))
            BlnCls_CopyFileFolder = False
        Catch ex As Exception
        Finally
            If Not(Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        End Try
    End Sub
End Class
名前:Event_CopyFolderOneFolderEnd

構文:Public Sub Event_CopyFolderOneFolderEnd( sender , e )

機能:1フォルダーコピー終了後に発生するイベント。

CopyFolderの第7引数でアドレスを渡します。

引数:

名前 引数渡しの方法 説明
sender Object 値渡し(ByVal) Nothingが渡されます。
e NSDCopyFolderEventArgs 値渡し(ByVal) フォルダーコピー用のイベントが渡されます。

戻り値:なし。

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing
    ' フォルダーのコピーフラグ True:コピー中 False:コピーしていません.
    Dim BlnCls_CopyFileFolder As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー.
    Private Sub Button_Copy_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles Button_Copy.Click
        Try
            Select Case BlnCls_CopyFileFolder
                Case False
                    ' コピーを行います.
                    Dim Str_Source As String = Me.TextBox_Source.Text
                    Dim Str_Destination As String = Me.TextBox_Destination.Text
                    Me.Button_Copy.Text = "中止"

                    BlnCls_CopyFileFolder = True

                    ' フォルダー用クラスの割り当て確認.
                    If (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder = New NSDFile.NSDCopyFolder
                    End If
                    ' フォルダーをコピーします.
                    Me.Button_Copy.Text = "中止"
                    Cls_CopyFolder.CopyFolder(Str_Source, _
                                              Str_Destination, _
                                              True , _
                                              AddressOf Event_CopyFolderOneAdd, _
                                              AddressOf Event_CopyFolder_FileDataWrite, _
                                              AddressOf Event_CopyFolder_FileCopyEnd, _
                                              AddressOf Event_CopyFolderOneFolderEnd, _
                                              AddressOf Event_CopyFolderEnd, _
                                              Nothing)
                Case Else
                    ' コピーを中止します.
                    Me.Button_Copy.Text = "コピー"
                    If Not (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder.StopCopyFolder = True
                    End If
                    BlnCls_CopyFileFolder = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' ファイルコピー前に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneAdd(ByVal Sender As Object, _
                                       ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            ' コピー元のファイル名.
            Dim Str_SourceName As String = e.SourceName
            ' コピー先のファイル名.
            Dim Str_DestinationName As String = e.DestinationName
                :
            If (・・・・) Then
                :
                e.SearchStop = True
            Else
                :
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー先にデータが書き込まれた時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileDataWrite(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileCopyEnd(ByVal sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' 1フォルダーコピー終了後に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneFolderEnd(ByVal Sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーコピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolderEnd(ByVal Sender As Object, _
                                    ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            MsgBox(Cls_CopyFolder.GetEndStyleMsg(e.EndStyle))
            BlnCls_CopyFileFolder = False
        Catch ex As Exception
        Finally
            If Not(Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        End Try
    End Sub
End Class
名前:Event_CopyFolderEnd

構文:Public Sub Event_CopyFolderEnd( sender , e )

機能:フォルダーコピー終了時に発生するイベント。

CopyFolderの第8引数でアドレスを渡します。

引数:

名前 引数渡しの方法 説明
sender Object 値渡し(ByVal) Nothingが渡されます。
e NSDCopyFolderEventArgs 値渡し(ByVal) フォルダーコピー用のイベントが渡されます。

戻り値:なし。

使用例:

Public Class Form1
    ' フォルダーコピー用.
    Dim Cls_CopyFolder As NSDFile.NSDCopyFolder = Nothing
    ' フォルダーのコピーフラグ True:コピー中 False:コピーしていません.
    Dim BlnCls_CopyFileFolder As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs _
                                  ) Handles Me.FormClosing
        Try
            ' フォルダーコピーの解放.
            If Not (Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' コピー.
    Private Sub Button_Copy_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles Button_Copy.Click
        Try
            Select Case BlnCls_CopyFileFolder
                Case False
                    ' コピーを行います.
                    Dim Str_Source As String = Me.TextBox_Source.Text
                    Dim Str_Destination As String = Me.TextBox_Destination.Text
                    Me.Button_Copy.Text = "中止"

                    BlnCls_CopyFileFolder = True

                    ' フォルダー用クラスの割り当て確認.
                    If (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder = New NSDFile.NSDCopyFolder
                    End If
                    ' フォルダーをコピーします.
                    Me.Button_Copy.Text = "中止"
                    Cls_CopyFolder.CopyFolder(Str_Source, _
                                              Str_Destination, _
                                              True , _
                                              AddressOf Event_CopyFolderOneAdd, _
                                              AddressOf Event_CopyFolder_FileDataWrite, _
                                              AddressOf Event_CopyFolder_FileCopyEnd, _
                                              AddressOf Event_CopyFolderOneFolderEnd, _
                                              AddressOf Event_CopyFolderEnd, _
                                              Nothing)
                Case Else
                    ' コピーを中止します.
                    Me.Button_Copy.Text = "コピー"
                    If Not (Cls_CopyFolder Is Nothing) Then
                        Cls_CopyFolder.StopCopyFolder = True
                    End If
                    BlnCls_CopyFileFolder = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' ファイルコピー前に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneAdd(ByVal Sender As Object, _
                                       ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー先にデータが書き込まれた時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileDataWrite(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' コピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolder_FileCopyEnd(ByVal sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFile.NSDFileCopyEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' 1フォルダーコピー終了後に呼び出されるイベント関数.
    Private Sub Event_CopyFolderOneFolderEnd(ByVal Sender As Object, _
                                             ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
                :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーコピー終了時に呼び出されるイベント関数.
    Private Sub Event_CopyFolderEnd(ByVal Sender As Object, _
                                    ByVal e As NSDFile.NSDCopyFolder.NSDCopyFolderEventArgs)
        Try
            MsgBox(Cls_CopyFolder.GetEndStyleMsg(e.EndStyle))
            BlnCls_CopyFileFolder = False
        Catch ex As Exception
        Finally
            If Not(Cls_CopyFolder Is Nothing) Then
                Cls_CopyFolder.Dispose()
                Cls_CopyFolder = Nothing
            End If
        End Try
    End Sub
End Class

Copyright (C) 2010-2012 Nihon System Developer Corp. All Rights Reserved.