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 Cho hỏi cách chạy tuần tự 10 file au3 tương ứng các checkbox đã tích

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

  1. dungvu

    dungvu Thành viên mới
    • 1/6

    Tham gia ngày:
    18/10/17
    Bài viết:
    3
    Đã được thích:
    0
    [​IMG]

    Mọi người ơi cho e hỏi em viết 1 cái tool cho công việc có tạo 1 cái GUI vs 10 cái hộp check hoặc uncheck và 2 nút thoát và begin

    10 cái hộp check ứng vs 10 thư viện file au3

    làm cách nào để khi cùng check 2 hoặc nhiều cái mà ấn begin nó thực hiện từng cái xong rồi chạy cái tiếp theo ạ nghiên cứu mãi mà mù tịt quá gõ lệnh vào mà nó cứ chạy cùng 1 lúc thôi @@

    Code:
    Mã (AutoIt):
    #include <ImageSearch.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=e:\huu thang\form1 - copy.kxf
        $Form1 = GUICreate("HUY PHAN BO THIET BI ", 293, 336, 620, 312)
        $Group1 = GUICtrlCreateGroup("Xe nang ", 64, 0, 129, 265)
        $E100A = GUICtrlCreateCheckbox("E100", 72, 16, 73, 25)
        $E103A = GUICtrlCreateCheckbox("E103", 72, 40, 73, 25)
        $E104A = GUICtrlCreateCheckbox("E104", 72, 64, 73, 25)
        $E105A = GUICtrlCreateCheckbox("E105", 72, 88, 73, 25)
        $E106A = GUICtrlCreateCheckbox("E106", 72, 112, 73, 25)
        $E115A = GUICtrlCreateCheckbox("E115", 72, 136, 73, 25)
        $E116A = GUICtrlCreateCheckbox("E116", 72, 160, 73, 25)
        $E89A = GUICtrlCreateCheckbox("E89", 72, 184, 65, 25)
        $E97A = GUICtrlCreateCheckbox("E97", 72, 208, 65, 25)
        $E99A = GUICtrlCreateCheckbox("E99", 72, 232, 65, 25)
        GUICtrlCreateGroup("", -99, -99, 1, 1)
        $Button1 = GUICtrlCreateButton("HUYPB", 16, 272, 113, 49)
        $Button2 = GUICtrlCreateButton("Thoat", 160, 272, 113, 49)
        GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
        $nMsg = GUIGetMsg()

        Switch $nMsg
            Case $Button1
                GUICtrlSetState($Button1, $GUI_DISABLE)
                ;click chuột vào màn hinh làm việc
                MouseClick('left', 471, 204)

                ;PHAN CHO E100
                If GUICtrlRead($E100A) = 1 Then
                    _OPEN('100')
                    _WAIT()
                EndIf
                Sleep(2000)

                ;PHAN CHO E103
                If GUICtrlRead($E103A) = 1 Then
                    _OPEN('103')
                    _WAIT()
                EndIf
                Sleep(2000)
                ;nut thoat chuong trinh
            Case $Button2
                Exit
        EndSwitch
    WEnd
    ;trong thu vien co cac file : 103.au3, 100.au3.... để thực hiện các thao tác mình muốn
    Func _OPEN($XE)
        ShellExecute('E:\Dung Vu\ImageSearch\' & $XE & '.au3')
    EndFunc

    Func _WAIT()
        While 1
            ;khi kêt thuc 1 thao tac cua file 100.au3 hay 103.au3 se hien len 1 cai messenger box title là 0 báo hoàn thành việc có 1 nút ok ở cái mesengerbox
            If WinExists('0') = 1 Then
                ControlClick('0', '', '[CLASS:Button; INSTANCE:1]')
                Sleep(1000)
                ProcessClose('AutoIt3.exe')
                Sleep(1000)
                ExitLoop
            EndIf
            Sleep(500
        WEnd
    EndFunc
     
  2. nguyen viet tuan

    nguyen viet tuan Thành viên mới
    • 1/6

    Tham gia ngày:
    6/2/16
    Bài viết:
    13
    Đã được thích:
    0
    Mã (AutoIt):
               If GUICtrlRead($E100A)= 1 Then
                    _OPEN('100')
                    _WAIT()
                     If GUICtrlRead($E103A)= 1 Then
                    _OPEN('103')
                    _WAIT()
               EndIf
               EndIf
               Sleep(2000)
    Theo mình nghĩ thì đơn giản là bạn sau khi e100a chạy xong func _wait thì nó sẽ đọc tiếp file e103a có được chọn hay ko nếu có thì chạy nhưng nó sẽ bất tiện nếu e100a ko dc chọn :v
     
  3. dungvu

    dungvu Thành viên mới
    • 1/6

    Tham gia ngày:
    18/10/17
    Bài viết:
    3
    Đã được thích:
    0
    thế mới nói , wait() kia của tớ là bao h xuất hiện xong cái cửa sổ thông báo msgbox(0,0,0) hoàn tất thì sẽ chạy tiếp cái tiếp theo nhưng mà khổ nỗi cho chạy thì nó cứ chạy song song luôn chạy xong được 1 cái là dừng đơ luôn ko phát hiện được cái cửa sổ "0" và k chạy tiếp cái tiếp theo, bạn có ý tưởng j cải thiện không ạ :p
     
  4. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    Mình kiếm trên mạng thì thấy cái lệnh như thế này, khá hay có thể khắc phục được cái lỗi bạn đề cập. Mình viết lại thành function cho bạn dễ dùng rồi đó!
    Mã (AutoIt):

    MsgBoxNoPause(0,0,0,1)

    Func MsgBoxNoPause($flag,$title,$text, $timeout='',$hwnd='')
        $title = ', "'&$title&'"'
        $text = ', "'&$text&'"'
        $timeout = ($timeout<>'')?', '&$timeout:''
        $hwnd = ($hwnd<>'')?', '&$hwnd:''
        MsgBox(0,0,' /AutoIt3ExecuteLine "MsgBox('&$flag&$title&$text&$timeout&$hwnd&')"')
        Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox('&$flag&$title&$text&$timeout&$hwnd&')"')
    EndFunc
     
     
    dungvu thích bài này.
  5. dungvu

    dungvu Thành viên mới
    • 1/6

    Tham gia ngày:
    18/10/17
    Bài viết:
    3
    Đã được thích:
    0
    XIN CÁM ƠN BRO :) EM SẼ THỬ VÀ REP SAU
     

Chia sẻ trang này

Đang tải...