Thông báo

Collapse
No announcement yet.

Giao tiếp giữa 2 máy tính qua cổng Com

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Giao tiếp giữa 2 máy tính qua cổng Com

    Các sư huynh ơi! Giúp đệ với.Đệ đang có vấn đề với cái đề án môn học ghép nối máy tính của đệ.Yêu cầu của bài là lập trình để truyền kí tự và file text giữa 2 máy tính qua cổng com.Phần truyền kí tự thì đệ đã làm được nhưng còn phần truyền file thì không ổn.
    Để kiểm tra thì đệ nối chân 2 và chân 3 của máy mình để truyền nhận thử.Phần truyền kí tự thì đã ok nhưng khi truyền file thì lúc save vào máy rồi mở lại thì file nhận không có dữ liệu.Đệ đã tìm hiểu rùi nhưng vẫn không ra nên phải nhờ các huynh giúp đỡ.Dưới đây đệ xin gửi CODE và cả giao diện để các huynh kiểm tra hộ xem vấn đề sai ở đâu hay thiếu cái gì nữa.Mong các huynh giúp đỡ.

    CODE:

    Private Sub Command1_Click()
    On Error GoTo OpenFalse
    If MSComm1.PortOpen = False Then
    MSComm1.PortOpen = True
    End If
    Exit Sub
    OpenFalse:
    MsgBox Err.Description & vbLf + vbCr + "Loi, khong the mo cong. Hay dong cac ung dung dang su dung cong COM"

    End Sub

    Private Sub Command2_Click()
    If MSComm1.PortOpen = True Then
    MSComm1.PortOpen = False
    End If
    End
    End Sub

    Private Sub Command3_Click()
    On Error GoTo sendfalse
    MSComm1.Output = Trim(Text1.Text)
    Text1.Text = ""
    Exit Sub
    sendfalse:
    MsgBox "Loi, Cong COM chua duoc mo"
    End Sub

    Private Sub Command4_Click()
    Text2.Text = ""
    End Sub

    Private Sub Command5_Click()
    Cdlg.DialogTitle = "Send file..."
    Cdlg.Filter = "Textfile (*.TXT)|*.txt|All Files (*.*)|*.*"
    Cdlg.InitDir = App.Path
    Cdlg.FileName = ""
    Cdlg.ShowOpen
    Text1.Text = Cdlg.FileName
    Label1.Caption = Str(Round(FileLen(Text1.Text) / 1024, 2)) + "KB"
    Exit Sub
    Loi:
    Label1.Caption = "0 KB"
    Text1.Text = ""
    Text2.Text = "Da truyen file qua cong COM1 thanh cong"
    ' goi ham truyen file
    If Cdlg.FileName <> "" Then SendFile (Cdlg.FileName)
    End Sub

    Private Sub Command6_Click()
    FileReceive = FreeFile
    ReceiveFlag = True
    Timer1.Enabled = False
    Do
    Cdlg.FileName = ""
    Cdlg.ShowSave
    If Trim(Cdlg.FileName) = "" Then
    MsgBox "File name error!!"
    End If
    Loop While Trim(Cdlg.FileName) = ""
    Text2.Text = Cdlg.FileName
    MSComm1.Output = "RECEIVE" + vbCr
    Open Trim(Text2.Text) For Output As FileReceive
    End Sub

    Private Sub Form_Load()
    With MSComm1
    .Settings = "9600,N,8,1"
    .RThreshold = 1 'su kien OnComm xay ra khi bat kì kí tu nào duoc chuyen den bo dem nhan.
    .Handshaking = comNone
    .SThreshold = 0
    .InBufferSize = 1024
    .OutBufferSize = 1024
    .InputMode = comInputModeText 'quyet dinh dang du lieu nhan duoc la dang text
    .InputLen = 0
    .CommPort = 1 'thiêt lâp và tra vê tên cua công giao tiêp la cong COM1
    End With
    End Sub

    Private Sub MSComm1_OnComm()
    If (MSComm1.CommEvent = comEvReceive) Then
    Text2.Text = Text2.Text + MSComm1.Input
    End If
    End Sub
    ' ham truyen File
    Function SendFile(tmp$)
    Dim temp$
    Dim hsend, bsize, LF&

    ' mo file
    Open tmp$ For Binary Access Read As #2
    ' kiem tra kich thuoc Mscomm1 OutBuffer
    bsize = MSComm1.OutBufferSize
    ' kiem tra kich thuoc File
    LF& = LOF(2)

    ' code nay se chia du lieu thanh nhung fan nho(Buffer sized)
    ' va gui chung di

    Do Until EOF(2)

    If LF& - Loc(2) <= bsize Then
    bsize = LF& - Loc(2) + 1
    End If

    ' tao vung chua du lieu
    temp$ = Space$(bsize)

    ' dat du lieu vao bien Temp$ dang string
    Get #2, , temp$

    MSComm1.Output = temp$

    Do
    ret = DoEvents()
    ' cho den khi buffer trong
    Loop Until MSComm1.OutBufferCount = 0
    Loop

    ' dong file
    Close #2

    End Function
    Attached Files

  • #2
    huhu! ko có sư huynh nào giúp đệ ah?
    Đệ đã tìm tài liệu nghâm cứu và làm thử rồi nhưng vẫn chưa giải quyết được vấn đề.Sư huynh nào cao tay giúp đệ với.Mau mau!!! đệ sắp phải nộp bài rùi.Đây là bài đề tài hết môn của đệ đó.Bài này rất quan trọng nên mong các huynh giúp đỡ.Đệ xin hậu tạ!!!!!

    Comment


    • #3
      Nguyên văn bởi tcoi001 Xem bài viết
      huhu! ko có sư huynh nào giúp đệ ah?
      Đệ đã tìm tài liệu nghâm cứu và làm thử rồi nhưng vẫn chưa giải quyết được vấn đề.Sư huynh nào cao tay giúp đệ với.Mau mau!!! đệ sắp phải nộp bài rùi.Đây là bài đề tài hết môn của đệ đó.Bài này rất quan trọng nên mong các huynh giúp đỡ.Đệ xin hậu tạ!!!!!
      Dây la bài tập nhỏ mình làm, có đầy đủ yêu cầu của bạn, có thêm 1 số tính năng mới hay .

      Comment


      • #4
        Cám ơn h_h_h đã giúp mình!nhưng mình không thấy có file đính kèm. Bạn có thể gửi lại cho mình được không.Bạn có thể gửi trực tiếp vào mail của mình truongtrung8730@yahoo.com.vn
        Rất cảm ơn bạn!

        Comment


        • #5
          Nguyên văn bởi tcoi001 Xem bài viết
          Cám ơn h_h_h đã giúp mình!nhưng mình không thấy có file đính kèm. Bạn có thể gửi lại cho mình được không.Bạn có thể gửi trực tiếp vào mail của mình truongtrung8730@yahoo.com.vn
          Rất cảm ơn bạn!
          Lâu quá rùi , ko để ý , chắc do lỗi diễn đàn thui . minh up lại
          Attached Files

          Comment


          • #6
            anh e dang lam bo truyen data khong day rf.cung dung vb de lap trinh.nhung chi co the gui data 8 bit thoi,,con gui 1 file nho nho tu pc thi e khong bit..mong cac dai ca giup e voi

            Comment


            • #7

              Comment


              • #8
                anh ơi sao em không chạy được phần mềm main.exe nó cứ báo lỗi MSCOMM32.OCX

                Comment


                • #9
                  bạn ơi...code của bạn khi bật lên làm thế nào để cho truyền dữ liệu thế?

                  Comment

                  Về tác giả

                  Collapse

                  tcoi001 Tìm hiểu thêm về tcoi001

                  Bài viết mới nhất

                  Collapse

                  • mèomướp
                    Trả lời cho Sửa bộ nguồn DC 60V 45A
                    bởi mèomướp
                    Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                    hôm nay, 13:11
                  • tuyennhan
                    Trả lời cho Sửa bộ nguồn DC 60V 45A
                    bởi tuyennhan
                    Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                    hôm nay, 09:25
                  • tuyennhan
                    Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                    bởi tuyennhan
                    Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                    Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                    hôm nay, 09:10
                  • Ng.Phuong.5
                    Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                    bởi Ng.Phuong.5
                    Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                    Mấy con...
                    Hôm qua, 19:44
                  • viettinh
                    Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                    bởi viettinh
                    Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                    Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                    Hôm qua, 18:12
                  • nguyendinhvan
                    Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                    bởi nguyendinhvan
                    Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                    Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                    Cách đơn giản...
                    Hôm qua, 00:04
                  • mèomướp
                    Trả lời cho Sửa bộ nguồn DC 60V 45A
                    bởi mèomướp
                    Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                    08-01-2025, 19:02
                  • tuyennhan
                    Trả lời cho Sửa bộ nguồn DC 60V 45A
                    bởi tuyennhan
                    Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                    08-01-2025, 15:43
                  • tuyennhan
                    Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                    bởi tuyennhan
                    Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                    08-01-2025, 15:28
                  • mèomướp
                    Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                    bởi mèomướp
                    Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
                    08-01-2025, 11:44
                  Đang tải...
                  X