Thông báo

Collapse
No announcement yet.

Nut lenh trong visual basic

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

  • Nut lenh trong visual basic

    Chao moi nguoi !
    minh dang lam mot bai tap lien quan den nut cmd, yeu cau dua ra la bam va giu nut lenh de vb gui data lien tuc chi khi nao nha chuot thi moi dung . Minh moi lam quen VB nen khong biet lam the nao mong moi nguoi giup do !!!

  • #2
    HI moi nguoi! minh dung vb de giao tiep may tinh chuong trinh minh da hoan thanh nhung con mot dieu minh can giai quyet do la cai nut Lenh. Minh muon moi khi bam va giu nut lenh thi may tinh xuat lien tuc du lieu ra RS232 chi khi nao tha chuot thi moi ngung. Mong cac cao thu chi giao dum minh hen hicicihci!!!!!!HELP ME

    Comment


    • #3
      Bạn có thể sử dụng vòng lập while... do

      Comment


      • #4
        Về nút CMD trong VB6. Mặc định khi viết code cho nút cmd thì VB để mặc định trạng thái sẽ thực hiện code là Click. Để thực hiện lệnh khi giữ chuột bạn chọn lại trạng thái là MouseDown(chuột được nhấn) hoặc MouseUp( chuột được nhả ) Hoặc MouseMove ( khi chuột di chuyển).
        Attached Files

        Comment


        • #5
          Hi cam on ban , ban co the chi ro cho minh duoc khong vi du khi nhan mot cai thi vb 'xút mot cai dai loai la chu A' con neu bam va giu thi vb 'xut lien tuc AAAAAAAAAAAAAA.AAAAAAA" hic Cam on ban da doc loi nhan cua minh...

          Comment


          • #6
            ban duong_act co the chi ro hon cho minh khong?

            Comment


            • #7
              Bạn có thể làm thế này (học được từ cách làm game từ directX)
              khai báo 1 biến bool pressed = false và 1 biến thời gian start
              Khi event MouseDown gọi, pressed = true, MouseUp gọi thì pressed = false
              Trong vòng lặp chính, bạn lấy thời điểm hiện tại trừ đi start, nếu hiệu chúng nó lớn hơn 1 khoảng thời gian nào đó (ví dụ 100 mili giây), thì bạn kiểm tra pressed, nếu true thì gửi, false thì ko gửi, và lấy start = thời điểm hiện tại.
              Computer Science major - Vietnamese-German University
              Sponsored by

              Comment


              • #8
                Có thể làm cách này :
                Sử dụng thêm 1 timer ( giả sử đặt tên là Send_Tmr).
                Việc gửi data do timer này đảm nhận. Trạng thái mặc định khi Form_Load thì timer này được Disable ( Enable = False).
                Khi nhấn chuột ( sự kiện MouseDown) ta sẽ Enable timer này và nó liên tục xuất data theo thời gian ( Interval) đặt trước.
                Khi nhả chuột ( Sự kiện MouseUp ) ta sẽ Disable timer này đi.

                Comment


                • #9
                  Tôi phải cảnh báo thế này cho những cách dùng MouseDown và MouseUp:
                  Nếu nhấn chuột mà di chuyển chuột ra khỏi ngoài button rồi nhả thì khi thả chuột, MouseUp của chuột sẽ ko đc gọi.
                  Computer Science major - Vietnamese-German University
                  Sponsored by

                  Comment


                  • #10
                    Dĩ nhiên là cái gì cũng có giới hạn. Vì yêu cầu sử dụng chuột nên mới phải dùng mấy cái ấy. Chứ không thì thay bằng mấy ô Check, hoặc thêm 1 biến lưu giữ trung gian. Vì với chuột thì cứ di chuyển nó ra ngoài đối tượng là mất tác dụng.

                    Comment


                    • #11
                      bạn lên dùng 1 phím nào đó thì hay hơn là dùng chuột
                      tom and jery !!!!!!!

                      Comment


                      • #12
                        Hi minh chi la dan nghiep du thoi may ban ah , minh gui code len cho cac ban tham khao , neu duoc thi ban zi do chi minh lap trinh dung bo dem thoi gian di nha ban viet code mau cho minh duoc khong: code cua minh viet theo ban phim ne

                        Private Sub cmdUp_KeyDown(KeyCode As Integer, Shift As Integer)
                        Dim BytesToSend(6) As Byte
                        Dim BytesToStop(6) As Byte
                        'Private Sub cmdUp_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
                        ID.Text = ID
                        If ID.Text = "" Then
                        MsgBox " Ban chua nhap ID, vui long nhap ID"
                        Exit Sub
                        End If
                        If KeyCode = 65 Then
                        Do
                        BytesToSend(0) = &HFF
                        BytesToSend(1) = ID
                        BytesToSend(2) = &H0
                        BytesToSend(3) = &H8
                        BytesToSend(4) = &H0
                        BytesToSend(5) = &H33
                        BytesToSend(6) = BytesToSend(1) + BytesToSend(2) + BytesToSend(3) + BytesToSend(4) + BytesToSend(5)
                        MSComm1.Output = BytesToSend()
                        Loop While KeyCode <> 65
                        End If


                        'End Sub
                        End Sub

                        Private Sub cmdUp_KeyUp(KeyCode As Integer, Shift As Integer)
                        Dim BytesToStop(6) As Byte
                        ID.Text = ID
                        If ID.Text = "" Then
                        MsgBox " Ban chua nhap ID, vui long nhap ID"
                        Exit Sub
                        End If
                        BytesToStop(0) = &HFF
                        BytesToStop(1) = ID
                        BytesToStop(2) = &H0
                        BytesToStop(3) = &H0
                        BytesToStop(4) = &H0
                        BytesToStop(5) = &H0
                        BytesToStop(6) = BytesToStop(1) + BytesToStop(2) + BytesToStop(3) + BytesToStop(4) + BytesToStop(5)
                        MSComm1.Output = BytesToStop()
                        End Sub

                        Private Sub Form_Load()
                        With MSComm1
                        .CommPort = 1 'chose COM1
                        .Settings = "9600,N,8,1" 'baud 9600bps, none parity, 8 bit data, 1 bit stop
                        .InBufferSize = 1024
                        .InputLen = 0
                        .RThreshold = 1
                        .SThreshold = 0
                        .OutBufferSize = 512
                        .InputMode = comInputModeBinary
                        '.InputMode = comInputModeText
                        .PortOpen = True
                        End With
                        End Sub
                        '****************** ban viet code cho nut nhan theo time zum minh duoc khong minh cam on cac ban nhieu nha

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        Đang tải...
                        X