|
皆様、ありがとうございます。
現状ですが、タイマのインターバルは1msと短いのですが、振り分け動作を実施している間はTimerを Falseにして、振り分け完了するまでは動作しないようにしてます。
教えて頂いたエラーチェックを入れてみよう!ということで、参考書を見ながら例外処理(Try...Catch...End Try)を プログラムに入れてみました。 1回目は動作するのですが、それ以降は動作しない現象が起きてしまいます。 使い方が間違っているのでしょうか?
プログラムを見て頂いた方が分かりやすいかと思うので、下に記載させて頂きます。
【プログラム(タイマ部分)】
'************ オンライン時の動作 **************
Private Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim year As String Dim month As String Dim day As String Dim hour As String Dim result As String
Try
'画像保存待ち(ファイルの有無確認)
Dim files As String()
files = Nothing
files = System.IO.Directory.GetFiles("C:\test\検査前フォルダ\", "*.bmp") Dim FolderName As String = "c:\test\検査前フォルダ\" Dim FileCount As Integer = 0 FileCount = System.IO.Directory.GetFiles(FolderName).Length
If FileCount = 0 Then
Exit Sub
End If System.Threading.Thread.Sleep(0)
'*********** 画像保存の設定 ************
If SaveMode1.Checked Then
SelectSaveFolder2 = SelectSaveFolder1
'「年」フォルダ作成確認 If FolderName_Year.Checked Then
year = Date.Now.Year SelectSaveFolder2 = SelectSaveFolder2 & year & "\"
End If
'「月」フォルダ作成確認 If FolderName_Month.Checked Then
month = Date.Now.Month SelectSaveFolder2 = SelectSaveFolder2 & month & "\"
End If
'「日」フォルダ作成確認 If FolderName_Day.Checked Then
day = Date.Now.Day SelectSaveFolder2 = SelectSaveFolder2 & day & "\"
End If
'「時」フォルダ作成確認 If FolderName_Hour.Checked Then
hour = Date.Now.Hour SelectSaveFolder2 = SelectSaveFolder2 & hour & "\"
End If
Dim root As String = System.IO.Path.GetDirectoryName(files(0)) & "\" Dim name As String = System.IO.Path.GetFileName(files(0))
Dim new_name As String = "test" & name
Dim new_root As String = SelectSaveFolder2
'保存先フォルダが存在するかどうかの確認(なければフォルダ作成)+画像保存の実施
If System.IO.Directory.Exists(SelectSaveFolder2) Then
System.IO.File.Move(root & name, new_root & name)
If FileName1.Checked Then
My.Computer.FileSystem.RenameFile(new_root & name, new_name)
End If
Else
MkDir(SelectSaveFolder2) System.IO.File.Move(root & name, new_root & name) If FileName1.Checked Then
My.Computer.FileSystem.RenameFile(new_root & name, new_name)
End If
End If
End If
Timer1.Enabled = True
Catch
Exit Sub
End Try
End Sub
|