Visual_Basic 板


LINE

※ 引述《fbi1115 (大偵探)》之銘言: : 小弟 : 利用 VB 與 RS232 : 來做兩台電腦的傳輸動作,但是遇到了一個問題是每次都只可以傳文字檔 : 不可以傳圖片或音樂檔,可否請問一下小弟遇到的問題是什麼 文字檔是屬於Text形式 圖片檔或是音樂檔都是Binary形式 : MSComm1.Output = SendFileName & vbCrLf : MSComm1.Output = CStr(SendFileLen) & vbCrLf 我不太理解這樣傳的意義.... 而且RS232通常只用vbCr而非vbCrLf : For i = 1 To SendFileLen : Get fn, , SendFileLen : MSComm1.Output = Chr(SendData) 你可以嘗試一下Asc(Chr(100))跟Asc(Chr(200))的結果 由於Chr(100) = "d" 所以可以正確Asc回來 但是200不是正確的碼值, Asc回來是0 你如果改ChrB或許搞不好能夠傳 但是最正規的用法應該是丟給位元組陣列才對 : ----------- : 以下是接收部分 : --------------- MSComm1.InputMode有指定為comInputModeBinary嗎? 至於你接收端的程式也是完全當字串來處理 當然是傳不了圖片的 ========================== 建議你閱讀MSDN「使用 Communications 控制項」一章 尤其是「管理接收和傳送緩衝區管理接收和傳送緩衝區」一節 =================以下引用================= 管理接收和傳送緩衝區 如上面所說明的,在開啟連接埠以後,接收和傳送緩衝區就會被建立。接收和傳送緩衝區 用來儲存傳入的資料和傳出的資料。為了讓使用者能夠管理這些緩衝區,Communications 控制項提供了一系列的屬性。利用這些屬性,您將可以放置或擷取資料、傳回每個緩衝區 大小、處理文字和二進位數資料。如何正確地管理這些緩衝區是 Communications 控制項 應用中的一個重要課題。 接收緩衝區 Input 屬性被用來儲存和接收從接收緩衝區擷取的資料。例如,如果您希望從接收緩衝區 擷取資料,並將其顯示在一個文字方塊中,則可以使用下面的程式碼: TxtDisplay.Text = MSComm1.Input 如果您需要擷取接收緩衝區中的所有內容,就必須將 InputLen 屬性設定為 0。這可以在 設計階段或執行階段設定。 InputMode 屬性可以設定為如下的 Visual Basic 常數:comInputModeText 或 comInputModeBinary,即您可分別以文字或二進位格式接收傳入的資料。此資料將以字 串或二進位資料的位元組陣列之形式存取。ANSI 字元集合的資料應使用 comInputModeText;而對其它資料,比如了包含控制字元、Nulll值等的資料,l應使用 comInputModeBinary。 每接收到一個位元組,該位元組都會被移入接收緩衝區,同時 InBufferCount 屬性值會 加一。此時,就可用 InBufferCount 屬性來檢查接收緩衝區中位元組的數目。將此屬性 的值設定為 0,即可清空接收緩衝區。 傳送緩衝區 Output 屬性被用來對傳送緩衝區發出指令和資料。 與 Input 屬性類似,資料可以用文字或二進位格式傳送。Output 屬性必須用字串傳送文 字,或用位元組陣列傳送二進位資料。 您可用 Output 屬性傳送指令、文字字串或位元組陣列資料。例如: '傳送 AT 指令 MSComm1.Output = "ATDT 555-5555" '傳送文字字串 MsComm1.Output = " This is a text string " '傳送位元組陣列資料 MSComm1.Output = Out 如前面提到的,每傳送一行都必須以 Return 鍵 (vbCr)結束。在上例中,Out 被定義為 位元組陣列變數:Dim Out() As Byte。假如它是字串變數,則應定義為:Dim Out() As String。 您可用 OutBufferCount 屬性監看傳送緩衝區中的位元組數目。將該值設定為 0 即可清 空傳送緩衝區。 =================以上引用================= 其實VB提供的RS232傳輸介面有一些問題 尤其是沒辦法等時傳輸, 以及會掉資料的問題 雖然部份原因是因為RS232本身就是很舊的技術 但是一部分還是能靠第三方介面來解決的 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.204.46
1F:推 colawei:RS232有九條線,多數設備卻只用三條.當然沒辦法完成某些事. 12/23 18:23
2F:→ colawei:但其實那些指令影響不大,而且都可用其它方法解決. 12/23 18:24







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP