Option Explicit On Imports System.Net Imports System.IO Imports System.Windows.Forms.VisualStyles.VisualStyleElement Public Class 簽名檔管理 Public Property Credentials As ICredentials Private ReadOnly ds, ds1 As New DataSet Dim EDR As Integer = 0 : Dim ESTR As String Private Sub Set_清單() 簽名檔_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).Width = 221 : 簽名檔_dgv.Columns(1).Width = 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 簽名檔管理_Load(sender As Object, e As EventArgs) Handles MyBase.Load WINPROFIT_ERP_SYS.WindowState = 2 : Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True Set_清單() : TextBox3.Visible = False ComboBox1下拉表單資料載入() If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath) End If 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 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) PictureBox1.Image = Bitmap.FromStream(oStream) End While conn.Close() PictureBox1.SizeMode = 4 End If End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 簽名檔入系統_bt.Click If 圖檔編號_tb.Text = "" Then : MsgBox("請先將要入庫的編號準備好") : Else If 檔案名稱_tb.Text = "" Then : MsgBox("請先確定圖片資料已準備完畢") : 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 = TextBox3.Text : SQL_新增簽名檔管理() : conn.Close() 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) PictureBox1.Image = Bitmap.FromStream(oStream) End While : conn.Close() : PictureBox1.SizeMode = 4 MsgBox("修改完成") : Set_清單() : 圖檔編號_tb.Text = "" : 檔案名稱_tb.Text = "" Else : 檔案名稱_tb.Text = "" : MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。") : End If End If End If End Sub Private Sub Button1_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 TextBox4_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 STR2 As Integer = 0 : TextBox3.Text = 檔案名稱_tb.Text If 檔案名稱_tb.Text = "" Then : Else For i As Integer = 0 To 9999 : Dim STR1 As Integer = Strings.Len(TextBox3.Text) If Strings.Right((TextBox3.Text), 1) <> "\" Then : STR1 -= 1 : STR2 += 1 If STR1 = 0 Then : TextBox3.Text = "" : 檔案名稱_tb.Text = "" : i = 9999 Else : TextBox3.Text = Strings.Left((TextBox3.Text), STR1) : End If Else TextBox3.Text = Strings.Right((檔案名稱_tb.Text), STR2) 檔案名稱_tb.Text = TextBox3.Text : i = 9999 End If Next Dim files As String() : files = CType(e.Data.GetData(DataFormats.FileDrop), String()) TextBox3.Text = files(files.Length - 1) End If End Sub Private Sub TextBox4_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 Button3_Click(sender As Object, e As EventArgs) Handles 刪除簽名檔_bt.Click Dim aa As MsgBoxResult aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then : SQL_刪除簽名檔管理() : Set_清單() : 圖檔編號_tb.Text = "" : End If End Sub End Class