Re: ListBox裡面顯示的資料有辦法直接顯示在網頁上嗎
※ 引述《quanyong (萬般皆是命阿)》之銘言:
: ※ 引述《fumizuki (矇面加菲獅)》之銘言:
: : 要加入啊,不然 vb怎麼知道 MSComm1 是什麼東西
: : 不過,MSComm的類型是控制項,是要掛在表單上的,
: : 不知道 ActiveX DLL 可不可以這樣子用@@
: : 如果設定加入MSComm,測試不行的話,程式開始加上這一行:
: : Set MSComm1 = CreateObject("MSCommLib.MSComm")
: : VB6範例:
: : Sub Open()
: : '如果加入使用元件不行再試試看下面這一行
: : 'Set MSComm1 = CreateObject("MSCommLib.MSComm")
: : '其他必要的程式碼自己再加上去
: : If Not (MSComm1.PortOpen) Then
: : MSComm1.PortOpen = True '開啟串列連接埠
: : End If
: : End Sub
: : Sub Close()
: : If MSComm1.PortOpen Then
: : MSComm1.PortOpen = False '關閉串列連接埠
: : End If
: : End Sub
: : Function GetData()
: : GetData = MSComm1.Input
: : End Function
: : 網頁端範例:
: : Set myobj = Server.CreateObject("MyProject.MyClass") '建立物件
: : myobj.Open() '開啟連接埠
: : Response.Write(myobj.GetData()) '取得資料
: : myobj.Close() '關閉連接埠
: : Set myobj = Nothing '釋放物件
: 不好意思
: 再請問你
: 你說的必要程式碼是我原本打的MSCOMM通訊項的原始程式碼嗎
: 然後程式編排就像你上面打的那樣嗎
: 我照這樣打過了
: 還是不能製成.DLL檔案
: 我是不是哪裡有打錯ㄚ
: 因為我要製成.DLL檔案時
: 然後第一排的Sub Open()
: 它顯示"必須是識別項"
: 我也看不出來哪裡出問題
: 再拜託高手大大你了
: 謝謝你
: 以下是我完整的MSCOMM程式碼
: Option Explicit
: Private Const LB_SETHORIZONTALEXTENT = &H194
: '宣告一個DLL內的外部程序
: Private Declare Function SendMessage Lib "user32" Alias _
: "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
: ByVal wParam As Long, lParam As Any) As Long
: Dim TempStr As String '用於讀取暫存區資料
: Dim TempBool As Boolean '判斷資料是否已讀取完畢
: Private Sub Command1_Click()
: '===將字串輸出,在字串的前面加上字串長度與分隔字元===
: If LTrim(Text1.Text) <> "" Then
: MSComm1.Output = Len(Text1.Text) & "&RFID:" & Text1.Text
: Text1.Text = ""
: End If
: End Sub
: Private Sub Command2_Click()
: Text1.Text = ""
: End Sub
: Private Sub Form_Load()
: '===設定、開啟串列連接埠===
: With MSComm1
: .CommPort = 1 '設定串列連接埠代號
: .Handshaking = comXOnXoff
: .NullDiscard = True
: .RThreshold = 1
: If Not (.PortOpen) Then
: .PortOpen = True '開啟串列連接埠
: End If
: End With
: End Sub
: Private Sub MSComm1_OnComm()
: '===讀取接收暫存區中的資料===
: Dim TempLong As Long
: Dim MaxLength As Integer '記錄ListBox中的最大字串長度
: Dim TempIndex As Integer '記錄ListBox中最長字串的索引值
: If TempBool And MSComm1.CommEvent = comEvReceive Then
: TempStr = MSComm1.Input
: '判斷目前取得資料是否為所有資料
: If Val(TempStr) + 3 = Len(TempStr) - InStr(1, TempStr, "&") Then
: List1.AddItem Mid(TempStr, InStr(1, TempStr, "&") + 1), 0
: TempStr = ""
: MaxLength = Len(List1.List(0))
: For TempLong = 0 To List1.ListCount - 1 '尋找最長字串
: If Len(List1.List(TempLong)) >= MaxLength Then
: TempIndex = TempLong
: MaxLength = Len(List1.List(TempLong))
: End If
: Next TempLong
: '產生一個水平捲軸
: Call SendMessage(List1.hwnd, LB_SETHORIZONTALEXTENT, _
: ByVal TextWidth(List1.List(TempIndex)) / 14.8, ByVal 0&)
: Else
: MSComm1.RThreshold = Val(TempStr) + 20 - Len(TempStr) + _
: InStr(1, TempStr, "&") '設定最小接收字元數為尚未讀取字元數
: '去除字串長度與分隔字元
: TempStr = Mid(TempStr, InStr(1, TempStr, "&") + 1)
: TempBool = False
: End If
: Else
: List1.AddItem TempStr + MSComm1.Input, 0
: TempStr = ""
: TempBool = True
: MSComm1.RThreshold = 1
: MaxLength = Len(List1.List(0))
: For TempLong = 0 To List1.ListCount - 1
: If Len(List1.List(TempLong)) >= MaxLength Then
: TempIndex = TempLong
: MaxLength = Len(List1.List(TempLong))
: End If
: Next TempLong
: Call SendMessage(List1.hwnd, LB_SETHORIZONTALEXTENT, _
: ByVal TextWidth(List1.List(TempIndex)) / 14.8, ByVal 0&)
: End If
: End Sub
^^^^^^^^^
: If Not (MSComm1.PortOpen) Then
: MSComm1.PortOpen = True '開啟串列連接埠
: End If
: End Sub
^^^^^^^^^^ 哪一個 end sub 是多的?
: 拜託您了
--
▃▅▇▆▄ ▆▂▃ `
逝去感情如何能留住,半點癡情遺留殊不易,██▅▇▄▃ ▇▃▂" .
█████████▃i ▁▄▇
更多悽悽慘慘的遭遇…………██▆▃ █▅▆▃ˍ▄*
◢ ▂█▄▇▅▂▌.
我不知道,王~八~蛋~~! ▂▆███ █▄▃ 。fumizuki。Check。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.194.224.174
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 7 篇):