[VB6 ] 問題關於利用RS-232來傳送資料

看板Visual_Basic作者 (大偵探)時間19年前 (2006/12/22 14:08), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
小弟 利用 VB 與 RS232 來做兩台電腦的傳輸動作,但是遇到了一個問題是每次都只可以傳文字檔 不可以傳圖片或音樂檔,可否請問一下小弟遇到的問題是什麼 以下是小弟的傳送檔案原碼 -------------------------------- Private Sub Command3_Click() Dim i As Long Dim fn As Long Dim SendData As Byte If FileName <> "" Then Command3.Enabled = False MSComm1.CommPort = ComPort MSComm1.Settings = Setting MSComm1.PortOpen = True MSComm1.Output = SendFileName & vbCrLf MSComm1.Output = CStr(SendFileLen) & vbCrLf fn = FreeFile Open SendFileName For Binary Access Read As fn ProgressBar1.Max = SendFileLen ProgressBar1.Min = 0 For i = 1 To SendFileLen Get fn, , SendFileLen MSComm1.Output = Chr(SendData) ProgressBar1.Value = i Next Close fn MSComm1.PortOpen = False MsgBox "檔案傳送結束!", vbInformation + vbOKOnly, "訊息" Command3.Enabled = True End If ProgressBar1.Value = 0 End Sub ----------- 以下是接收部分 --------------- Private Sub Command2_Click() Dim i As Long Dim fn, fn1 As Long Dim RecData As String Dim data As Byte Command2.Enabled = False MSComm1.CommPort = ComPort MSComm1.Settings = Setting MSComm1.InputLen = 0 MSComm1.PortOpen = True RecFileName = "" RecData = "" i = 0 Do DoEvents RecData = RecData & MSComm1.Input i = InStr(RecData, vbCrLf) If i > 0 Then RecFileName = Left(RecData, i - 1) End If Loop Until RecFileName <> "" Text1.Text = RecFileName RecData = Right(RecData, Len(RecData) - Len(RecFileName) - Len(vbCrLf)) RecFileLen = 0 i = 0 Do DoEvents RecData = RecData & MSComm1.Input i = InStr(RecData, vbCrLf) If i > 0 Then RecFileLen = Val(Left(RecData, i - 1)) End If Loop Until RecFileLen <> 0 Text2.Text = RecFileLen RecData = Right(RecData, Len(RecData) - Len(CStr(RecFileLen)) - Len(vbCrLf)) ProgressBar1.Max = RecFileLen ProgressBar1.Min = 0 Do DoEvents RecData = RecData & MSComm1.Input ProgressBar1.Value = Len(RecData) Loop Until Len(RecData) = RecFileLen On Error Resume Next Kill "tempfile.txt" fn = FreeFile Open "tempfile.txt" For Binary Access Write As fn Put fn, , RecData Close fn fn = FreeFile Open "tempfile.txt" For Binary Access Read As fn fn1 = FreeFile Open Text1.Text For Binary Access Write As fn1 Do While Not EOF(fn) Get fn, , data If (data <> Chr(13)) And (data <> Chr(10)) And (data <> Chr(0)) Then Put fn1, , data End If Loop Close fn1 MSComm1.PortOpen = False MsgBox "檔案接收結束", vbInformation + vbOKOnly, "訊息" Command2.Enabled = True ProgressBar1.Value = 0 End Sub -- ∵~★.°☆∵。*∵~★.°☆∵。  ╭══╮ ╭╧╮╭╧╮╭╧╮ ╭╯■■║═║灌║║水║║車│ ╰⊙═⊙╯ ╘∞╛╘∞╛╘∞╛ ☆.°∴°☆﹒﹒‧☆°∴°☆.﹒ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.68.162.213
文章代碼(AID): #15YtP8Br (Visual_Basic)
文章代碼(AID): #15YtP8Br (Visual_Basic)