Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

VB程式(Text4-Text2)如何寫

Private Sub Timer1_Timer()

Timer1.Enabled = False

Dim buf As String

Dim tmpString As String

If isEnable = True Then

On Error GoTo err1

MSComm1.Output = "0"

delayms 500

tmpString = ""

buf = MSComm1.Input

tmpString = Left((hex_dec(buf$) / 51), 4) '將16進位轉換成10進位,並轉換成0-5V

Text1.Text = Text1.Text & tmpString & vbCrLf

Text1.SelStart = Len(Text1.Text) '將文字框的顯示放在最未端,以看到最新的資料

Static t As Double

Dim v As String

v = tmpString

' thermistor

t = Round(-1.74742 + (33.01836 * v) + (-24.44481 * (v ^ 2)) + (10.27245 * (v ^ 3)), 1)

Text2.Text = Text2.Text & t & vbCrLf

Text2.SelStart = Len(Text2.Text) '將文字框的顯示放在最未端,以看到最新的資料

MSComm1.Output = "1"

delayms 500

tmpString = ""

buf = MSComm1.Input

tmpString = Left((hex_dec(buf$) / 51), 4) '將16進位轉換成10進位,並轉換成0-5V

Text3.Text = Text3.Text & tmpString & vbCrLf

Text3.SelStart = Len(Text3.Text) '將文字框的顯示放在最未端,以看到最新的資料

v = tmpString

t = Round(-1.74742 + (33.01836 * v) + (-24.44481 * (v ^ 2)) + (10.27245 * (v ^ 3)), 1)

Text4.Text = Text4.Text & t & vbCrLf

Text4.SelStart = Len(Text4.Text) '將文字框的顯示放在最未端,以看到最新的資料

End If

Timer1.Enabled = True

Exit Sub

err1:

isEnable = False

Timer1.Enabled = False

End Sub

請問一下我這個視窗的Text2和Text4會顯示其溫度值

但如果我想要把Text4的值減掉Text2的值

我應該如何寫在裡面呢

已更新項目:

在請問一下 如果我要把 Text2 - Text4 求出來的數據 存入Text5

接著把Text5加入此循環裡面顯示 那我應該如何做呢?

1 個解答

評分
  • 1 0 年前
    最佳解答

    '你可以這樣取得Text中的資料

    dim sTemp1() as string

    dim sTemp2() as string

    sTemp1=split(Text2.Text,vbcrlf)

    sTemp2=split(Text4.Text,vbcrlf)

    text3.text=val(sTemp1(ubound(sTemp1))) - val(sTemp2(ubound(sTemp2))) '取得二個温度的差

    '將Text4.Text以vbcrlf為Key使用split切開成陣列

    '比如 Text4.Text=51 vbcrlf 52 vbcrlf 49

    '會變成 sTemp(0)=51 sTemp(1)=52 sTemp(2)=49

    '那就可以用陣列去減了

    不過關於你的程式我會比較建議使用 combobox 物件做

    可以直接取得一筆温度,不用再切來切去的

    2007-12-19 19:19:20 補充:

    如果你都只是要存當時的資料,沒有要往回追資料,應該這樣做

    dim dVal1 as Double

    dim dVal2 as Double

    MSComm1.Output = "0"

    dVal1 = 第一個温度

    MSComm1.Output = "1"

    dVal2 = 第二個温度

    Text2.Text=Text2.Text & cstr(dVal1) & vbcrlf

    Text4.Text=Text4.Text & cstr(dVal2) & vbcrlf

    Text5.Text=cstr(dVal1-dVal2)

    2007-12-19 19:20:58 補充:

    我只是大概解釋應該的流程,並不是貼上去就可以使用,你先把所有資料在前半部,要加的要減的處理好存在變數,最後再Show到畫面上

還有問題?馬上發問,尋求解答。