Option Explicit On Imports System.IO Public Class 簽名檔管理 Dim RI As Integer = -1 Dim SK As String = "要查找的 KEY" Dim Str As String = Application.StartupPath DIM 對話框(6) As String Dim EDR As Integer = 0 : Dim ESTR As String Private Sub Set_清單() Dim ds As New DataSet 簽名_DGV.DataSource = Nothing : ds.Clear() 簽名_DGV.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 簽名_DGV.ColumnHeadersHeight = 25 : 簽名_DGV.AllowUserToAddRows = False SQL_簽名檔清單() da.Fill(ds) : 簽名_DGV.DataSource = ds.Tables(0) : conn.Close() 簽名_DGV.Columns(0).FillWeight = 221 : 簽名_DGV.Columns(1).FillWeight = 220 End Sub Private Sub ComboBox1下拉表單資料載入() SQL_姓名清單() : 簽名檔持有人_cb.Items.Clear() : While (dr.Read()) : 簽名檔持有人_cb.Items.Add(dr("姓名")) : End While : conn.Close() End Sub Private Sub Set_語言() 語言_dgv.DataSource = Nothing 語言_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 語言_dgv.ColumnHeadersHeight = 25 語言_dgv.AllowUserToAddRows = False For i As Integer = 0 To 語言_dgv.Rows.Count - 1 : 語言_dgv.Rows.RemoveAt(0) : Next If File.Exists(Str + "\LANGUAGE_FILE.csv") Then Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Str + "\LANGUAGE_FILE.csv", System.Text.Encoding.Default) Dim line As String = filereader.ReadLine() While Not (line Is Nothing) line = filereader.ReadLine() If line <> Nothing Then line = line.Replace("""", "") If Strings.Left(line, 4) = "G000" Or Strings.Left(line, 8) = "H001-232" Or Strings.Left(line, 4) = 介面 Then If 系統語言 = "繁體中文" Then If Strings.Mid(line, 10, 2) = "CH" Then : 語言_dgv.Rows.Insert(0) 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11) If Strings.Mid(line, 13, 300).EndsWith(",") Then 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1) Else : 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If End If ElseIf 系統語言 = "English" Then If Strings.Mid(line, 10, 2) = "EN" Then : 語言_dgv.Rows.Insert(0) 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11) If Strings.Mid(line, 13, 300).EndsWith(",") Then 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1) Else : 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If End If ElseIf 系統語言 = "Indonesian" Then If Strings.Mid(line, 10, 2) = "IN" Then : 語言_dgv.Rows.Insert(0) 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11) If Strings.Mid(line, 13, 300).EndsWith(",") Then 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1) Else : 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If End If End If End If End If End While filereader.Close() End If End Sub Private Sub Set_語言查詢() RI = -1 : For Each row As DataGridViewRow In 語言_dgv.Rows If Strings.Left(row.Cells(0).Value.ToString(), 8) = SK Then RI = row.Index : Exit For End If Next End Sub Private Sub 語言轉換讀取() Set_語言() SK = "H001-232" : Set_語言查詢() : Me.Text = 語言_dgv(1, RI).Value.ToString : SK = "G000-108" : Set_語言查詢() : ToolTip1.ToolTipTitle = 語言_dgv(1, RI).Value.ToString SK = "H711-100" : Set_語言查詢() : 對話框(0) = 語言_dgv(1, RI).Value.ToString : SK = "H711-101" : Set_語言查詢() : 對話框(1) = 語言_dgv(1, RI).Value.ToString SK = "H711-102" : Set_語言查詢() : 表頭(87) = 語言_dgv(1, RI).Value.ToString : SK = "H711-103" : Set_語言查詢() : 表頭(162) = 語言_dgv(1, RI).Value.ToString SK = "H711-104" : Set_語言查詢() : 圖檔編號_lb.Text = 語言_dgv(1, RI).Value.ToString : SK = "H711-105" : Set_語言查詢() : 對話框(2) = 語言_dgv(1, RI).Value.ToString SK = "H711-106" : Set_語言查詢() : 簽名檔持有人_lb.Text = 語言_dgv(1, RI).Value.ToString : SK = "H711-107" : Set_語言查詢() : 對話框(3) = 語言_dgv(1, RI).Value.ToString SK = "H711-108" : Set_語言查詢() : 對話框(4) = 語言_dgv(1, RI).Value.ToString : SK = "H711-109" : Set_語言查詢() : 對話框(5) = 語言_dgv(1, RI).Value.ToString SK = "G000-124" : Set_語言查詢() : 對話框(6) = 語言_dgv(1, RI).Value.ToString End Sub Private Sub 讀取料夾路徑_bt_MouseEnter(sender As Object, e As EventArgs) Handles 讀取料夾路徑_bt.MouseEnter ToolTip1.SetToolTip(Me.讀取料夾路徑_bt, 對話框(3)) End Sub Private Sub 生成圖檔編號_bt_MouseEnter(sender As Object, e As EventArgs) Handles 生成圖檔編號_bt.MouseEnter ToolTip1.SetToolTip(Me.生成圖檔編號_bt, 對話框(0)) End Sub Private Sub 圖檔入系統_bt_MouseEnter(sender As Object, e As EventArgs) Handles 簽名檔入系統_bt.MouseEnter ToolTip1.SetToolTip(Me.簽名檔入系統_bt, 對話框(2)) End Sub Private Sub 刪除簽名檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除簽名檔_bt.MouseEnter ToolTip1.SetToolTip(Me.刪除簽名檔_bt, 對話框(1)) End Sub Private Sub 簽名檔管理_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True 檔案讀取_tb.Visible = False : Panel1.SendToBack() End Sub Private Sub 簽名檔管理_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown H(711) = True : 介面 = "H711" : 語言轉換讀取() : 顯示說明(999, False) Set_清單() : ComboBox1下拉表單資料載入() If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then : Web2.Navigate(FolderBrowserDialog1.SelectedPath) : End If End Sub Private Sub 簽名檔管理_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed H(711) = False : MyMod.虛擬桌面開啟() End Sub Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True End Sub Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True End Sub Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 簽名_DGV.CellClick If e.RowIndex = -1 Then : Else 圖檔編號_tb.Text = 簽名_DGV(0, e.RowIndex).Value.ToString : 簽名檔持有人_cb.Text = 簽名_DGV(1, e.RowIndex).Value.ToString PA20 = 圖檔編號_tb.Text : SQL_簽名檔圖片讀取() While dr.Read() = True Dim unused As Byte() = New Byte(-1) {} Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte()) Dim oStream As New MemoryStream(bytes) 簽名_PB.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 簽名_PB.SizeMode = 4 End If End Sub Private Sub 簽名檔入系統_bt_Click(sender As Object, e As EventArgs) Handles 簽名檔入系統_bt.Click If 圖檔編號_tb.Text = "" Then : MGB(對話框(4), 1) : Else If 檔案名稱_tb.Text = "" Then : MGB(對話框(5), 1) : Else Dim 驗證 As String = "" : Dim 取變數 As String : 取變數 = Strings.StrReverse(檔案名稱_tb.Text) For i As Integer = 1 To 10 If i = 1 Then : 驗證 = Strings.Left(取變數, i) : Else If Strings.Mid(取變數, i, 1) = "." Then : 驗證 = Strings.StrReverse(驗證) : Exit For : Else : 驗證 &= Strings.Mid(取變數, i, 1) : End If End If Next If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then PA49 = 檔案路徑_be.Value : PA20 = 圖檔編號_tb.Text : PA21 = 簽名檔持有人_cb.Text : SQL_簽名檔新增() 檔案名稱_tb.Text = "" : SQL_簽名檔圖片讀取() While dr.Read() = True Dim unused As Byte() = New Byte(-1) {} Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte()) Dim oStream As New MemoryStream(bytes) 簽名_PB.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 簽名_PB.SizeMode = 4 : Set_清單() : 圖檔編號_tb.Text = "" End If End If End If End Sub Private Sub 生成圖檔編號_bt_Click(sender As Object, e As EventArgs) Handles 生成圖檔編號_bt.Click SQL_簽名檔最末編號讀取() If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("圖片流水號").ToString, 8)) : Else : EDR = 0 : End If : conn.Close() : EDR += 1 If EDR < 10 Then : ESTR = "PG" & "0000000" & EDR : ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PG" & "000000" & EDR ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PG" & "00000" & EDR : ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PG" & "0000" & EDR ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PG" & "000" & EDR : ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PG" & "00" & EDR ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PG" & "0" & EDR : ElseIf EDR > 9999999 Then : ESTR = "PG" & EDR : End If : 圖檔編號_tb.Text = ESTR End Sub Private Sub 檔案名稱_tb_DragEnter(sender As Object, e As DragEventArgs) Handles 檔案名稱_tb.DragEnter If e.Data.GetDataPresent(DataFormats.FileDrop) Then Dim files As String() Try files = CType(e.Data.GetData(DataFormats.FileDrop), String()) 檔案名稱_tb.Text = files(files.Length - 1) Catch ex As Exception MessageBox.Show(ex.Message) Return End Try End If '-------確認檔案是圖片--------------------------------------------------------------------------------------------------------------- Dim 驗證 As String = "" : Dim 取變數 As String : 取變數 = Strings.StrReverse(檔案名稱_tb.Text) For i As Integer = 1 To 10 If i = 1 Then : 驗證 = Strings.Left(取變數, i) : Else If Strings.Mid(取變數, i, 1) = "." Then : 驗證 = Strings.StrReverse(驗證) : Exit For : Else : 驗證 &= Strings.Mid(取變數, i, 1) : End If End If Next If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then 簽名_PB.Image = Image.FromFile(檔案名稱_tb.Text) : 簽名_PB.SizeMode = 4 End If Dim STR2 As Integer = 0 : 檔案讀取_tb.Text = 檔案名稱_tb.Text : 檔案路徑_be.Value = 檔案名稱_tb.Text If 檔案名稱_tb.Text = "" Then : Else For i As Integer = 0 To 9999 Dim STR1 As Integer = Strings.Len(檔案讀取_tb.Text) If Strings.Right((檔案讀取_tb.Text), 1) <> "\" Then : STR1 -= 1 : STR2 += 1 If STR1 = 0 Then : 檔案讀取_tb.Text = "" : 檔案名稱_tb.Text = "" : i = 9999 Else : 檔案讀取_tb.Text = Strings.Left((檔案讀取_tb.Text), STR1) : End If Else : 檔案讀取_tb.Text = Strings.Right((檔案名稱_tb.Text), STR2) : 檔案名稱_tb.Text = 檔案讀取_tb.Text : i = 9999 : End If Next End If End Sub Private Sub 檔案名稱_tb_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles 檔案名稱_tb.DragDrop Dim files As Array = e.Data.GetData(DataFormats.FileDrop) : For Each file As String In files : 檔案名稱_tb.AppendText(file + Environment.NewLine) : Next End Sub Private Sub 刪除簽名檔_bt_Click(sender As Object, e As EventArgs) Handles 刪除簽名檔_bt.Click MGB(對話框(6), 2) : If 訊息回應 = "YES" Then : PA20 = 圖檔編號_tb.Text : SQL_簽名檔刪除() : Set_清單() : 圖檔編號_tb.Text = "" : End If End Sub Private Sub 讀取料夾路徑_bt_Click(sender As Object, e As EventArgs) Handles 讀取料夾路徑_bt.Click If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then : Web2.Navigate(FolderBrowserDialog1.SelectedPath) : End If End Sub Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click 介面 = "H711" : 語言轉換讀取() : Set_清單() End Sub End Class