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

考勤位置設定.vb 5.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. Imports CefSharp.WinForms
  2. Public Class 考勤位置設定
  3. Private Sub Set_打卡地點()
  4. Dim ds1 As New DataSet
  5. 清單1_dgv.DataSource = Nothing : ds1.Clear()
  6. 清單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  7. 清單1_dgv.ColumnHeadersHeight = 40 : 清單1_dgv.AllowUserToAddRows = False : 清單1_dgv.RowTemplate.Height = 25
  8. SQL_考勤地點()
  9. da.Fill(ds1) : 清單1_dgv.DataSource = ds1.Tables(0) : conn.Close()
  10. 清單1_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.0"
  11. 清單1_dgv.Columns(0).FillWeight = 110 : 清單1_dgv.Columns(1).FillWeight = 80 : 清單1_dgv.Columns(2).FillWeight = 80 : 清單1_dgv.Columns(3).FillWeight = 40
  12. 清單1_dgv.Columns(0).ReadOnly = True : 清單1_dgv.Columns(1).ReadOnly = True : 清單1_dgv.Columns(2).ReadOnly = True
  13. End Sub
  14. Private Sub 查詢_bt_MouseEnter(sender As Object, e As EventArgs) Handles 查詢_bt.MouseEnter
  15. ToolTip1.SetToolTip(Me.查詢_bt, "查詢")
  16. End Sub
  17. Private Sub 新增_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增_bt.MouseEnter
  18. ToolTip1.SetToolTip(Me.新增_bt, "新增")
  19. End Sub
  20. Private Sub 確認新增_bt_MouseEnter(sender As Object, e As EventArgs) Handles 確認新增_bt.MouseEnter
  21. ToolTip1.SetToolTip(Me.確認新增_bt, "確認新增")
  22. End Sub
  23. Private Sub 刪除_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除_bt.MouseEnter
  24. ToolTip1.SetToolTip(Me.刪除_bt, "刪除")
  25. End Sub
  26. Private Sub 考勤位置設定_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  27. 'Me.MdiParent = GRAMS_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  28. 清單1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  29. MyBrowser.Controls.Clear()
  30. PA50 = "https://www.google.com/maps/@15z?" & "hl=zh-TW" & "&basemap=satellite"
  31. Dim browser As New ChromiumWebBrowser(PA50) : browser.Dock = DockStyle.Fill : MyBrowser.Controls.Add(browser)
  32. End Sub
  33. Private Sub 考勤位置設定_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  34. 計算分流.Enabled = True
  35. End Sub
  36. Private Sub 計算分流_Tick(sender As Object, e As EventArgs) Handles 計算分流.Tick
  37. 計算分流.Enabled = False : Set_打卡地點()
  38. End Sub
  39. Private Sub 清單1_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 清單1_dgv.CellClick
  40. If e.RowIndex = -1 Then : Else
  41. 地點_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(0).Value.ToString : 經度_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(1).Value.ToString
  42. 緯度_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(2).Value.ToString : 誤差容許_nud.Value = 清單1_dgv.Rows(e.RowIndex).Cells(3).Value.ToString
  43. Dim lat1 As Double = 清單1_dgv.Rows(e.RowIndex).Cells(2).Value.ToString
  44. Dim lon1 As Double = 清單1_dgv.Rows(e.RowIndex).Cells(1).Value.ToString
  45. MyBrowser.Controls.Clear()
  46. PA50 = "https://www.google.com/maps/@" & lat1 & "," & lon1 & ",20z?" & "hl=zh-TW" & "&basemap=satellite"
  47. Dim browser As New ChromiumWebBrowser(PA50) : browser.Dock = DockStyle.Fill : MyBrowser.Controls.Add(browser)
  48. End If
  49. End Sub
  50. Private Sub 新增_bt_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click
  51. If 地點_tb.Text = "" Or 經度_tb.Text = "" Or 緯度_tb.Text = "" Then : MsgBox("必要的資料沒有選擇或有缺失!!") : Else
  52. If 清單1_dgv.Rows.Count > 0 Then
  53. lastFoundRowIndex = -1 : lastFoundColIndex = -1 : 查詢DGV中的關鍵字_自動(清單1_dgv, 地點_tb)
  54. If lastFoundRowIndex > -1 Then : MsgBox("該地點已經新增過GPS資料,如果要更換位置請點擊 [存檔] 的按鈕!!") : Else
  55. PA1 = 地點_tb.Text : PA2 = 經度_tb.Text : PA3 = 緯度_tb.Text : PA4 = 誤差容許_nud.Value : SQL_考勤地點新增() : Set_打卡地點() : MsgBox("新增完成!!")
  56. End If
  57. Else
  58. PA1 = 地點_tb.Text : PA2 = 經度_tb.Text : PA3 = 緯度_tb.Text : PA4 = 誤差容許_nud.Value : SQL_考勤地點新增() : Set_打卡地點() : MsgBox("新增完成!!")
  59. End If
  60. End If
  61. End Sub
  62. Private Sub 確認新增_bt_Click(sender As Object, e As EventArgs) Handles 確認新增_bt.Click
  63. If 地點_tb.Text = "" Or 經度_tb.Text = "" Or 緯度_tb.Text = "" Then : MsgBox("必要的資料沒有選擇或有缺失!!") : Else
  64. PA1 = 地點_tb.Text : PA2 = 經度_tb.Text : PA3 = 緯度_tb.Text : PA4 = 誤差容許_nud.Value : SQL_考勤地點修改() : Set_打卡地點() : MsgBox("修改完成!!")
  65. End If
  66. End Sub
  67. Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  68. If 地點_tb.Text = "" Or 經度_tb.Text = "" Or 緯度_tb.Text = "" Then : MsgBox("必要的資料沒有選擇或有缺失!!") : Else
  69. Dim result As DialogResult = MessageBox.Show("請確定是否要刪除該資料!", "請選擇", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
  70. If result = DialogResult.Yes Then : SQL_考勤地點刪除() : Set_打卡地點() : MsgBox("刪除完成!!")
  71. End If
  72. End If
  73. End Sub
  74. Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
  75. PA4 = InputBox("請輸入從GOOGLE地圖上複製下來的GPS資料")
  76. Dim parts() As String = PA4.Split(","c) : Dim latitude As String = parts(0).Trim() : Dim longitude As String = parts(1).Trim()
  77. Dim formattedLatitude As String = Strings.Format(CDbl(latitude), "#0.0000000000") : Dim formattedLongitude As String = Strings.Format(CDbl(longitude), "#0.0000000000")
  78. 緯度_tb.Text = formattedLatitude : 經度_tb.Text = formattedLongitude
  79. End Sub
  80. End Class