123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- Option Strict Off
- Imports System.IO
- Imports System.Net
- Public Class 驗貨報告資料庫
- Public Property Credentials As ICredentials
- Private ReadOnly ds As New DataSet
- Dim TT As String
- Private m_Leftx As Integer = 152
- Private m_Lefty As Integer = 0
- Dim m_MousePosX, m_MousePosY, m_DeltaX, m_DeltaY As Integer
- Private Sub Set_工程圖片資料庫狀態()
- Dim ds9 As New DataSet : 圖片資料庫管理_dgv.DataSource = Nothing : ds9.Clear()
- 圖片資料庫管理_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 圖片資料庫管理_dgv.ColumnHeadersHeight = 25
- 圖片資料庫管理_dgv.AllowUserToAddRows = False
- SQL_圖片資料庫管理查詢()
- da.Fill(ds9) : 圖片資料庫管理_dgv.DataSource = ds9.Tables(0) : conn.Close()
- 圖片資料庫管理_dgv.Columns(0).FillWeight = 100 : 圖片資料庫管理_dgv.Columns(1).Visible = False
- End Sub
- Private Sub Set_DGV1載入前設定()
- 主表單_dgv.DataSource = Nothing : ds.Clear()
- 主表單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表單_dgv.ColumnHeadersHeight = 25
- 主表單_dgv.AllowUserToAddRows = False
- End Sub
- Private Sub Set_DGV1載入後設定()
- da.Fill(ds) : 主表單_dgv.DataSource = ds.Tables(0) : conn.Close()
- End Sub
- Private Sub Set_圖片清單()
- Set_DGV1載入前設定() : SQL_驗貨報告圖庫表單() : Set_DGV1載入後設定()
- End Sub
- Private Sub Set_grid()
- 主表單_dgv.Columns(0).Width = 140 : 主表單_dgv.Columns(1).Width = 80 : 主表單_dgv.Columns(2).Width = 100
- 主表單_dgv.Columns(3).Width = 100 : 主表單_dgv.Columns(4).Width = 70 : 主表單_dgv.Columns(5).Width = 100
- 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
- 驗貨報告編號_tb.Enabled = False : 年份季度_tb.Enabled = False : 客戶訂單號_tb.Enabled = False : 型體名稱_tb.Enabled = False
- 文件夾_tb.Visible = False : 伺服器FTP文件夾_tb.Visible = False : 圖片修改存檔_bt.Enabled = True
- Set_工程圖片資料庫狀態()
- Target1 = Target & AA(13) & "/" : WebBrowser1.Url = New Uri(Target1)
- If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then : WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath) : End If
- End Sub
- Private Sub 圖片資料庫管理_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 圖片資料庫管理_dgv.CellClick
- If e.RowIndex = -1 Then : Else : PA20 = 圖片資料庫管理_dgv(0, e.RowIndex).Value.ToString : Set_圖片清單() : Set_grid() : Panel1.Visible = False : End If
- End Sub
- Private Sub 主表單_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 主表單_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 驗貨報告編號_tb.Text = 主表單_dgv(5, e.RowIndex).Value.ToString : 年份季度_tb.Text = 主表單_dgv(1, e.RowIndex).Value.ToString
- 客戶訂單號_tb.Text = 主表單_dgv(2, e.RowIndex).Value.ToString : 型體名稱_tb.Text = 主表單_dgv(3, e.RowIndex).Value.ToString
- SQL_資料庫選擇() : If dr.Read() Then : PA1 = dr("圖片資料庫").ToString : PA20 = PA1 : End If : SQL_驗貨報告圖庫3() : PictureBox1.Image = Nothing
- 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 主表單_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 主表單_dgv.RowPostPaint
- Dim linePen As New Pen(Color.Blue, 2)
- If e.RowIndex = 主表單_dgv.Rows.Count - 1 Then : Exit Sub : Else
- If 主表單_dgv(2, e.RowIndex).Value.ToString <> 主表單_dgv(2, e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(主表單_dgv.RowHeadersVisible, 主表單_dgv.RowHeadersWidth, 0)
- Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + 主表單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表單_dgv.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
- End If
- End If
- End Sub
- Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
- PA = InputBox("請輸入關鍵字") : Set_DGV1載入前設定() : SQL_驗貨報告圖庫查詢() : Set_DGV1載入後設定() : Set_grid()
- End Sub
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 下載圖片_bt.Click
- If 驗貨報告編號_tb.Text = "" Then : MsgBox("選擇要下載的圖片") : Else
- SQL_資料庫選擇() : If dr.Read() Then : PA1 = dr("圖片資料庫").ToString : PA20 = PA1 : End If
- With SaveFileDialog1 : .Filter = "所有文件(*.*)|*.*" : End With : TT = "驗貨報告"
- SaveFileDialog1.FileName = TT & "-" & 年份季度_tb.Text & "-" & 客戶訂單號_tb.Text & "-" & 型體名稱_tb.Text & ".jpg"
- SaveFileDialog1.ShowDialog() : 文件夾_tb.Text = SaveFileDialog1.FileName
- SQL_驗貨報告圖庫1() : da.Fill(ds) : conn.Close()
- If ds.Tables(0).Rows.Count > 0 Then
- Dim imgData() As Byte
- imgData = ds.Tables(0).Rows(0).Item("驗貨報告")
- Dim fs As FileStream
- fs = File.Create(文件夾_tb.Text, imgData.Length - 1)
- fs.Write(imgData, 0, imgData.Length - 1)
- fs.Close()
- End If : 文件夾_tb.Text = "" : MsgBox("下載完成")
- End If
- End Sub
- Private Sub Button8_Click(sender As Object, e As EventArgs) Handles 順時鐘90度旋轉_bt.Click
- PictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone) : PictureBox1.Refresh() : PictureBox1.SizeMode = 4
- End Sub
- Private Sub Button7_Click(sender As Object, e As EventArgs) Handles 逆時鐘90度旋轉_bt.Click
- PictureBox1.Image.RotateFlip(RotateFlipType.Rotate270FlipNone) : PictureBox1.Refresh() : PictureBox1.SizeMode = 4
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 水平翻轉_bt.Click
- PictureBox1.Image.RotateFlip(RotateFlipType.Rotate180FlipY) : PictureBox1.Refresh() : PictureBox1.SizeMode = 4
- End Sub
- Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 垂直翻轉_bt.Click
- PictureBox1.Image.RotateFlip(RotateFlipType.Rotate180FlipX) : PictureBox1.Refresh() : PictureBox1.SizeMode = 4
- End Sub
- Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 放大_bt.Click
- Dim image = PictureBox1.Image
- Dim g As Graphics = PictureBox1.CreateGraphics
- g.DrawImage(image, New Rectangle(0, 0, image.Width * 1.01, image.Height * 1.01))
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 復原_bt.Click
- PictureBox1.Refresh()
- End Sub
- '@#处理鼠标按键抬起的事件,根据鼠标按下时保存的鼠标位置,和当前鼠标的位置,
- '计算鼠标移动偏移量,借此调用移动图片的函数,移动图片
- Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseUp
- m_DeltaX = m_MousePosX - e.X
- m_DeltaY = m_MousePosY - e.Y
- m_Leftx -= m_DeltaX
- m_Lefty -= m_DeltaY
- Picturemove(sender, e)
- Me.Cursor = Cursors.Arrow
- End Sub
- '@#当鼠标按下时,将鼠标变成手形,并且记录下当前鼠标的位置
- Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseDown
- Me.Cursor = Cursors.Hand
- m_MousePosX = e.X
- m_MousePosY = e.Y
- End Sub
- '@#根据偏移量计算出的图片位置,重画图片
- Private Sub Picturemove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
- Dim myBit As New Bitmap(PictureBox1.Image)
- Dim myPicGrh As Graphics = Me.PictureBox1.CreateGraphics
- myPicGrh.Clear(Me.PictureBox1.BackColor)
- myPicGrh.DrawImageUnscaled(myBit, m_Leftx - 152, m_Lefty)
- myBit.Dispose()
- myPicGrh.Dispose()
- End Sub
- Private Sub Button9_Click(sender As Object, e As EventArgs) Handles 讀取料夾路徑_bt.Click
- If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
- WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
- End If
- End Sub
- Private Sub TextBox6_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
- 伺服器FTP文件夾_tb.Text = 檔案名稱_tb.Text
- If 檔案名稱_tb.Text = "" Then
- Else
- For i As Integer = 0 To 9999
- Dim STR1 As Integer = Strings.Len(伺服器FTP文件夾_tb.Text)
- If Strings.Right((伺服器FTP文件夾_tb.Text), 1) <> "\" Then
- STR1 -= 1 : STR2 += 1
- If STR1 = 0 Then
- 伺服器FTP文件夾_tb.Text = ""
- 檔案名稱_tb.Text = ""
- i = 9999
- Else
- 伺服器FTP文件夾_tb.Text = Strings.Left((伺服器FTP文件夾_tb.Text), STR1)
- End If
- Else
- 伺服器FTP文件夾_tb.Text = Strings.Right((檔案名稱_tb.Text), STR2)
- 檔案名稱_tb.Text = 伺服器FTP文件夾_tb.Text
- i = 9999
- End If
- Next
- End If
- End Sub
- Private Sub TextBox6_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 Button24_Click(sender As Object, e As EventArgs) Handles 圖片修改存檔_bt.Click
- conn.Close()
- If 驗貨報告編號_tb.Text = "" Then
- MsgBox("請先選擇需要修改的圖片")
- Else
- If 檔案名稱_tb.Text = "" Then
- MsgBox("請確認圖片已準備完畢")
- Else
- SQL_資料庫選擇() : If dr.Read() Then : PA1 = dr("圖片資料庫").ToString : PA20 = PA1 : 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
- SQL_修改驗貨報告圖庫() : conn.Close()
- MsgBox("修改完成")
- '---FTP方式刪除檔案-------------------------------------------------------------------------------------------------------
- Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
- frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
- fcr = New NetworkCredential(FTP帳號, FTP密碼)
- frq.Credentials = fcr
- frq.Method = WebRequestMethods.Ftp.DeleteFile
- frq.UseBinary = True
- frp = CType(frq.GetResponse, FtpWebResponse)
- frp.Close()
- WebBrowser1.Refresh()
- '------------------------------------------------------------------------------------------------------------------------
- 檔案名稱_tb.Text = ""
- Else
- '---FTP方式刪除檔案-----------------------------------------------------------------------------------------------------
- Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
- frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
- fcr = New NetworkCredential(FTP帳號, FTP密碼)
- frq.Credentials = fcr
- frq.Method = WebRequestMethods.Ftp.DeleteFile
- frq.UseBinary = True
- frp = CType(frq.GetResponse, FtpWebResponse)
- frp.Close()
- WebBrowser1.Refresh()
- '------------------------------------------------------------------------------------------------------------------------
- 檔案名稱_tb.Text = ""
- MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。")
- End If
- Set_圖片清單() : Set_grid()
- End If
- End If
- End Sub
- End Class
|