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

看板Visual_Basic作者 (萬般皆是命阿)時間18年前 (2007/05/03 10:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/7 (看更多)
Sub Open() Set MSComm1 = CreateObject("MSCommLib.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 If Not (MSComm1.PortOpen) Then MSComm1.PortOpen = True '開啟串列連接埠 End If End Sub Function GetData() GetData = MSComm1.Input End Function 上述程式是我照您給我的範例和問過你又改正過的程式打的 可是要製成.DLL檔時還是顯示編輯錯誤 必須是識別項 好苦惱 進度好緊張 不知道又是哪裡出問題 拜託大大幫我除錯一下 感謝您 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.85.178
文章代碼(AID): #16EKbIWN (Visual_Basic)
討論串 (同標題文章)
文章代碼(AID): #16EKbIWN (Visual_Basic)