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.