Bez popisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Module1.vb 4.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. Imports System.Data.SqlClient
  2. Imports ThoughtWorks.QRCode.Codec
  3. Module Module1
  4. '------------------連線用全域變數--------------------------------------------------------------------------------------------------------------------------------------------
  5. Public dr As SqlDataReader : Public cmd As New SqlCommand : Public conn, conn1 As SqlConnection : Public da As New SqlDataAdapter
  6. Public gUserName, connstring, connstring1, my_ip, SQL1, Target As String
  7. '----系統版本----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  8. Public 版本 As String = "2025032201" : Public 資料庫版本 As String
  9. Public g_conn_type As String = "" : Public my_month As String = "" : Public my_year As String = "" : Public my_month1 As String = "" : Public my_year1 As String = ""
  10. Public my_month2 As String = "" : Public my_year2 As String = "" : Public rcp As String = ""
  11. Public gLastMonth As Boolean = False
  12. Public Frm_bg_io As New Frm_BG_IO
  13. Public Frmbg As New FrmBG
  14. Public Frm_bg_chem As New Frm_BG_CHEM
  15. Public Frm_bg_main As New Frm_BG_main
  16. Public Frm_bg_SUM As New Frm_BG_sum
  17. Public Frm_BG_FM_MEASURE As New Frm_BG_FM_MEASURE
  18. Public FrmInProcess As New FrmInProcess
  19. Declare Function SetProcessDPIAware Lib "user32.dll" () As Boolean
  20. Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Integer, ByRef lpdwProcessId As Integer) As Integer
  21. Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) '
  22. Public gMsg As MsgBoxResult
  23. Public my_chem, my_comment, xno, Staff_ID As String
  24. Public my_percent As Double
  25. Public my_time, lastFoundRowIndex, lastFoundColIndex As Integer
  26. Public cc(99), LoginSucceeded, 重新計算 As Boolean
  27. Friend Sub ConnOpen()
  28. If conn IsNot Nothing Then
  29. conn.Close() : If conn.State = ConnectionState.Closed Then : conn.ConnectionString = connstring : conn.Open() : End If
  30. Else
  31. conn = New SqlConnection(connstring) : conn.ConnectionString = connstring : conn.Open()
  32. End If
  33. End Sub
  34. Friend Sub CmdSet_For_DGV()
  35. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd
  36. End Sub
  37. Friend Sub CmdSet_For_dr()
  38. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  39. End Sub
  40. Public Function MakeQrCode(ByVal StrContentChar As String) As Image
  41. Dim qrCodeEncoder As New QRCodeEncoder
  42. qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE
  43. '二微码尺寸
  44. qrCodeEncoder.QRCodeScale = 5
  45. '二微码版本
  46. qrCodeEncoder.QRCodeVersion = 10
  47. qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M
  48. Dim image As Image = qrCodeEncoder.Encode(StrContentChar)
  49. Return image
  50. End Function
  51. Public Sub 查詢DGV中的關鍵字_自動(ByVal dgv As DataGridView, ByVal txtKeyword As TextBox)
  52. Dim keyword As String = txtKeyword.Text
  53. Dim found As Boolean = False
  54. dgv.ClearSelection() ' 清除先前的选择
  55. Dim numColumns As Integer = dgv.Columns.Count ' 获取 DataGridView 的列数
  56. Dim startRowIndex As Integer = If(lastFoundRowIndex = -1, 0, lastFoundRowIndex + 1)
  57. For colIndex As Integer = If(lastFoundRowIndex = -1, 0, lastFoundColIndex) To numColumns - 1
  58. For rowIndex As Integer = startRowIndex To dgv.Rows.Count - 1
  59. Dim cellValue As String = dgv.Rows(rowIndex).Cells(colIndex).Value.ToString()
  60. If cellValue.Contains(keyword) Then
  61. dgv.Rows(rowIndex).Selected = True : dgv.FirstDisplayedScrollingRowIndex = rowIndex : found = True
  62. lastFoundRowIndex = rowIndex : lastFoundColIndex = colIndex : Exit For
  63. End If
  64. Next : If found Then : Exit For : End If
  65. Next
  66. If Not found Then
  67. lastFoundRowIndex = -1 : lastFoundColIndex = -1 : dgv.FirstDisplayedScrollingRowIndex = 0 : 重新計算 = True : dgv.ClearSelection()
  68. Else : 重新計算 = False
  69. End If
  70. End Sub
  71. End Module