1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hỏi đáp Các bạn cho mình hỏi làm sao thoát khỏi vòng lặp While bằng HotKey

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi mnonline, 16/7/18.

  1. mnonline

    mnonline Thành viên mới
    • 3/6

    Tham gia ngày:
    23/1/16
    Bài viết:
    12
    Đã được thích:
    1
    Các bạn cho mình hỏi, mình làm 2 hostkey F1 là chạy auto, F2 là dừng auto.
    F1 thì trong vòng lặp While 1, thì làm sao mình ấn F2 thì thoát khỏi vòng lặp mà chương trình không tắt ạ.
    Em thử Exitlop thì ko cho, Break, Exit thì đều tắt luôn phần mềm đi ạ.
    Em cảm ơn !
    [​IMG]
     
  2. longtu

    longtu Thành viên mới
    • 3/6

    Tham gia ngày:
    9/8/17
    Bài viết:
    15
    Đã được thích:
    6
    Code trên có 2 điểm sai kiến thức:
    + HotKeySet không nên bỏ vào vòng lặp, để như code trên thì cũng chạy đó, mà có điều cứ mỗi vòng lặp lại gán HotKeySet gây tổn hao tài nguyên hệ thống vô ích.
    + Lệnh Break trong autoit ý nghĩa của nó không phải là thoát vòng lặp mà là ngăn cho ng` dùng không exit code bằng menu khi nhấp phải cái icon autoit dưới tray.

    Trở lại câu hỏi chính thì để thoát loop ta sử dụng biến trạng thái để thay đổi trạng thái Start - Stop

    Mã (AutoIt):
    HotKeySet("{F1}", "_Start")
    HotKeySet("{F2}", "_Stop")
    Global $TrangThai_Stop = False

    While 1
        ToolTip("F1 start F2 stop")
        Sleep(30)
    WEnd


    Func _Start()
        ToolTip("Đang chạy")
        While 1
         
            While $TrangThai_Stop = True
                Sleep(30)
            WEnd
           
            ConsoleWrite(".")
            Sleep(100)
        WEnd
    EndFunc

    Func _Stop()
        $TrangThai_Stop = Not $TrangThai_Stop ;Thay đổi trạng thái
        If $TrangThai_Stop = True Then
            ToolTip("Tạm dừng")
        Else
            ToolTip("Đang chạy")
        EndIf
    EndFunc
     
     
  3. mnonline

    mnonline Thành viên mới
    • 3/6

    Tham gia ngày:
    23/1/16
    Bài viết:
    12
    Đã được thích:
    1
    Vâng em cảm ơn bác @longtu nhiều ạ.
    Em nghĩ HotkeySet cũng không cần đặt trong vòng lặp While, -> cái này em mới xem viết theo 1 clip trên mạng ạ.
    Lệnh Break em cũng thử ạ, em dùng Exitloop thì không được vì không trong vòng lặp, Exit thì tắt phần mềm luôn ạ.
    Bác có face hay liên lạc với bác cách nào ạ. Em đang muốn học về auto game web mà em tìm thấy ít kiến thức ạ. Bác có rảnh thì hướng dẫn em với ạ.
    Em cảm ơn bác !
     
  4. mnonline

    mnonline Thành viên mới
    • 3/6

    Tham gia ngày:
    23/1/16
    Bài viết:
    12
    Đã được thích:
    1
    Bác @longtu ơi, em viết như này không biết sai chỗ nào.
    Ấn F1 xong Ấn F2 nó mới chạy, Ấn F2 nữa thì nó dừng, Ấn F1 lại chạy ạ.
    Mà khi máy chạy lag kinh khủng luôn ạ.
    Không biết em viết sai gì ạ.
    Em cảm ơn !
    [​IMG]
     
  5. fantasizzz

    fantasizzz Thành viên mới
    • 3/6

    Tham gia ngày:
    28/4/18
    Bài viết:
    11
    Đã được thích:
    3
    theo mình thì bạn nên học những thứ căn bản trước đi ,cái này trên youtube có rất nhiều nha(vd nghichmaytinh-simonsai gì gì đó), chứ chưa gì đã đòi viết auto game rồi . với lại những thứ liên quan đến auto game thì ít người chỉ lắm
     
  6. mnonline

    mnonline Thành viên mới
    • 3/6

    Tham gia ngày:
    23/1/16
    Bài viết:
    12
    Đã được thích:
    1
    Làm 1 bài tập lớn sẽ nghi ra bài tập nhỏ bác ạ.
    Cái cơ bản em cũng nắm dc sơ sơ rùi a.
    Trước em có học của bác Vinh Nguyễn mà lâu em ko code autoit a.
     
  7. hoangvq

    hoangvq Thành viên mới
    • 3/6

    Tham gia ngày:
    12/7/18
    Bài viết:
    20
    Đã được thích:
    1
    Code trên đơ do dùng nhiều vòng lặp lồng nhau. Bạn cứ tưởng tượng while wend nó giống như cái khung nhốt ấy.
     
  8. mnonline

    mnonline Thành viên mới
    • 3/6

    Tham gia ngày:
    23/1/16
    Bài viết:
    12
    Đã được thích:
    1
    Vâng em cảm ơn các bác em làm dc rồi ạ :D
     

Chia sẻ trang này

Đang tải...