Re: ListBox裡面顯示的資料有辦法直接顯示在網頁上嗎
: 你是使用 vb6 嗎?
: 參考 vb研究小站 中的 VB6 專案模組簡介,你要了解「物件類別」(*.cls) 的各種語法
: 專案類型指定為「ActiveX DLL」專案。
: 把mscomm相關的程式碼寫好後,檔案-製成 myobj.dll,
: 然後 開始-執行 regsvr32.exe c:\myweb\bin\myobj.dll (假設路徑,不要照抄喔)
: vb研究小站教你用 Dim myobj As New MyProject.MyClass 這樣形式的寫法,
: 你可以在網站(asp)中改成下面這種寫法:
: Set myobj = Server.CreateObject("MyProject.MyClass") (也是假設的名稱)
: Response.Write(myobj.getData) (還是假設的名稱)
: 相關資訊就去看vb研究小站吧
首先先感謝你的指導
我照你說的方式去做
把檔案製成 myobj.dll要儲存時他就顯示變數未定義
所以就沒辦法儲存
你可以告訴我哪有有問題嗎
以下是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 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
還有問題就是我需要在設定使用元件加入MSCOMM控制項嗎?
我是有加入
其實我也不確定要不要加
如果執行成功後
是不是我在用MSCOMM讀取資料的同時
網頁上就會出現資料?
PS 抱歉..我程式方面真的很陌生
現在都在邊學邊用 所以遇到很多問題
所以如果我問的問題很白痴
就請你多見諒囉
最後再跟你說聲謝謝
也拜託你替我解答囉
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.85.178
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 7 篇):