как попросить пользователя вставить диапазон дат в AutoHotKey - PullRequest
0 голосов
/ 14 октября 2019

У меня есть код, который открывает программное обеспечение под названием Enmark и проходит через меню. Как только он попадает на определенный экран, необходимо вставить диапазон дат. Я хотел бы, чтобы перед выполнением кода появилось всплывающее окно, сгенерированное ahk, чтобы попросить пользователя выбрать 2 даты (Дата начала и Дата окончания) в формате DDMMYY, а затем вызвать его при достижении соответствующего экрана. Было бы еще лучше, если бы во всплывающем окне был календарь.

; Run E2A Extracts                                                                  
  settitlematchmode 2                                   
  run "C:\Program Files (x86)\Enmark Systems\enlink7\Enlink.exe" "C:\Program Files (x86)\Enmark Systems\enlink7\Enmark Systems - Enlink.CFT"                                    
  winwait    Enlink                                 
  SLEEP 1000                                        
  ifwinnotexist  Enlink                                 
  sleep 1000                                        
  send nwuser1{ENTER}                                       
  sleep 5000                                        
;
;QMPRDRP2 (Quality Metals Production Report 2) file extract
  winactivate Enlink
  send{ESC}QMPRDRP2{ENTER}7{ENTER}E{ENTER}REP{ENTER}{ENTER}
;send (Starting Date DDMMYY){ENTER}
;send (Ending Date DDMMYY){ENTER}
  WINWAIT DPREP
  WINACTIVATE DPREP                             
  SLEEP 2000                                        
  winmaximize DPREP

1 Ответ

0 голосов
/ 14 октября 2019
Gui, -MinimizeBox -MaximizeBox +hwndGuiID
Gui, Add, Text,, Start date:
Gui, Add, MonthCal, vStartCal
Gui, Add, Text,, End date:
Gui, Add, MonthCal, vEndCal
Gui, Add, Button, gAcceptBtn, Accept dates and continue
Gui, Show,, Get Dates

Loop
{
    WinWaitClose, ahk_id %GuiID%
    MsgBox, 4132, Check dates, % "Start Date: " StartDate "`nEnd Date: " EndDate "`n`nIs this correct?"
    IfMsgBox, Yes
        break
    Gui, Show
}
return
;
; *** End of auto-execute section ***
AcceptBtn:
    Gui, Submit
    StartDate := SubStr(StartCal, 5, 2) . SubStr(StartCal, 7, 2) . SubStr(StartCal, 3, 2)
    EndDate := SubStr(EndCal, 5, 2) . SubStr(EndCal, 7, 2) . SubStr(EndCal, 3, 2)

    Esc::ExitApp
...