Brak opisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

FTP-DGAC-SYS.vb 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. Imports System.IO
  2. Imports System.Text
  3. Public Class FTP_DGAC_SYS
  4. Dim FTP位置, file_name, strDirName As String
  5. Dim 刪除數, 位置1, 總數, N1, N2, N3, N4, N5, N6, N7 As Integer
  6. Dim Strs As String = Application.StartupPath
  7. Dim Str As String = Application.StartupPath
  8. Private Sub FTP_DGAC_SYS_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  9. Panel1.SendToBack() : 位置1 = -1
  10. 捷徑_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  11. 捷徑_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  12. 捷徑_dgv.ColumnHeadersHeight = 25 : 捷徑_dgv.AllowUserToAddRows = False
  13. 捷徑_dgv.RowTemplate.Height = 20 : 捷徑_dgv.Columns(0).FillWeight = 30
  14. 捷徑_dgv.Columns(0).ReadOnly = True
  15. 剔除清單_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  16. 剔除清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  17. 剔除清單_dgv.ColumnHeadersHeight = 25 : 剔除清單_dgv.AllowUserToAddRows = False
  18. 剔除清單_dgv.RowTemplate.Height = 20 : 剔除清單_dgv.Columns(0).FillWeight = 30
  19. 剔除清單_dgv.Columns(0).ReadOnly = True
  20. End Sub
  21. Private Sub FTP_DGAC_SYS_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  22. '--------------自動循環---------------------------------------------------------------------
  23. If File.Exists(Strs & "\OPAUTO.CSV") Then : 自動循環_ch.Checked = True : Else : 自動循環_ch.Checked = False : End If
  24. '--------------類計數量---------------------------------------------------------------------
  25. If File.Exists(Str + "\DLNUD.CSV") Then
  26. Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Str + "\DLNUD.CSV", System.Text.Encoding.Default)
  27. Dim Text As String = "" : Dim line As String = filereader.ReadLine()
  28. While Not (line Is Nothing) : Text = Text & line & vbCrLf : line = filereader.ReadLine() : End While : filereader.Close()
  29. 計數_nud.Value = Text
  30. Else
  31. 計數_nud.Value = 0
  32. End If
  33. '--------------FTP位置---------------------------------------------------------------------
  34. If File.Exists(Str + "\FTPLINE.CSV") Then
  35. Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Str + "\FTPLINE.CSV", System.Text.Encoding.Default)
  36. Dim Text As String = "" : Dim line As String = filereader.ReadLine()
  37. While Not (line Is Nothing) : Text = Text & line & vbCrLf : line = filereader.ReadLine() : End While : filereader.Close()
  38. 計算分流1.Enabled = True : 計算分流2.Enabled = True : 停頓1.Enabled = True
  39. Else
  40. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  41. FTP位置 = FolderBrowserDialog1.SelectedPath
  42. Dim strDirName As String
  43. If File.Exists(Strs & "\FTPLINE.CSV") Then : File.Delete(Strs & "\FTPLINE.CSV") : End If
  44. strDirName = Strs & "\FTPLINE.CSV"
  45. Try
  46. Using fs As IO.FileStream = New IO.FileStream(strDirName, FileMode.Append)
  47. Using sw As StreamWriter = New StreamWriter(fs, Encoding.Default)
  48. Dim strd As String = FTP位置
  49. sw.WriteLine(strd) '插入一整行
  50. sw.Flush()
  51. End Using
  52. End Using
  53. Catch ex As Exception
  54. End Try
  55. 計算分流1.Enabled = True : 計算分流2.Enabled = True : 停頓1.Enabled = True
  56. Else
  57. MsgBox("請先選擇資料夾路徑!!")
  58. End If
  59. End If
  60. End Sub
  61. Private Sub FTP_DGAC_SYS_Closing(sender As Object, e As EventArgs) Handles MyBase.Closing
  62. If File.Exists(Strs & "\DLNUD.CSV") Then : File.Delete(Strs & "\DLNUD.CSV") : End If
  63. strDirName = Strs & "\DLNUD.CSV"
  64. Try
  65. Using fs As IO.FileStream = New IO.FileStream(strDirName, FileMode.Append)
  66. Using sw As StreamWriter = New StreamWriter(fs, Encoding.Default)
  67. Dim str As String
  68. str = 計數_nud.Value : sw.WriteLine(str) : sw.Flush()
  69. End Using
  70. End Using
  71. Catch ex As Exception
  72. End Try
  73. End Sub
  74. Private Sub 自動運行_Tick(sender As Object, e As EventArgs) Handles 自動運行.Tick
  75. 運行自動刪除()
  76. End Sub
  77. Private Sub 停頓1_Tick(sender As Object, e As EventArgs) Handles 停頓1.Tick
  78. If 自動循環_ch.Checked = True Then : 運行自動刪除() : 自動運行.Enabled = True : End If
  79. 停頓1.Enabled = False
  80. End Sub
  81. Private Sub 計算分流1_Tick(sender As Object, e As EventArgs) Handles 計算分流1.Tick
  82. 計算分流1.Enabled = False
  83. If File.Exists(Str + "\FTPLINE.CSV") Then
  84. Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Str + "\FTPLINE.CSV", System.Text.Encoding.Default)
  85. Dim line As String = filereader.ReadLine()
  86. While Not (line Is Nothing) : FTP位置 = line : line = filereader.ReadLine() : End While
  87. filereader.Close()
  88. End If
  89. FTP主要位置_tb.Text = FTP位置 : N1 = 0 : N2 = 0 : N3 = 0 : N4 = 0 : N5 = 0 : N6 = 0
  90. 路徑暫存1_cb.Items.Clear() : 路徑暫存2_cb.Items.Clear() : 路徑暫存3_cb.Items.Clear()
  91. 路徑暫存4_cb.Items.Clear() : 路徑暫存5_cb.Items.Clear() : 路徑暫存6_cb.Items.Clear()
  92. For Each foundFile As String In My.Computer.FileSystem.GetDirectories(FTP位置)
  93. 路徑暫存1_cb.Items.Add(foundFile) : N1 += 1
  94. Next
  95. For i = 1 To N1 : For Each foundFile As String In My.Computer.FileSystem.GetDirectories(路徑暫存1_cb.Items(i - 1).ToString)
  96. 路徑暫存2_cb.Items.Add(foundFile) : N2 += 1 : Next
  97. Next
  98. For i = 1 To N2 : For Each foundFile As String In My.Computer.FileSystem.GetDirectories(路徑暫存2_cb.Items(i - 1).ToString)
  99. 路徑暫存3_cb.Items.Add(foundFile) : N3 += 1 : Next
  100. Next
  101. For i = 1 To N3 : For Each foundFile As String In My.Computer.FileSystem.GetDirectories(路徑暫存3_cb.Items(i - 1).ToString)
  102. 路徑暫存4_cb.Items.Add(foundFile) : N4 += 1 : Next
  103. Next
  104. For i = 1 To N4 : For Each foundFile As String In My.Computer.FileSystem.GetDirectories(路徑暫存4_cb.Items(i - 1).ToString)
  105. 路徑暫存5_cb.Items.Add(foundFile) : N5 += 1 : Next
  106. Next
  107. For i = 1 To N5 : For Each foundFile As String In My.Computer.FileSystem.GetDirectories(路徑暫存5_cb.Items(i - 1).ToString)
  108. 路徑暫存6_cb.Items.Add(foundFile) : N6 += 1 : Next
  109. Next
  110. 總數 = N1 + N2 + N3 + N4 + N5 + N6
  111. If N6 > 0 Then : MsgBox("子資料夾可能不只有四級,層級不足!!") : End If
  112. For i As Integer = 0 To 捷徑_dgv.Rows.Count - 1 : 捷徑_dgv.Rows.RemoveAt(0) : Next
  113. For i As Integer = 0 To 總數 - 1 : 捷徑_dgv.Rows.Insert(0) : Next
  114. For i As Integer = 0 To N1 - 1
  115. 捷徑_dgv.Rows(i).Cells(0).Value = 路徑暫存1_cb.Items(i).ToString
  116. Next
  117. For i As Integer = N1 To N1 + N2 - 1
  118. 捷徑_dgv.Rows(i).Cells(0).Value = 路徑暫存2_cb.Items(i - N1).ToString
  119. Next
  120. For i As Integer = N1 + N2 To N1 + N2 + N3 - 1
  121. 捷徑_dgv.Rows(i).Cells(0).Value = 路徑暫存3_cb.Items(i - (N1 + N2)).ToString
  122. Next
  123. For i As Integer = N1 + N2 + N3 To N1 + N2 + N3 + N4 - 1
  124. 捷徑_dgv.Rows(i).Cells(0).Value = 路徑暫存4_cb.Items(i - (N1 + N2 + N3)).ToString
  125. Next
  126. For i As Integer = N1 + N2 + N3 + N4 To N1 + N2 + N3 + N4 + N5 - 1
  127. 捷徑_dgv.Rows(i).Cells(0).Value = 路徑暫存5_cb.Items(i - (N1 + N2 + N3 + N4)).ToString
  128. Next
  129. For i As Integer = N1 + N2 + N3 + N4 + N5 To N1 + N2 + N3 + N4 + N5 + N6 - 1
  130. 捷徑_dgv.Rows(i).Cells(0).Value = 路徑暫存6_cb.Items(i - (N1 + N2 + N3 + N4 + N5)).ToString
  131. Next
  132. End Sub
  133. Private Sub 計算分流2_Tick(sender As Object, e As EventArgs) Handles 計算分流2.Tick
  134. 計算分流2.Enabled = False
  135. N7 = 0
  136. If File.Exists(Str + "\FTPDELETE.CSV") Then
  137. Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Str + "\FTPDELETE.CSV", System.Text.Encoding.Default)
  138. Dim line As String = filereader.ReadLine()
  139. While Not (line Is Nothing)
  140. line = filereader.ReadLine()
  141. If line Is Nothing Then : Else : 剔除清單_cb.Items.Add(line.ToString) : N7 += 1 : End If
  142. End While
  143. filereader.Close()
  144. End If
  145. If 剔除清單_dgv.Rows.Count > 1 Then
  146. For i As Integer = 0 To 剔除清單_dgv.Rows.Count - 1 : 剔除清單_dgv.Rows.RemoveAt(0) : Next
  147. End If
  148. If N7 > 1 Then
  149. For i As Integer = 0 To N7 - 1 : 剔除清單_dgv.Rows.Insert(0) : Next
  150. End If
  151. For i As Integer = 0 To N7 - 1
  152. 剔除清單_dgv.Rows(i).Cells(0).Value = 剔除清單_cb.Items(i).ToString
  153. Next
  154. End Sub
  155. Private Sub 剔除清單_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 剔除清單_dgv.CellClick
  156. If e.RowIndex = -1 Then : Else
  157. 位置1 = e.RowIndex
  158. End If
  159. End Sub
  160. Private Sub 讀取料夾路徑_bt_Click(sender As Object, e As EventArgs) Handles 讀取料夾路徑_bt.Click
  161. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  162. FTP位置 = FolderBrowserDialog1.SelectedPath
  163. If File.Exists(Strs & "\FTPLINE.CSV") Then : File.Delete(Strs & "\FTPLINE.CSV") : End If
  164. strDirName = Strs & "\FTPLINE.CSV"
  165. Try
  166. Using fs As IO.FileStream = New IO.FileStream(strDirName, FileMode.Append)
  167. Using sw As StreamWriter = New StreamWriter(fs, Encoding.Default)
  168. Dim strd As String = FTP位置
  169. sw.WriteLine(strd) '插入一整行
  170. sw.Flush()
  171. End Using
  172. End Using
  173. Catch ex As Exception
  174. End Try
  175. 計算分流1.Enabled = True
  176. Else
  177. MsgBox("請先選擇資料夾路徑!!")
  178. End If
  179. End Sub
  180. Private Sub 加入剔除檔案_bt_Click(sender As Object, e As EventArgs) Handles 加入剔除檔案_bt.Click
  181. If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
  182. file_name = OpenFileDialog1.SafeFileName
  183. Else : file_name = "" : End If
  184. If file_name <> "" Then
  185. 剔除清單_dgv.Rows.Insert(0) : 剔除清單_dgv.Rows(0).Cells(0).Value = file_name
  186. Dim SELE As Boolean = False
  187. If 剔除清單_dgv.Rows.Count - 1 > 0 Then
  188. SELE = True
  189. End If
  190. If SELE = True Then
  191. 剔除檔案存檔()
  192. End If
  193. Else : End If
  194. End Sub
  195. Private Sub 刪除剔除檔案_bt_Click(sender As Object, e As EventArgs) Handles 刪除剔除檔案_bt.Click
  196. If 位置1 <> -1 And 位置1 > 剔除清單_dgv.Rows.Count Then : MsgBox("沒有選擇剃除檔案!!")
  197. Else : 剔除清單_dgv.Rows.Insert(位置1) : 位置1 = -1
  198. 剔除檔案存檔()
  199. End If
  200. End Sub
  201. Private Sub 剔除檔案存檔()
  202. If File.Exists(Strs & "\FTPDELETE.CSV") Then : File.Delete(Strs & "\FTPDELETE.CSV") : End If
  203. strDirName = Strs & "\FTPDELETE.CSV"
  204. Try
  205. Using fs As IO.FileStream = New IO.FileStream(strDirName, FileMode.Append)
  206. Using sw As StreamWriter = New StreamWriter(fs, Encoding.Default)
  207. Dim str As String
  208. str = "******************" : sw.WriteLine(str)
  209. For I As Integer = 0 To 剔除清單_dgv.Rows.Count - 1
  210. str = 剔除清單_dgv.Rows(I).Cells(0).Value : sw.WriteLine(str) '插入一整行
  211. Next : sw.Flush()
  212. End Using
  213. End Using
  214. Catch ex As Exception
  215. End Try ': 計算分流2.Enabled = True
  216. End Sub
  217. Private Sub 自動循環_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 自動循環_ch.Click
  218. If 自動循環_ch.Checked = False Then
  219. If File.Exists(Strs & "\OPAUTO.CSV") Then : File.Delete(Strs & "\OPAUTO.CSV") : End If
  220. Else
  221. If File.Exists(Strs & "\OPAUTO.CSV") Then : File.Delete(Strs & "\OPAUTO.CSV") : End If
  222. strDirName = Strs & "\OPAUTO.CSV"
  223. Try
  224. Using fs As IO.FileStream = New IO.FileStream(strDirName, FileMode.Append)
  225. Using sw As StreamWriter = New StreamWriter(fs, Encoding.Default)
  226. Dim str As String
  227. str = "******************" : sw.WriteLine(str) : sw.Flush()
  228. End Using
  229. End Using
  230. Catch ex As Exception
  231. End Try
  232. End If
  233. End Sub
  234. Private Sub 運行自動刪除()
  235. If 捷徑_dgv.Rows.Count > 0 And 剔除清單_dgv.Rows.Count > 0 And FTP主要位置_tb.Text <> "" Then
  236. For ii As Integer = 0 To 剔除清單_dgv.Rows.Count - 1
  237. If File.Exists(FTP主要位置_tb.Text & "\" & 剔除清單_dgv.Rows(ii).Cells(0).Value.ToString) Then
  238. File.Delete(FTP主要位置_tb.Text & "\" & 剔除清單_dgv.Rows(ii).Cells(0).Value.ToString) : 刪除數 += 1
  239. End If
  240. Next
  241. For i As Integer = 0 To 捷徑_dgv.Rows.Count - 1
  242. For ii As Integer = 0 To 剔除清單_dgv.Rows.Count - 1
  243. If File.Exists(捷徑_dgv.Rows(i).Cells(0).Value.ToString & "\" & 剔除清單_dgv.Rows(ii).Cells(0).Value.ToString) Then
  244. File.Delete(捷徑_dgv.Rows(i).Cells(0).Value.ToString & "\" & 剔除清單_dgv.Rows(ii).Cells(0).Value.ToString) : 刪除數 += 1
  245. End If
  246. Next
  247. Next
  248. 計數_nud.Value += 刪除數
  249. Else
  250. MsgBox("系統基礎設定尚未完成!!")
  251. End If
  252. If 自動循環_ch.Checked = True Then
  253. 通知_lb.Text = "☆☆☆☆☆☆☆☆☆☆ 已自動運行 ☆☆☆☆☆☆☆☆☆☆" : 通知_lb.ForeColor = Color.Green
  254. Else
  255. 通知_lb.Text = "☆☆☆☆☆☆☆☆☆☆ 未自動運行 ☆☆☆☆☆☆☆☆☆☆" : 通知_lb.ForeColor = Color.Red
  256. End If
  257. End Sub
  258. Private Sub 運行自動刪除_bt_Click(sender As Object, e As EventArgs) Handles 運行自動刪除_bt.Click
  259. If 自動循環_ch.Checked = True Then
  260. 運行自動刪除() : 自動運行.Enabled = True
  261. Else
  262. 運行自動刪除() : MsgBox("可疑檔案刪除完成!!")
  263. End If
  264. End Sub
  265. Private Sub 計數歸零_bt_Click(sender As Object, e As EventArgs) Handles 計數歸零_bt.Click
  266. 計數_nud.Value = 0
  267. End Sub
  268. End Class