Re: ListBox裡面顯示的資料有辦法直接顯示在網頁上嗎

看板Visual_Basic作者 (萬般皆是命阿)時間18年前 (2007/05/02 11:03), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/7 (看更多)
※ 引述《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 拜託您了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.85.178
文章代碼(AID): #16D_-4GU (Visual_Basic)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 5 之 7 篇):
文章代碼(AID): #16D_-4GU (Visual_Basic)