Imports System.IO Public Class SYS_UPDATE ReadOnly ds2 As New DataSet Dim 號1, 號2, 號3, 號4, 號5, fileReader As String Dim Auto_B, Verify_B As Boolean Private Sub Set_清單1() FDT_dgv.DataSource = Nothing : ds2.Clear() FDT_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing FDT_dgv.ColumnHeadersHeight = 25 FDT_dgv.AllowUserToAddRows = False SQL_FTP資料夾路徑分配() da.Fill(ds2) : FDT_dgv.DataSource = ds2.Tables(0) : conn.Close() End Sub Private Sub SYS_UPDATE_Load(sender As Object, e As EventArgs) Handles MyBase.Load 資料數 = 20 '-----------------------寫入連線字串----------------------------------------------------------------------------------------------------------------------------------------------- MyModule1.進度條() : 登入人IP = "106.1.48.106,4567" MyModule1.進度條() : SQL_連線字串_ERP() MyModule1.進度條() : 伺服器區域_cb.Text = "雲端" MyModule1.進度條() :: g_conn_type = "雲端" '-----------------------FTP資料夾登入位置宣告-------------------------------------------------------------------------------------------------------------------------------------- MyModule1.進度條() : SQL_FTP伺服器登入位置() MyModule1.進度條() : If dr.Read() Then : Target = dr("FTP地址") : FTP帳號 = dr("FTP帳號") : FTP密碼 = dr("FTP密碼") : End If : conn.Close() MyModule1.進度條() : Set_清單1() MyModule1.進度條() : Dim HH As String = "" For i As Integer = 0 To FDT_dgv.Rows.Count - 1 If i < 10 Then : HH = "0" & i : ElseIf i >= 10 Then : HH = i : End If If FDT_dgv("指定", i).Value.ToString = "AA" & HH Then : AA(i) = FDT_dgv("資料夾名稱", i).Value.ToString : End If Next End Sub Private Sub SYS_UPDATE_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown MyModule1.進度條() : Dim Strs As String = Application.StartupPath If File.Exists(Strs + "\C.txt") Then fileReader = My.Computer.FileSystem.ReadAllText(Strs + "\C.txt") fileReader = Strings.Left(fileReader, 10) End If MyModule1.進度條() : SQL_系統版本號驗證() If dr.Read() Then 號1 = dr("小更新1") : 號2 = dr("小更新2") : 號3 = dr("小更新3") : 號4 = dr("小更新4") : 號5 = dr("小更新5") : Auto_B = dr("Auto") : Verify_B = dr("Verify") End If : conn.Close() MyModule1.進度條() : Delay(30000) MyModule1.進度條() : Dim Str As String = Application.StartupPath If (fileReader = 號1 Or fileReader = 號2 Or fileReader = 號3 Or fileReader = 號4 Or fileReader = 號5) And fileReader <> "" Then '------------------------------------------系統主體--------------------------------------------------------------------------------- MyModule1.進度條() : MyModule1.進度條() : If File.Exists(Str + "\GA-ERP-SYS.exe") Then : File.Delete(Str + "\GA-ERP-SYS.exe") : End If MyModule1.進度條() : MyModule1.進度條() : Me.Text = "SYS-UPDATE........GA-ERP-SYS.exe" MyModule1.進度條() : MyModule1.進度條() : My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "GA-ERP-SYS.exe", Str + "\GA-ERP-SYS.exe") Else '------------------------------------------系統主體--------------------------------------------------------------------------------- MyModule1.進度條() : If File.Exists(Str + "\GA-ERP-SYS.exe") Then : File.Delete(Str + "\GA-ERP-SYS.exe") : End If : Me.Text = "SYS-UPDATE........GA-ERP-SYS.exe" MyModule1.進度條() : My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "GA-ERP-SYS.exe", Str + "\GA-ERP-SYS.exe") If Verify_B = True Then MyModule1.進度條() : If File.Exists(Str + "\Verify.exe") Then : File.Delete(Str + "\Verify.exe") : End If : Me.Text = "SYS-UPDATE........Verify.exe" MyModule1.進度條() : My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Verify.exe", Str + "\Verify.exe") End If If Auto_B = True Then MyModule1.進度條() : If File.Exists(Str + "\Auto.exe") Then : File.Delete(Str + "\Auto.exe") : End If : Me.Text = "SYS-UPDATE........Auto.exe" MyModule1.進度條() : My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Auto.exe", Str + "\Auto.exe") End If End If MyModule1.進度條() : Shell(Str + "\GA-ERP-SYS.exe", vbNormalFocus) Me.Close() End Sub Public Sub Delay(ByRef Interval As Double) 'Interval单位为毫秒 Dim time As DateTime = DateTime.Now Dim Span As Double = Interval * 1234 While ((DateTime.Now.Ticks - time.Ticks) < Span) Application.DoEvents() End While End Sub End Class