Aucune description
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

車輛保養紀錄表.vb 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. Option Explicit On
  2. Imports System.Net
  3. Imports System.IO
  4. Public Class 車輛保養紀錄表
  5. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet
  6. Dim EDR As Integer = 0 : Dim ESTR As String
  7. Private m_Leftx As Integer = 152
  8. Private m_Lefty As Integer = 0
  9. Dim m_MousePosX As Integer
  10. Dim m_MousePosY As Integer
  11. Dim m_DeltaX As Integer
  12. Dim m_DeltaY As Integer
  13. ReadOnly m_StrecthX As Double
  14. ReadOnly m_StrecthY As Double
  15. Private Sub Set_清單()
  16. 紀錄清單_dgv.DataSource = Nothing : ds.Clear()
  17. 紀錄清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  18. 紀錄清單_dgv.ColumnHeadersHeight = 25
  19. 紀錄清單_dgv.AllowUserToAddRows = False
  20. SQL_車輛保養紀錄表()
  21. da.Fill(ds) : 紀錄清單_dgv.DataSource = ds.Tables(0) : conn.Close()
  22. 紀錄清單_dgv.Columns(0).Visible = False : 紀錄清單_dgv.Columns(1).Visible = False : 紀錄清單_dgv.Columns(2).FillWeight = 100 : 紀錄清單_dgv.Columns(3).FillWeight = 100
  23. 紀錄清單_dgv.Columns(4).FillWeight = 100
  24. 紀錄清單_dgv.Columns(4).DefaultCellStyle.Format = "#,##0"
  25. 紀錄清單_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 紀錄清單_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  26. End Sub
  27. Private Sub ComboBox1下拉表單資料載入()
  28. SQL_車牌號碼清單() : 車牌號碼_cb.Items.Clear() : While (dr.Read()) : 車牌號碼_cb.Items.Add(dr("車牌號碼")) : End While : conn.Close()
  29. End Sub
  30. Private Sub 車輛保養紀錄表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  31. Me.MdiParent = MAOJI_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  32. 流水號_tb.Visible = False : 檔名讀取_tb.Visible = False : ComboBox1下拉表單資料載入()
  33. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  34. 本機資料夾_wb.Navigate(FolderBrowserDialog1.SelectedPath)
  35. End If
  36. Target1 = Target & AA(1) & "/"
  37. FTP資料夾_wb.Url = New Uri(Target1)
  38. End Sub
  39. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 紀錄清單_dgv.CellClick
  40. If e.RowIndex = -1 Then : Else
  41. 保養日期_dtp.Value = 紀錄清單_dgv.Rows(e.RowIndex).Cells("保養日期").Value.ToString : 預保日期_dtp.Value = 紀錄清單_dgv.Rows(e.RowIndex).Cells("預保日期").Value.ToString
  42. 里程數_nud.Value = 紀錄清單_dgv.Rows(e.RowIndex).Cells("里程數").Value.ToString : 流水號_tb.Text = 紀錄清單_dgv.Rows(e.RowIndex).Cells("流水號").Value.ToString
  43. Set_圖片顯示()
  44. End If
  45. End Sub
  46. Private Sub TextBox4_DragEnter(sender As Object, e As DragEventArgs) Handles 檔案名稱_tb.DragEnter
  47. If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  48. Dim files As String()
  49. Try
  50. files = CType(e.Data.GetData(DataFormats.FileDrop), String())
  51. 檔案名稱_tb.Text = files(files.Length - 1)
  52. Catch ex As Exception
  53. MessageBox.Show(ex.Message)
  54. Return
  55. End Try
  56. End If
  57. Dim STR2 As Integer = 0
  58. 檔名讀取_tb.Text = 檔案名稱_tb.Text
  59. If 檔案名稱_tb.Text = "" Then
  60. Else
  61. For i As Integer = 0 To 9999
  62. Dim STR1 As Integer = Strings.Len(檔名讀取_tb.Text)
  63. If Strings.Right((檔名讀取_tb.Text), 1) <> "\" Then
  64. STR1 -= 1 : STR2 += 1
  65. If STR1 = 0 Then
  66. 檔名讀取_tb.Text = ""
  67. 檔案名稱_tb.Text = ""
  68. i = 9999
  69. Else
  70. 檔名讀取_tb.Text = Strings.Left((檔名讀取_tb.Text), STR1)
  71. End If
  72. Else
  73. 檔名讀取_tb.Text = Strings.Right((檔案名稱_tb.Text), STR2)
  74. 檔案名稱_tb.Text = 檔名讀取_tb.Text
  75. i = 9999
  76. End If
  77. Next
  78. End If
  79. End Sub
  80. Private Sub TextBox4_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles 檔案名稱_tb.DragDrop
  81. Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
  82. For Each file As String In files
  83. 檔案名稱_tb.AppendText(file + Environment.NewLine)
  84. Next
  85. End Sub
  86. Private Sub Button14_Click(sender As Object, e As EventArgs) Handles 讀取資料夾路徑_bt.Click
  87. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  88. 本機資料夾_wb.Navigate(FolderBrowserDialog1.SelectedPath)
  89. End If
  90. End Sub
  91. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 車牌號碼_cb.SelectedIndexChanged
  92. Set_清單()
  93. End Sub
  94. Private Sub Set_日期格式轉換()
  95. DTP1 = Format(保養日期_dtp.Value, "yyyy/MM/dd") : DTP2 = Format(預保日期_dtp.Value, "yyyy/MM/dd")
  96. End Sub
  97. Private Sub Set_流水號()
  98. SQL_車輛保養紀錄表流水號最後一筆()
  99. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 8)) : Else : EDR = 0 : End If
  100. conn.Close()
  101. EDR += 1
  102. If EDR < 10 Then : ESTR = "VM" & "0000000" & EDR
  103. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "VM" & "000000" & EDR
  104. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "VM" & "00000" & EDR
  105. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "VM" & "0000" & EDR
  106. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "VM" & "000" & EDR
  107. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "VM" & "00" & EDR
  108. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "VM" & "0" & EDR
  109. ElseIf EDR > 9999999 Then : ESTR = "VM" & EDR
  110. End If
  111. 流水號_tb.Text = ESTR
  112. Set_日期格式轉換()
  113. End Sub
  114. Private Sub Set_圖片顯示()
  115. 報告圖_pb.Image = Nothing
  116. SQL_車輛保養紀錄表圖片讀取()
  117. While dr.Read() = True
  118. Dim unused As Byte() = New Byte(-1) {}
  119. Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  120. Dim oStream As New MemoryStream(bytes)
  121. 報告圖_pb.Image = Bitmap.FromStream(oStream)
  122. End While
  123. conn.Close()
  124. 報告圖_pb.SizeMode = 4
  125. End Sub
  126. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 新增資料_bt.Click
  127. If 車牌號碼_cb.Text = "" Then
  128. MsgBox("請先輸入車牌,或選擇車牌")
  129. Else
  130. If 檔案名稱_tb.Text = "" Then
  131. Set_流水號() : SQL_車輛保養紀錄表新增_無圖片() : conn.Close() : 檔案名稱_tb.Text = "" : Set_圖片顯示() : 流水號_tb.Text = ""
  132. Else
  133. Set_流水號() : SQL_車輛保養紀錄表新增_有圖片() : conn.Close()
  134. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  135. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  136. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  137. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  138. frq.Credentials = fcr
  139. frq.Method = WebRequestMethods.Ftp.DeleteFile
  140. frq.UseBinary = True
  141. frp = CType(frq.GetResponse, FtpWebResponse)
  142. frp.Close()
  143. FTP資料夾_wb.Refresh()
  144. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  145. 檔案名稱_tb.Text = ""
  146. Set_圖片顯示()
  147. 流水號_tb.Text = ""
  148. End If
  149. Set_清單()
  150. End If
  151. End Sub
  152. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 修改資料_bt.Click
  153. If 車牌號碼_cb.Text = "" Then
  154. MsgBox("請先輸入車牌,或選擇車牌")
  155. Else
  156. If 檔案名稱_tb.Text = "" Then
  157. Set_日期格式轉換()
  158. SQL_車輛保養紀錄表修改_無圖片() : conn.Close()
  159. 檔案名稱_tb.Text = "" : Set_圖片顯示() : 流水號_tb.Text = ""
  160. Else
  161. conn.Close() : Set_日期格式轉換()
  162. SQL_車輛保養紀錄表修改_有圖片() : conn.Close()
  163. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  164. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  165. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  166. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  167. frq.Credentials = fcr
  168. frq.Method = WebRequestMethods.Ftp.DeleteFile
  169. frq.UseBinary = True
  170. frp = CType(frq.GetResponse, FtpWebResponse)
  171. frp.Close()
  172. FTP資料夾_wb.Refresh()
  173. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  174. 檔案名稱_tb.Text = ""
  175. Set_圖片顯示()
  176. 流水號_tb.Text = ""
  177. End If
  178. MsgBox("修改完成") : Set_清單()
  179. End If
  180. End Sub
  181. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles 順時鐘90度_bt.Click
  182. 報告圖_pb.Image.RotateFlip(RotateFlipType.Rotate90FlipNone) : 報告圖_pb.Refresh() : 報告圖_pb.SizeMode = 4
  183. End Sub
  184. Private Sub Button8_Click(sender As Object, e As EventArgs) Handles 逆時鐘90度_bt.Click
  185. 報告圖_pb.Image.RotateFlip(RotateFlipType.Rotate270FlipNone) : 報告圖_pb.Refresh() : 報告圖_pb.SizeMode = 4
  186. End Sub
  187. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles 水平翻轉_bt.Click
  188. 報告圖_pb.Image.RotateFlip(RotateFlipType.Rotate180FlipY) : 報告圖_pb.Refresh() : 報告圖_pb.SizeMode = 4
  189. End Sub
  190. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles 垂直翻轉_bt.Click
  191. 報告圖_pb.Image.RotateFlip(RotateFlipType.Rotate180FlipX) : 報告圖_pb.Refresh() : 報告圖_pb.SizeMode = 4
  192. End Sub
  193. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 放大_bt.Click
  194. Dim image = 報告圖_pb.Image
  195. Dim g As Graphics = 報告圖_pb.CreateGraphics
  196. g.DrawImage(image, New Rectangle(0, 0, image.Width * 2, image.Height * 2))
  197. End Sub
  198. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 復原_bt.Click
  199. 報告圖_pb.Refresh()
  200. End Sub
  201. ''@#处理鼠标按键抬起的事件,根据鼠标按下时保存的鼠标位置,和当前鼠标的位置,
  202. ''计算鼠标移动偏移量,借此调用移动图片的函数,移动图片
  203. 'Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs) Handles 報告圖_pb.MouseUp
  204. ' m_DeltaX = m_MousePosX - e.X
  205. ' m_DeltaY = m_MousePosY - e.Y
  206. ' m_Leftx -= m_DeltaX
  207. ' m_Lefty -= m_DeltaY
  208. ' Picturemove(sender, e)
  209. ' Me.Cursor = Cursors.Arrow
  210. 'End Sub
  211. ''@#当鼠标按下时,将鼠标变成手形,并且记录下当前鼠标的位置
  212. 'Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles 報告圖_pb.MouseDown
  213. ' Me.Cursor = Cursors.Hand
  214. ' m_MousePosX = e.X
  215. ' m_MousePosY = e.Y
  216. 'End Sub
  217. ''@#根据偏移量计算出的图片位置,重画图片
  218. 'Private Sub Picturemove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
  219. ' Dim myBit As New Bitmap(報告圖_pb.Image)
  220. ' Dim myPicGrh As Graphics = Me.報告圖_pb.CreateGraphics
  221. ' myPicGrh.Clear(Me.報告圖_pb.BackColor)
  222. ' myPicGrh.DrawImageUnscaled(myBit, m_Leftx, m_Lefty)
  223. ' myBit.Dispose()
  224. ' myPicGrh.Dispose()
  225. 'End Sub
  226. End Class