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.

歷史發送數據.vb 5.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. Imports System.IO
  2. Public Class 歷史發送數據
  3. Dim 已開啟 As Boolean = False
  4. Private Sub Set_歷史訊息LOG()
  5. Dim ds1 As New DataSet
  6. 清單_dgv.DataSource = Nothing : ds1.Clear()
  7. 清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  8. 清單_dgv.ColumnHeadersHeight = 25 : 清單_dgv.AllowUserToAddRows = False : 清單_dgv.RowTemplate.Height = 25
  9. If 公司名稱_cb.Text = "全部" Or 公司名稱_cb.Text = "" Then : SQL2 = "%%" : Else : SQL2 = 公司名稱_cb.Text : End If
  10. If 年份_cb.Text = "全部" Or 年份_cb.Text = "" Then : SQL3 = "%%" : Else : SQL3 = 年份_cb.Text & "%" : End If
  11. SQL_LOG檔清單()
  12. da.Fill(ds1) : 清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
  13. 清單_dgv.Columns(0).FillWeight = 30 : 清單_dgv.Columns(2).FillWeight = 30 : 清單_dgv.Columns(3).FillWeight = 30
  14. End Sub
  15. Private Sub Set_公司名稱_下拉清單()
  16. SQL_公司_下拉清單() : 公司名稱_cb.Items.Clear() : 公司名稱_cb.Items.Add("全部") : 公司名稱_cb.Items.Add("HX")
  17. While (dr.Read()) : 公司名稱_cb.Items.Add(dr("公司名稱")) : End While : conn.Close()
  18. End Sub
  19. Private Sub Set_年份_下拉清單()
  20. SQL_年份_下拉清單() : 年份_cb.Items.Clear() : 年份_cb.Items.Add("全部")
  21. While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While : conn.Close()
  22. End Sub
  23. Private Sub 簡訊價格計算()
  24. Dim exchangeRate, simpleprice As Double : If Double.TryParse(匯率_tb.Text, exchangeRate) And Double.TryParse(基礎價格_tb.Text, simpleprice) Then : Dim result As Double = Math.Round(exchangeRate * simpleprice, 1) : 簡訊單次_tb.Text = result.ToString() : Else : MessageBox.Show("無效的匯率值。請輸入有效的數字。") : End If
  25. Dim smsAmount As Double : If Double.TryParse(簡訊單次_tb.Text, smsAmount) Then : Dim result As Double = Math.Round(smsAmount / 3, 1) : LINE單次_tb.Text = result.ToString() : Else : MessageBox.Show("無效的簡訊單次值。請輸入有效的數字。") : End If
  26. End Sub
  27. Private Sub 計算總計()
  28. Dim SMS總計 = 0, LINE總計 As Double = 0
  29. For i As Integer = 0 To 清單_dgv.Rows.Count - 1
  30. If 清單_dgv.Rows(i).Cells("訊息類別").Value.ToString() = "Line" Then
  31. LINE總計 += CInt(Math.Round(Val(LINE單次_tb.Text)))
  32. ElseIf 清單_dgv.Rows(i).Cells("訊息類別").Value.ToString() = "Message" Then
  33. SMS總計 += CInt(Math.Round(Val(簡訊單次_tb.Text)))
  34. End If
  35. Next
  36. 簡訊統計_tb.Text = SMS總計 : LINE統計_tb.Text = LINE總計
  37. End Sub
  38. Private Sub 歷史發送數據_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  39. 年份_cb.Text = Today.Year.ToString() : 匯率_tb.Text = "33" : 基礎價格_tb.Text = "0.38"
  40. If File.Exists("./C.txt") Then : 匯率_tb.Text = File.ReadAllText("./C.txt") : Else
  41. Dim content As String = "31" : File.WriteAllText("./C.txt", content) : 匯率_tb.Text = content
  42. End If
  43. If File.Exists("./S.txt") Then : 基礎價格_tb.Text = File.ReadAllText("./S.txt") : Else
  44. Dim content As String = "0.3603" : File.WriteAllText("./S.txt", content) : 基礎價格_tb.Text = content
  45. End If
  46. 簡訊價格計算() : Set_公司名稱_下拉清單() : Set_年份_下拉清單() : Set_歷史訊息LOG() : 計算總計()
  47. 已開啟 = True
  48. End Sub
  49. Private Sub 公司名稱_cb_Click(sender As Object, e As EventArgs) Handles 公司名稱_cb.Click
  50. CB選擇清單(公司名稱_cb, 公司名稱_cb.Text)
  51. End Sub
  52. Private Sub 公司名稱_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 公司名稱_cb.SelectedIndexChanged
  53. If 已開啟 Then : Set_歷史訊息LOG() : 簡訊價格計算() : 計算總計() : End If
  54. End Sub
  55. Private Sub 年份_cb_Click(sender As Object, e As EventArgs) Handles 年份_cb.Click
  56. CB選擇清單(年份_cb, 年份_cb.Text)
  57. End Sub
  58. Private Sub 年份_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 年份_cb.SelectedIndexChanged
  59. If 已開啟 Then : Set_歷史訊息LOG() : 簡訊價格計算() : 計算總計() : End If
  60. End Sub
  61. Private Sub 匯率_tb_TextChanged(sender As Object, e As EventArgs) Handles 匯率_tb.TextChanged
  62. If 已開啟 Then : 簡訊價格計算() : 計算總計() : End If
  63. End Sub
  64. Private Sub 基礎價格_tb_TextChanged(sender As Object, e As EventArgs) Handles 基礎價格_tb.TextChanged
  65. If 已開啟 Then : 簡訊價格計算() : 計算總計() : End If
  66. End Sub
  67. Private Sub 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  68. Try
  69. Using sw As New StreamWriter("./C.txt")
  70. sw.Write(匯率_tb.Text)
  71. End Using
  72. Using sw As New StreamWriter("./S.txt")
  73. sw.Write(基礎價格_tb.Text)
  74. End Using
  75. MessageBox.Show("保存成功。")
  76. Catch ex As Exception
  77. MessageBox.Show("保存時出現錯誤:" & ex.Message)
  78. End Try
  79. End Sub
  80. End Class