暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

驗貨報告資料庫.vb 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. Option Strict Off
  2. Imports System.IO
  3. Imports System.Net
  4. Public Class 驗貨報告資料庫
  5. Public Property Credentials As ICredentials
  6. Private ReadOnly ds As New DataSet
  7. Dim TT As String
  8. Private m_Leftx As Integer = 152
  9. Private m_Lefty As Integer = 0
  10. Dim m_MousePosX, m_MousePosY, m_DeltaX, m_DeltaY As Integer
  11. Private Sub Set_工程圖片資料庫狀態()
  12. Dim ds9 As New DataSet : 圖片資料庫管理_dgv.DataSource = Nothing : ds9.Clear()
  13. 圖片資料庫管理_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  14. 圖片資料庫管理_dgv.ColumnHeadersHeight = 25
  15. 圖片資料庫管理_dgv.AllowUserToAddRows = False
  16. SQL_圖片資料庫管理查詢()
  17. da.Fill(ds9) : 圖片資料庫管理_dgv.DataSource = ds9.Tables(0) : conn.Close()
  18. 圖片資料庫管理_dgv.Columns(0).FillWeight = 100 : 圖片資料庫管理_dgv.Columns(1).Visible = False
  19. End Sub
  20. Private Sub Set_DGV1載入前設定()
  21. 主表單_dgv.DataSource = Nothing : ds.Clear()
  22. 主表單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  23. 主表單_dgv.ColumnHeadersHeight = 25
  24. 主表單_dgv.AllowUserToAddRows = False
  25. End Sub
  26. Private Sub Set_DGV1載入後設定()
  27. da.Fill(ds) : 主表單_dgv.DataSource = ds.Tables(0) : conn.Close()
  28. End Sub
  29. Private Sub Set_圖片清單()
  30. Set_DGV1載入前設定() : SQL_驗貨報告圖庫表單() : Set_DGV1載入後設定()
  31. End Sub
  32. Private Sub Set_grid()
  33. 主表單_dgv.Columns(0).Width = 140 : 主表單_dgv.Columns(1).Width = 80 : 主表單_dgv.Columns(2).Width = 100
  34. 主表單_dgv.Columns(3).Width = 100 : 主表單_dgv.Columns(4).Width = 70 : 主表單_dgv.Columns(5).Width = 100
  35. End Sub
  36. Private Sub 驗貨報告資料庫_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  37. WINPROFIT_ERP_SYS.WindowState = 2 : Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  38. 驗貨報告編號_tb.Enabled = False : 年份季度_tb.Enabled = False : 客戶訂單號_tb.Enabled = False : 型體名稱_tb.Enabled = False
  39. 文件夾_tb.Visible = False : 伺服器FTP文件夾_tb.Visible = False : 圖片修改存檔_bt.Enabled = True
  40. Set_工程圖片資料庫狀態()
  41. Target1 = Target & AA(13) & "/" : WebBrowser1.Url = New Uri(Target1)
  42. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then : WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath) : End If
  43. End Sub
  44. Private Sub 圖片資料庫管理_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 圖片資料庫管理_dgv.CellClick
  45. If e.RowIndex = -1 Then : Else : PA20 = 圖片資料庫管理_dgv(0, e.RowIndex).Value.ToString : Set_圖片清單() : Set_grid() : Panel1.Visible = False : End If
  46. End Sub
  47. Private Sub 主表單_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 主表單_dgv.CellClick
  48. If e.RowIndex = -1 Then : Else
  49. 驗貨報告編號_tb.Text = 主表單_dgv(5, e.RowIndex).Value.ToString : 年份季度_tb.Text = 主表單_dgv(1, e.RowIndex).Value.ToString
  50. 客戶訂單號_tb.Text = 主表單_dgv(2, e.RowIndex).Value.ToString : 型體名稱_tb.Text = 主表單_dgv(3, e.RowIndex).Value.ToString
  51. SQL_資料庫選擇() : If dr.Read() Then : PA1 = dr("圖片資料庫").ToString : PA20 = PA1 : End If : SQL_驗貨報告圖庫3() : PictureBox1.Image = Nothing
  52. While dr.Read() = True
  53. Dim unused As Byte() = New Byte(-1) {}
  54. Dim bytes As Byte() = DirectCast(dr.Item("驗貨報告"), Byte())
  55. Dim oStream As New MemoryStream(bytes)
  56. PictureBox1.Image = Bitmap.FromStream(oStream)
  57. End While : conn.Close() : PictureBox1.SizeMode = 4
  58. End If
  59. End Sub
  60. Private Sub 主表單_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 主表單_dgv.RowPostPaint
  61. Dim linePen As New Pen(Color.Blue, 2)
  62. If e.RowIndex = 主表單_dgv.Rows.Count - 1 Then : Exit Sub : Else
  63. If 主表單_dgv(2, e.RowIndex).Value.ToString <> 主表單_dgv(2, e.RowIndex + 1).Value.ToString Then
  64. Dim startX As Integer = IIf(主表單_dgv.RowHeadersVisible, 主表單_dgv.RowHeadersWidth, 0)
  65. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  66. Dim endX As Integer = startX + 主表單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表單_dgv.HorizontalScrollingOffset
  67. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  68. End If
  69. End If
  70. End Sub
  71. Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
  72. PA = InputBox("請輸入關鍵字") : Set_DGV1載入前設定() : SQL_驗貨報告圖庫查詢() : Set_DGV1載入後設定() : Set_grid()
  73. End Sub
  74. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 下載圖片_bt.Click
  75. If 驗貨報告編號_tb.Text = "" Then : MsgBox("選擇要下載的圖片") : Else
  76. SQL_資料庫選擇() : If dr.Read() Then : PA1 = dr("圖片資料庫").ToString : PA20 = PA1 : End If
  77. With SaveFileDialog1 : .Filter = "所有文件(*.*)|*.*" : End With : TT = "驗貨報告"
  78. SaveFileDialog1.FileName = TT & "-" & 年份季度_tb.Text & "-" & 客戶訂單號_tb.Text & "-" & 型體名稱_tb.Text & ".jpg"
  79. SaveFileDialog1.ShowDialog() : 文件夾_tb.Text = SaveFileDialog1.FileName
  80. SQL_驗貨報告圖庫1() : da.Fill(ds) : conn.Close()
  81. If ds.Tables(0).Rows.Count > 0 Then
  82. Dim imgData() As Byte
  83. imgData = ds.Tables(0).Rows(0).Item("驗貨報告")
  84. Dim fs As FileStream
  85. fs = File.Create(文件夾_tb.Text, imgData.Length - 1)
  86. fs.Write(imgData, 0, imgData.Length - 1)
  87. fs.Close()
  88. End If : 文件夾_tb.Text = "" : MsgBox("下載完成")
  89. End If
  90. End Sub
  91. Private Sub Button8_Click(sender As Object, e As EventArgs) Handles 順時鐘90度旋轉_bt.Click
  92. PictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone) : PictureBox1.Refresh() : PictureBox1.SizeMode = 4
  93. End Sub
  94. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles 逆時鐘90度旋轉_bt.Click
  95. PictureBox1.Image.RotateFlip(RotateFlipType.Rotate270FlipNone) : PictureBox1.Refresh() : PictureBox1.SizeMode = 4
  96. End Sub
  97. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 水平翻轉_bt.Click
  98. PictureBox1.Image.RotateFlip(RotateFlipType.Rotate180FlipY) : PictureBox1.Refresh() : PictureBox1.SizeMode = 4
  99. End Sub
  100. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 垂直翻轉_bt.Click
  101. PictureBox1.Image.RotateFlip(RotateFlipType.Rotate180FlipX) : PictureBox1.Refresh() : PictureBox1.SizeMode = 4
  102. End Sub
  103. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 放大_bt.Click
  104. Dim image = PictureBox1.Image
  105. Dim g As Graphics = PictureBox1.CreateGraphics
  106. g.DrawImage(image, New Rectangle(0, 0, image.Width * 1.01, image.Height * 1.01))
  107. End Sub
  108. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 復原_bt.Click
  109. PictureBox1.Refresh()
  110. End Sub
  111. '@#处理鼠标按键抬起的事件,根据鼠标按下时保存的鼠标位置,和当前鼠标的位置,
  112. '计算鼠标移动偏移量,借此调用移动图片的函数,移动图片
  113. Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseUp
  114. m_DeltaX = m_MousePosX - e.X
  115. m_DeltaY = m_MousePosY - e.Y
  116. m_Leftx -= m_DeltaX
  117. m_Lefty -= m_DeltaY
  118. Picturemove(sender, e)
  119. Me.Cursor = Cursors.Arrow
  120. End Sub
  121. '@#当鼠标按下时,将鼠标变成手形,并且记录下当前鼠标的位置
  122. Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseDown
  123. Me.Cursor = Cursors.Hand
  124. m_MousePosX = e.X
  125. m_MousePosY = e.Y
  126. End Sub
  127. '@#根据偏移量计算出的图片位置,重画图片
  128. Private Sub Picturemove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
  129. Dim myBit As New Bitmap(PictureBox1.Image)
  130. Dim myPicGrh As Graphics = Me.PictureBox1.CreateGraphics
  131. myPicGrh.Clear(Me.PictureBox1.BackColor)
  132. myPicGrh.DrawImageUnscaled(myBit, m_Leftx - 152, m_Lefty)
  133. myBit.Dispose()
  134. myPicGrh.Dispose()
  135. End Sub
  136. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles 讀取料夾路徑_bt.Click
  137. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  138. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  139. End If
  140. End Sub
  141. Private Sub TextBox6_DragEnter(sender As Object, e As DragEventArgs) Handles 檔案名稱_tb.DragEnter
  142. If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  143. Dim files As String()
  144. Try
  145. files = CType(e.Data.GetData(DataFormats.FileDrop), String())
  146. 檔案名稱_tb.Text = files(files.Length - 1)
  147. Catch ex As Exception
  148. MessageBox.Show(ex.Message)
  149. Return
  150. End Try
  151. End If
  152. Dim STR2 As Integer = 0
  153. 伺服器FTP文件夾_tb.Text = 檔案名稱_tb.Text
  154. If 檔案名稱_tb.Text = "" Then
  155. Else
  156. For i As Integer = 0 To 9999
  157. Dim STR1 As Integer = Strings.Len(伺服器FTP文件夾_tb.Text)
  158. If Strings.Right((伺服器FTP文件夾_tb.Text), 1) <> "\" Then
  159. STR1 -= 1 : STR2 += 1
  160. If STR1 = 0 Then
  161. 伺服器FTP文件夾_tb.Text = ""
  162. 檔案名稱_tb.Text = ""
  163. i = 9999
  164. Else
  165. 伺服器FTP文件夾_tb.Text = Strings.Left((伺服器FTP文件夾_tb.Text), STR1)
  166. End If
  167. Else
  168. 伺服器FTP文件夾_tb.Text = Strings.Right((檔案名稱_tb.Text), STR2)
  169. 檔案名稱_tb.Text = 伺服器FTP文件夾_tb.Text
  170. i = 9999
  171. End If
  172. Next
  173. End If
  174. End Sub
  175. Private Sub TextBox6_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles 檔案名稱_tb.DragDrop
  176. Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
  177. For Each file As String In files
  178. 檔案名稱_tb.AppendText(file + Environment.NewLine)
  179. Next
  180. End Sub
  181. Private Sub Button24_Click(sender As Object, e As EventArgs) Handles 圖片修改存檔_bt.Click
  182. conn.Close()
  183. If 驗貨報告編號_tb.Text = "" Then
  184. MsgBox("請先選擇需要修改的圖片")
  185. Else
  186. If 檔案名稱_tb.Text = "" Then
  187. MsgBox("請確認圖片已準備完畢")
  188. Else
  189. SQL_資料庫選擇() : If dr.Read() Then : PA1 = dr("圖片資料庫").ToString : PA20 = PA1 : End If
  190. Dim 驗證 As String = "" : Dim 取變數 As String
  191. 取變數 = Strings.StrReverse(檔案名稱_tb.Text)
  192. For i As Integer = 1 To 10
  193. If i = 1 Then
  194. 驗證 = Strings.Left(取變數, i)
  195. Else
  196. If Strings.Mid(取變數, i, 1) = "." Then : 驗證 = Strings.StrReverse(驗證) : Exit For : Else : 驗證 &= Strings.Mid(取變數, i, 1) : End If
  197. End If
  198. Next
  199. If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then
  200. SQL_修改驗貨報告圖庫() : conn.Close()
  201. MsgBox("修改完成")
  202. '---FTP方式刪除檔案-------------------------------------------------------------------------------------------------------
  203. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  204. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  205. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  206. frq.Credentials = fcr
  207. frq.Method = WebRequestMethods.Ftp.DeleteFile
  208. frq.UseBinary = True
  209. frp = CType(frq.GetResponse, FtpWebResponse)
  210. frp.Close()
  211. WebBrowser1.Refresh()
  212. '------------------------------------------------------------------------------------------------------------------------
  213. 檔案名稱_tb.Text = ""
  214. Else
  215. '---FTP方式刪除檔案-----------------------------------------------------------------------------------------------------
  216. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  217. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  218. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  219. frq.Credentials = fcr
  220. frq.Method = WebRequestMethods.Ftp.DeleteFile
  221. frq.UseBinary = True
  222. frp = CType(frq.GetResponse, FtpWebResponse)
  223. frp.Close()
  224. WebBrowser1.Refresh()
  225. '------------------------------------------------------------------------------------------------------------------------
  226. 檔案名稱_tb.Text = ""
  227. MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。")
  228. End If
  229. Set_圖片清單() : Set_grid()
  230. End If
  231. End If
  232. End Sub
  233. End Class