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

看板Visual_Basic作者 (矇面加菲獅)時間18年前 (2007/05/02 21:33), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/7 (看更多)
※ 引述《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
文章代碼(AID): #16E9C_dE (Visual_Basic)
討論串 (同標題文章)
文章代碼(AID): #16E9C_dE (Visual_Basic)