Advertisement
sdynk02

Multi Tool (include FUI, DFD, Logbook, Briefing, Checking...

Jan 20th, 2016
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 55.50 KB | None | 0 0
  1. #RequireAdmin
  2. #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
  3. #AutoIt3Wrapper_Icon=..\Icon AutoIT\The_Blacy!\greedy.ico
  4. #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
  5. #include <Array.au3>
  6. #include <Date.au3>
  7. #include <Excel.au3>
  8. #include <MsgBoxConstants.au3>
  9. #include <ButtonConstants.au3>
  10. #include <GUIConstantsEx.au3>
  11. #include <EditConstants.au3>
  12. #include <WindowsConstants.au3>
  13. #include <GuiEdit.au3>
  14. #include <StaticConstants.au3>
  15. #include <String.au3>
  16. #include <Misc.au3>
  17. #include <AutoItConstants.au3>
  18. #include <File.au3>
  19. #include <ScrollBarsConstants.au3>
  20. #include <GuiStatusBar.au3>
  21.  
  22.  
  23.  
  24. _Singleton(@ScriptName)
  25. Opt("WinTitleMatchMode", 2)
  26. HotKeySet("^s", "_Save")
  27.  
  28. Global $Folder = @ScriptDir
  29. Global $FolderData = $Folder & "\Data"
  30. Global $Excel_File = $FolderData & "\Excel.xlsx"
  31. Global $Ini_File = $FolderData & "\Data.ini"
  32. Global $DataDFD = $FolderData & "\DataDFD.ini"
  33. Global $DataCheckAC = $FolderData & "\DataCheckAC.ini"
  34. Global $Data16162 = $FolderData & "\DataConfig16162.ini"
  35. Global $MainDataToday = "D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\Today\MainData\Data.ini"
  36. Global $CloneDataToday = "D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\Today\CloneData\Data.ini"
  37. Global $MainDataTomorrow = "D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\Tomorrow\MainData\Data.ini"
  38. Global $CloneDataTomorrow = "D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\Tomorrow\CloneData\Data.ini"
  39. Global $Boqua = ""
  40. Global $ToolShow = 1
  41. Global $ToolPos[2] = [0, 0]
  42. Global $Interact_Title = "Interact-v5.5-24Mar14"
  43. Global $Backup = "Session A (F3: New Windows)"
  44. Global $DFD = "Backup DCS (ADMIN on 10.64.16.153)"
  45. Global $Loai[] = ["VNA334", "VNA335", "VNA336", "VNA602", "VNA606", "VNA610", "VNB210", "VNB212", "VNB214", "XU348", "XU350", "VNA371", "VNA344", "VNA613", "XU349", "XU351", "VNA358", "VNA614", "VNA615"]
  46. Global $Pause = True
  47. Global $Result5 = ""
  48. Global $ClipBoard16C162Y, $Edit123, $Login, $Editlogbook, $InputSita
  49. Global $ClipBoard66Y
  50. Global $ClipBoard8C195Y
  51. Global $Result5 = ""
  52. Global $16162[] = ["VNA334", "VNA335", "VNA336", "VNA602", "VNA606", "VNA610", "XU348", "XU350"]
  53. Global $66[] = ["VNB210", "VNB212", "VNB214"]
  54. Global $8C195Y[] = ["VNA613", "VNA344", "XU349", "XU351", "VNA358", "VNA614", "VNA615"]
  55. Global $check = False
  56. Global $Flag = True
  57.  
  58.  
  59. #Region ### START Koda GUI section ### Form=
  60. $frmTool = GUICreate("Multi-Tool", 800, 500, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_TABSTOP))
  61. GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
  62. $AutoFUI = GUICtrlCreateGroup("SSCI", 10, 5, 150, 150)
  63. GUICtrlSetBkColor(-1, 0x3399FF)
  64. $AutoCheckAC = GUICtrlCreateGroup("AutoCheckAC", 10, 255, 150, 150)
  65. GUICtrlSetBkColor(-1, 0x3399FF)
  66. $Options = GUICtrlCreateGroup("Options", 10, 410, 150, 80)
  67. GUICtrlSetBkColor(-1, 0x3399FF)
  68. $Button1 = GUICtrlCreateButton("GetDataFUI", 19, 25, 75, 25)
  69. $Button2 = GUICtrlCreateButton("FUI", 19, 52, 75, 25)
  70. $Button3 = GUICtrlCreateButton("HDSD", 74, 460, 50, 25)
  71. $Edit1 = GUICtrlCreateEdit("Những chuyến có Config 16/162(66) (330/11) (8/195):", 180, 12, 300, 143, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY, $SS_GRAYFRAME))
  72. GUICtrlSetColor(-1, 0xFF0000)
  73. GUICtrlSetFont(-1, 10, 400, 0)
  74. $NewScript = GUICtrlCreateGroup("AutoDFD", 10, 160, 150, 90)
  75. GUICtrlSetBkColor(-1, 0x3399FF)
  76. $btnAn = GUICtrlCreateButton("/\", 130, 460, 25, 25)
  77. $GetDataAC = GUICtrlCreateButton("GetDataAC", 19, 100, 75, 25)
  78. $CheckAC = GUICtrlCreateButton("CheckAC", 19, 125, 75, 25)
  79. $OpenData = GUICtrlCreateButton("^", 100, 25, 25, 23)
  80. $OpenDataDFD = GUICtrlCreateButton("^", 100, 181, 25, 23)
  81. $OpenDataAC = GUICtrlCreateButton("^", 100, 100, 25, 23)
  82. $Delete = GUICtrlCreateButton("Del", 130, 25, 25, 23)
  83. $DeleteDFD = GUICtrlCreateButton("Del", 130, 181, 25, 23)
  84. $DeleteCheckAC = GUICtrlCreateButton("Del", 130, 100, 25, 23)
  85. $Printer = GUICtrlCreateButton("Printer", 19, 460, 50, 25)
  86. $GetAC = GUICtrlCreateButton("GetData", 19, 290, 50, 25)
  87. $Checking = GUICtrlCreateButton("Checking", 90, 290, 60, 25)
  88. $Label4 = GUICtrlCreateLabel("Today", 65, 272, 35, 15)
  89. $GetACMai = GUICtrlCreateButton("GetData", 19, 370, 50, 25)
  90. $Move = GUICtrlCreateButton("Move", 19, 430, 50, 25)
  91. $Aircraft = GUICtrlCreateButton("Air-Craft", 74, 430, 60, 25)
  92. GUICtrlSetFont(-1, 10, 400, 0)
  93. $CheckingMai = GUICtrlCreateButton("Checking", 90, 370, 60, 25)
  94. $Label5 = GUICtrlCreateLabel("Tomorrow", 57, 350, 50, 15)
  95. $Edit3 = GUICtrlCreateEdit("", 180, 167, 300, 143, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY, $SS_GRAYFRAME))
  96. GUICtrlSetColor(-1, 0xFF0000)
  97. GUICtrlSetFont(-1, 10, 400, 0)
  98. $Edit2 = GUICtrlCreateEdit("***Update Information***" & @CRLF _
  99.          & "1/ Update Auto tự động cập nhật địa chỉ Sita" & @CRLF _
  100.          & "qua các máy của tài liệu " & @CRLF _
  101.          & "2/ Pls đừng xóa các briefing trước trong khung" & @CRLF _
  102.          & "logbook giao ca" & @CRLF _
  103.          & @CRLF & "****AutoFUI****" & @CRLF _
  104.          & "Các a khi sử dụng tool, vào ca tối khi chạy tool " & @CRLF _
  105.          & "chịu khó ngồi xem tool chạy để theo dõi config tàu" & @CRLF _
  106.          & @CRLF & "****AutoDFD****" & @CRLF _
  107.          & "Hoàn thành AutoDFD, còn lỗi phát sinh các anh" & @CRLF _
  108.          & "báo lại để e fix. " & @CRLF _
  109.          & "Cách sử dụng : Tương tự AutoFUI, Tắt Excel," & @CRLF _
  110.          & "Vietkey trc khi chạy GetData" & @CRLF _
  111.          & "Bật trước 2 màn hình của BDCS trước khi dùng" & @CRLF _
  112.          & "bước DFD" & @CRLF _
  113.          & @CRLF & "****Auto Kiểm Tra Tàu ****" & @CRLF _
  114.          & "Cách sử dụng : Tắt DFC, Excel, Vietkey trước khi" & @CRLF _
  115.          & "chạy GetData và cả Checking của Today(Tomorrow)" & @CRLF _
  116.          & @CRLF & "Các anh chỉ cần sử dụng phím Checking để" & @CRLF _
  117.          & "kiểm tra thay đổi tàu, còn phím GetData chỉ sử" & @CRLF _
  118.          & "dụng khi có sai sót gì trong File Data gốc" & @CRLF _
  119.          & @CRLF & "Mục đích của Tool này để khi điều hành báo có thay" & @CRLF _
  120.          & "đổi tàu thì chỉ cần chạy Tool sẽ biết được tàu nào đổi" & @CRLF _
  121.          & "****Thanks/Huy****", 180, 320, 300, 170, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY, $SS_GRAYFRAME, $ES_CENTER))
  122. GUICtrlSetColor(-1, 0xFF0000)
  123. GUICtrlSetFont(-1, 10, 400, 0)
  124. $GetDFD = GUICtrlCreateButton("GetDataDFD", 19, 180, 75, 25)
  125. $DFD = GUICtrlCreateButton("DFD", 19, 207, 75, 25)
  126. $DeleteDataAC = GUICtrlCreateButton("DELETE", 19, 320, 50, 25)
  127. GUICtrlSetBkColor($DeleteDataAC, 0x3399FF)
  128. $Clear = GUICtrlCreateButton("SubClear", 90, 320, 60, 25)
  129. GUICtrlSetBkColor($Clear, 0x3399FF)
  130. $Editbriefing = GUICtrlCreateEdit("", 490, 13, 300, 200, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY, $ES_CENTER))
  131. $Updatebriefing = GUICtrlCreateButton("BRIEFING", 600, 220, 75, 25)
  132. $Editlogbook = GUICtrlCreateEdit("", 490, 250, 300, 200, BitOR($ES_WANTRETURN, $WS_VSCROLL))
  133. GUICtrlSetFont(-1, 11, 400, 0)
  134. $SaveLogbook = GUICtrlCreateButton("Save", 600, 460, 75, 25)
  135. GUI_MoveIn($frmTool, 3)
  136. GUISetState(@SW_SHOW)
  137. #EndRegion ### END Koda GUI section ###
  138.  
  139.  
  140. #Region Login Code
  141. Func __Login()
  142.     $Login = GUICreate("Thông Báo", 250, 100, -1, -1)
  143.     $Username = GUICtrlCreateInput("Username", 7, 7)
  144.     $Password = GUICtrlCreateInput("Password", 7, 37, Default, Default, $ES_PASSWORD)
  145.     $check = GUICtrlCreateButton('OK', 07, 62, 50, 25)
  146.     $Exit = GUICtrlCreateButton("Cancel", 67, 62, 50, 25)
  147.     GUISetState(@SW_SHOW)
  148.     While 1
  149.         Switch GUIGetMsg()
  150.             Case -3
  151.                 GUIDelete()
  152.                 Return 4
  153.  
  154.             Case $check
  155.                 Global $ID = GUICtrlRead($Username)
  156.                 Global $PW = GUICtrlRead($Password)
  157.                 If $ID = "admin" And $PW = "admin" Then
  158.                     __Mainform()
  159.                 Else
  160.                     MsgBox(16 + 262144, "Error", "Your Username or Password is incorrect")
  161.                     Return False
  162.                 EndIf
  163.                 Return 1
  164.             Case $Exit
  165.                 GUIDelete()
  166.                 Return 2
  167.         EndSwitch
  168.     WEnd
  169. EndFunc   ;==>__Login
  170. #EndRegion Login Code
  171. #Region MainForm Code
  172. Func __Mainform()
  173.     GUIDelete($Login)
  174.     Global $EditForm = GUICreate("Edit", 597, 420, 240, 200)
  175.     Global $Edit123 = GUICtrlCreateEdit("", 10, 8, 449, 401,BitOR($ES_WANTRETURN, $WS_VSCROLL))
  176.     Global $OK = GUICtrlCreateButton("Update", 471, 16, 120, 25)
  177.     Global $ClearMainform = GUICtrlCreateButton("Clear", 471, 46, 120, 25)
  178.     Global $Cancel = GUICtrlCreateButton("Cancel", 471, 76, 120, 25)
  179.     $FileReadLogin = FileRead("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Now.txt")
  180.     $SetdataEdit123 = GUICtrlSetData($Edit123, $FileReadLogin)
  181.     GUICtrlCreateGroup("Copy Địa Chỉ Sita", 465, 310, 125, 100)
  182.     GUICtrlSetBkColor(-1, 0xFF0000)
  183.     $InputSita = GUICtrlCreateInput("test", 475, 340, 105, 25, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
  184.     $ButtonSita = GUICtrlCreateButton("GO", 471, 370, 50, 25)
  185.     $DeleteSita = GUICtrlCreateButton("Delete", 535, 370, 50, 25)
  186.     GUICtrlSetBkColor(-1, 0xFF0000)
  187.     GUISetState(@SW_SHOW)
  188.     While 1
  189.         Switch GUIGetMsg()
  190.             Case -3
  191.                 GUIDelete()
  192.                 Return 3
  193.             Case $OK
  194.                 FileOpen("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Now.txt", 2 + 128)
  195.                 FileWrite("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Now.txt", GUICtrlRead($Edit123))
  196.                 FileClose("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Now.txt")
  197.                 $ReadData = FileRead("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Now.txt")
  198.                 GUICtrlSetData($Edit123, $ReadData)
  199.                 GUICtrlSetData($Editbriefing, $ReadData)
  200.             Case $ClearMainform
  201.                 GUICtrlSetData($Edit123, "")
  202.                 GUICtrlSetData($Editbriefing, "")
  203.                 FileDelete("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Now.txt")
  204.             Case $Cancel
  205.                 GUIDelete()
  206.                 Return 2
  207.             Case $ButtonSita
  208.                 _ButtonSita()
  209.             Case $DeleteSita
  210.                 _DeleteSita()
  211.         EndSwitch
  212.     WEnd
  213. EndFunc   ;==>__Mainform
  214. #EndRegion MainForm Code
  215. #Region Code Read File Login Data at Starting
  216. Func _starting_run()
  217.     Global $Flag = True
  218.     Global $FileReadLogin = FileRead("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Now.txt")
  219.     Global $Setdata = GUICtrlSetData($Editbriefing, $FileReadLogin)
  220.     Global $FileReadLogbook = FileRead("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Logbook.txt")
  221.     Global $Setdatalogbook = GUICtrlSetData($Editlogbook, $FileReadLogbook)
  222.     Global $Flag = False
  223. EndFunc   ;==>_starting_run
  224.  
  225. Func __Update()
  226.     __Login()
  227. EndFunc   ;==>__Update
  228. #EndRegion Code Read File Login Data at Starting
  229.  
  230.  
  231. #Region Save Logbook
  232. Func _Save()
  233.     FileOpen("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Logbook.txt", 2 + 128)
  234.     FileWrite("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Logbook.txt", GUICtrlRead($Editlogbook))
  235.     FileWrite("D:\Data\PNL HUY\autoit-v3\AutoFUI\BackUp\Back up\Logbook Backup.txt", GUICtrlRead($Editlogbook))
  236.     FileClose("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Logbook.txt")
  237.     $ReadEditLogbook = FileRead("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Login\Logbook.txt")
  238.     GUICtrlSetData($Editlogbook, $ReadEditLogbook)
  239. EndFunc   ;==>_Save
  240.  
  241. #EndRegion Save Logbook
  242. #Region While1
  243. While 1
  244.     Switch GUIGetMsg()
  245.         Case -3
  246.             Exit
  247.         Case $Button1
  248.             _Buoc1()
  249.         Case $Button2
  250.             _Buoc2()
  251.         Case $Button3
  252.             _HDSD()
  253.         Case $btnAn
  254.             _UpDown()
  255.         Case $CheckAC
  256.             _CheckAC()
  257.         Case $Delete
  258.             DeleteData()
  259.         Case $Printer
  260.             _Printer()
  261.         Case $OpenData
  262.             _OpenData()
  263.         Case $GetDFD
  264.             _GetDFD()
  265.         Case $DFD
  266.             _DFD()
  267.         Case $GetDataAC
  268.             _GetDataAC()
  269.         Case $GetAC
  270.             _GetACToday()
  271.         Case $Checking
  272.             _CheckingToday()
  273.         Case $GetACMai
  274.             _GetACTomorrow()
  275.         Case $CheckingMai
  276.             _CheckingTomorrow()
  277.         Case $DeleteDataAC
  278.             _DeleteDataAC()
  279.         Case $Clear
  280.             _Clear()
  281.         Case $OpenDataDFD
  282.             _OpenDataDFD()
  283.         Case $OpenDataAC
  284.             _OpenDataAC()
  285.         Case $DeleteDFD
  286.             _DeleteDFD()
  287.         Case $DeleteCheckAC
  288.             _DeleteCheckAC()
  289.         Case $Move
  290.             _Move()
  291.         Case $Aircraft
  292.             _AirCraft()
  293.         Case $SaveLogbook
  294.             _Save()
  295.         Case $Updatebriefing
  296.             __Update()
  297.     EndSwitch
  298.     Sleep(10)
  299.     If $Flag = True Then
  300.         _starting_run()
  301.         _GUICtrlEdit_Scroll($Editlogbook, $SB_PAGEDOWN)
  302.     EndIf
  303. WEnd
  304. #EndRegion End While1
  305.  
  306.  
  307. #Region Auto Copy Dien SITA
  308. Func _ButtonSita()
  309.     If MsgBox(3, "Thông Báo", "Kiểm tra kỹ trước khi sử dụng function này !!!!") = 6 Then
  310.     Global $mainpathsita = "S:\Program Files\SITA\SITATEX v7\WINGW\SESSION\000\USER008\Data\Folders\address books\"
  311.     Global $TailieuPathSita = "S:\Program Files\SITA\SITATEX v7\WINGW\SESSION\000\"
  312.     Global $ReadCity = GUICtrlRead($InputSita)
  313.     Global $UserTL[6] = ["USER019","USER021","USER024","USER026","USER028","USER004"]
  314.     Global $ArrayFolder[5] = ["CLM VN","CPM VN","LDM VN","MVT\VN-VIETNAM AIRLINES","UCM VN"]
  315.     For $b = 0 To 4
  316.     If FileExists($mainpathsita & $ArrayFolder[$b]& "\" & $ReadCity & ".adbk") Then
  317.     For $a = 0 To 5
  318.     FileCopy($mainpathsita & $ArrayFolder[$b] & "\" & $ReadCity & ".adbk", $TailieuPathSita & $UserTL[$a] & "\Data\Folders\address books\"& $ArrayFolder[$b] &"\" & $ReadCity & ".adbk")
  319.     Next
  320.     MsgBox(64,"Thông Báo","Hoàn Thành" & @CRLF & StringLeft($ArrayFolder[$b],3)& " của " & $ReadCity & ".adbk" )
  321.     Else
  322.     MsgBox(48, "Thông Báo", "Chưa có" & " " & StringLeft($ArrayFolder[$b], 3)& " của " & $ReadCity & ".adbk")
  323.     EndIf
  324.     Next
  325.     Else
  326.     EndIf
  327. EndFunc
  328. Func _DeleteSita()
  329.     $ReadCity = GUICtrlRead($InputSita)
  330.     Local $UserTL[6] = ["USER019","USER021","USER024","USER026","USER028","USER004"]
  331.     Local $ArrayFolder[5] = ["CLM VN","CPM VN","LDM VN","MVT\VN-VIETNAM AIRLINES","UCM VN"]
  332.     If MsgBox(3, "Thông Báo", "Function này sẽ xóa tất cả địa chỉ của " & "*"& $ReadCity &".adbk" & "*"&" trên các máy của tài liệu") = 6 Then
  333.     For $b = 0 To 4
  334.         For $a = 0 To 5
  335.                 FileDelete("S:\Program Files\SITA\SITATEX v7\WINGW\SESSION\000\" & $UserTL[$a] & "\Data\Folders\address books\" & $ArrayFolder[$b] & "\" & $ReadCity & ".adbk")
  336.         Next
  337.                 MsgBox(64,"Thông Báo","Đã xóa địa chỉ điện" & @CRLF & StringLeft($ArrayFolder[$b],3)& " của " & $ReadCity & ".adbk trên các máy tài liệu")
  338.         Next
  339.     EndIf
  340. EndFunc
  341. #EndRegion
  342.  
  343.  
  344. #Region Gui MoveUpDown
  345. Func GUI_MoveIn($GUI, $speed = 1, $Flag = 1);$flag 1(Bot to Top), 2(Left 2 Right), 3(Top to Bot), 4(Right to Left)
  346.     If $speed = Default Then $speed = 1
  347.     If $Flag = Default Then $Flag = 1
  348.     Local $pos = WinGetPos($GUI), $DskHeight = @DesktopHeight, $DskWidth = @DesktopWidth
  349.     WinMove($GUI, "", $pos[0], $DskHeight)
  350.     GUISetState(@SW_SHOW, $GUI)
  351.     Switch $Flag
  352.         Case 1
  353.             For $i = $DskHeight To ($DskHeight - $pos[3]) / 2 Step ($speed * -1) / 100
  354.                 WinMove($GUI, "", $pos[0], $i)
  355.             Next
  356.         Case 2
  357.             For $i = -$pos[2] To ($DskWidth - $pos[2]) / 2 Step $speed / 100
  358.                 WinMove($GUI, "", $i, $pos[1])
  359.             Next
  360.         Case 3
  361.             For $i = -$pos[3] To ($DskHeight - $pos[3]) / 2 Step $speed / 100
  362.                 WinMove($GUI, "", $pos[0], $i)
  363.             Next
  364.         Case 4
  365.             For $i = $DskWidth To ($DskWidth - $pos[2]) / 2 Step ($speed * -1) / 100
  366.                 WinMove($GUI, "", $i, $pos[1])
  367.             Next
  368.     EndSwitch
  369. EndFunc   ;==>GUI_MoveIn
  370. Func _UpDown()
  371.     $ToolShow = Not $ToolShow
  372.     frmTool_Show($ToolShow)
  373. EndFunc   ;==>_UpDown
  374.  
  375.  
  376. ;===Hàm lấy vị trí và kích thước GUI===
  377. Func frmTool_GetPos()
  378.     Return WinGetPos($frmTool)
  379. EndFunc   ;==>frmTool_GetPos
  380. ;=============================================
  381.  
  382. ;===Hàm chỉnh vị trí GUI===
  383. Func frmTool_SetPos($x = -1, $y = -1, $speed = 1)
  384.     Local $Size = frmTool_GetPos()
  385.     If Not ($x == -1) Then $Size[0] = $x
  386.     If Not ($y == -1) Then $Size[1] = $y
  387.     WinMove($frmTool, "", $Size[0], $Size[1], $Size[2], $Size[3], $speed)
  388. EndFunc   ;==>frmTool_SetPos
  389. ;=================================
  390.  
  391. ;===Hàm lấy chuỗi của Label===
  392. Func Label_GetText($Label)
  393.     Return GUICtrlRead($Label, 0)
  394. EndFunc   ;==>Label_GetText
  395. ;============================
  396. ;===Hàm chỉnh sửa chuỗi của Label===
  397. Func Label_SetText($Label, $NewValue = "")
  398.     Local $Text = Label_GetText($Label)
  399.     If $Text <> $NewValue Then GUICtrlSetData($Label, $NewValue)
  400. EndFunc   ;==>Label_SetText
  401. ;===================================
  402.  
  403. ;===Hàm lấy chuỗi của button===
  404. Func Button_GetText($button)
  405.     Return GUICtrlRead($button)
  406. EndFunc   ;==>Button_GetText
  407. ;==============================
  408.  
  409. ;===Hàm ch?nh chu?i c?a button===
  410. Func Button_SetText($button, $NewValue = "")
  411.     Local $Text = Button_GetText($button)
  412.     If $Text <> $NewValue Then GUICtrlSetData($button, $NewValue)
  413. EndFunc   ;==>Button_SetText
  414. ;===Hàm ?n hi?n GUI===
  415. Func frmTool_Show($Show = 0)
  416. ;~      Label_SetText($lblStatus, "Status")
  417.     Local $Span = 28
  418.     If $Show Then
  419.         Button_SetText($btnAn, "/\")
  420.         frmTool_SetPos($ToolPos[0], $ToolPos[1])
  421.     Else
  422.         $ToolPos = frmTool_GetPos()
  423.         Button_SetText($btnAn, "\/")
  424.         frmTool_SetPos($ToolPos[0], 0 - $ToolPos[3] + $Span, 2)
  425.     EndIf
  426. EndFunc   ;==>frmTool_Show
  427. #EndRegion End Gui Move Up/Down
  428. #Region FUI
  429. Func _Buoc1()
  430.     $ToolShow = Not $ToolShow
  431.     frmTool_Show($ToolShow)
  432.     slideUp_Dialog("Warning", "Script is running !!!!" & @CRLF & "Pls, Do not touch this Computer")
  433.     FileDelete($Data16162)
  434.     Sleep(300)
  435.     FileDelete($Ini_File)
  436.     Sleep(300)
  437.     Local $sDate = _DateAdd('d', 0, _NowCalcDate())
  438.     Sleep(300)
  439.     Run("D:\Appls\dfc\dfc.exe")
  440.     Local $hWnd1 = WinWait("Diags Flights Care", "Sign In")
  441.     If Not WinActive($hWnd1) Then WinActivate($hWnd1)
  442.     WinWaitActive($hWnd1)
  443.     If FileExists($Excel_File) Then FileDelete($Excel_File)
  444.     Sleep(80)
  445.     Send("N0604")
  446.     Sleep(100)
  447.     Send("{TAB}")
  448.     Sleep(100)
  449.     Send("2")
  450.     Sleep(100)
  451.     Send("{ENTER 3}")
  452.     Sleep(500)
  453.     Local $hWnd2 = WinWait("[TITLE:Diags Flights Care; CLASS:dfc9c000000]")
  454.     If Not WinActive($hWnd2) Then WinActivate($hWnd2)
  455.     WinWaitActive($hWnd2)
  456.     Sleep(80)
  457.     Send("^p")
  458.     Local $hWnd3 = WinWait("Diags Flights Care", "Print Schedule")
  459.     If Not WinActive($hWnd3) Then WinActivate($hWnd3)
  460.     WinWaitActive($hWnd3)
  461.     Sleep(100)
  462.     If _Msgbox() = 1 Then
  463.         $sDate = _DateAdd("D", 1, _NowCalcDate())
  464.         $sNewDate = StringRegExpReplace($sDate, "(\d{4})/(\d{2})/(\d{2})", "$3/$2/$1")
  465.         Sleep(500)
  466.         Send($sNewDate)
  467.         Send("d")
  468.         Sleep(100)
  469.         Send("{TAB 6}")
  470.         Sleep(100)
  471.         Send("{Enter}")
  472.     Else
  473.     EndIf
  474.     Sleep(100)
  475.     Send("{TAB}{UP}{TAB 6}{ENTER}")
  476.     Sleep(100)
  477.     Local $hWnd4 = WinWait("Microsoft Excel")
  478.     If Not WinActive($hWnd4) Then WinActivate($hWnd4)
  479.     WinWaitActive($hWnd4)
  480.     Sleep(10000)
  481.     WinClose($hWnd4)
  482.     Sleep(1000)
  483.     Send("!s")
  484.     Sleep(1000)
  485.     Send($Excel_File)
  486.     Send("!s")
  487.     Sleep(1000)
  488.     ;===================Buoc 1==========================
  489.     ProgressOn("Progress Information", "Calculating.... ", "0%")
  490.     For $z = 10 To 100 Step 10
  491.         Sleep(200) ; 5 giay chay progress
  492.         ProgressSet($z, $z & "%")
  493.     Next
  494.     ProgressSet(100, "Done", "Complete")
  495.     Sleep(200)
  496.     If FileExists($FolderData & "\Excel.xlsx") Then
  497.         Local $oExcel = ObjCreate("Excel.Application")
  498.         $oExcel.visible = Not False
  499.         $oExcel.Workbooks.Open($Excel_File)
  500.         Local $i = 7
  501.         With $oExcel.ActiveWorkBook.ActiveSheet
  502.             While .Cells($i, 2).Value
  503.                 If StringInStr(.Cells($i, 3).Value, "VN") Then
  504.                     $Result2 = StringRegExp(.Cells($i, 3).Value, "(\d+)", 3)
  505.                     $Result5 = StringMid(.Cells($i, 4).Value, 5, 3)
  506.                     If $Result2[0] <> 430 Then
  507.                         $Result3 = StringRegExp(.Cells($i, 2).Value, "(?i)(?:VNA|VNB|XU)\d+", 3)
  508.                         If Not @error Then
  509.                             Local $j = 1, $k = UBound($Loai), $n = 0
  510.                             For $dt In $Loai
  511.                                 If $Result3[0] = $dt Then
  512.                                     If $Boqua = "" Then
  513.                                         $Boqua = @CRLF & "VN" & $Result2[0] & " = " & $Result3[$n] & " ( " & $Result5 & " ) "
  514.                                         IniWrite($Data16162, $Result2[0], "Air", $Result3[$n])
  515.                                         IniWrite($Data16162, $Result2[0], "Des", $Result5)
  516.                                     Else
  517.                                         $Boqua &= @CRLF & "VN" & $Result2[0] & " = " & $Result3[$n] & " ( " & $Result5 & " ) "
  518.                                         IniWrite($Data16162, $Result2[0], "Air", $Result3[$n])
  519.                                         IniWrite($Data16162, $Result2[0], "Des", $Result5)
  520.                                     EndIf
  521.                                     $n += 1
  522.                                     ExitLoop
  523.                                 ElseIf $j < $k Then
  524.                                     $j += 1
  525.                                 Else
  526.                                     IniWrite($Ini_File, $Result2[0], "Air", $Result3[0])
  527.                                     IniWrite($Ini_File, $Result2[0], "Des", $Result5)
  528.                                 EndIf
  529.                             Next
  530.                         EndIf
  531.                     EndIf
  532.                 EndIf
  533.                 $i += 1
  534.             WEnd
  535.         EndWith
  536.         $oExcel.ActiveWorkBook.Saved = True
  537.         $oExcel.Quit
  538.         Sleep(300)
  539.         FileDelete($FolderData & "\Excel.xlsx")
  540.         IniWrite("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Logbook.ini", "Time: " & @HOUR & ":" & @MIN & "--" & @MDAY & "/" & @MON, "AutoFUI - Các tàu có Config 16/162(66)(8/195) " & @CRLF, $Boqua)
  541.         ProgressOff()
  542.         MsgBox(0, "Thông Báo", "Những chuyến có Config 16/162 hoặc 66:" & $Boqua)
  543.         Sleep(50)
  544.         slideDown_Dialog()
  545.         GUICtrlSetData($Edit1, "" & $Boqua, 1)
  546.         MsgBox(0, "Thông Báo", "Hoàn thành, Kiểm tra ngày trong F1 - Shift F3 truớc khi qua step 2")
  547.         GUI_MoveIn($frmTool, 3, 3)
  548.     Else
  549.         ProgressOff()
  550.         slideDown_Dialog()
  551.         MsgBox(0, "Thông Báo", "Thao tác sai, Thực hiện lại Step 1", 0)
  552.         GUI_MoveIn($frmTool, 3, 3)
  553.     EndIf
  554. EndFunc   ;==>_Buoc1
  555.  
  556.  
  557. Func _Buoc2()
  558.     $ToolShow = Not $ToolShow
  559.     frmTool_Show($ToolShow)
  560.     slideUp_Dialog("Warning", "Script is running !!!!" & @CRLF & "Pls, Do not touch this Computer")
  561.     If FileExists($Excel_File) Then FileDelete($Excel_File)
  562.     If FileExists($Ini_File) Then
  563.         Local $AllSection = IniReadSectionNames($Ini_File)
  564.         For $i = 1 To $AllSection[0]
  565.             Local $hWnd = WinActivate($Interact_Title)
  566.             Sleep(100)
  567.             Send("{F1}")
  568.             Sleep(100)
  569.             Send("+{F3}")
  570.             Sleep(500)
  571.             Send("+{Tab}")
  572.             Sleep(100)
  573.             Send("VN")
  574.             Sleep(100)
  575.             Send($AllSection[$i], 1)
  576.             Sleep(500)
  577.             Send("DAD")
  578.             Sleep(500)
  579.             Send(IniRead($Ini_File, $AllSection[$i], "Des", ""), 1)
  580.             Sleep(500)
  581.             Send("{ENTER}")
  582.             Sleep(1500) ; F4 Shift 1 nhap tau
  583.             Send("{F4}")
  584.             Sleep(300)
  585.             Send("+{F1}")
  586.             Sleep(500)
  587.             Send("{ENTER}")
  588.             Sleep(500)
  589.             Send("r")
  590.             Sleep(50)
  591.             Send("r")
  592.             Sleep(300)
  593.             Send("{ENTER}")
  594.             Sleep(500)
  595.             Send("{TAB}")
  596.             Sleep(300)
  597.             Send("VN")
  598.             Sleep(300)
  599.             Send("{TAB 5}")
  600.             Sleep(150)
  601.             Local $Value = IniRead($Ini_File, $AllSection[$i], "Air", "")
  602.             Sleep(150)
  603.             Send($Value, 1)
  604.             Sleep(300)
  605.             Send("{TAB}")
  606.             Sleep(500)
  607.             Send("{ENTER}")
  608.             Sleep(2000) ; Loop
  609.         Next
  610.         Sleep(50)
  611.         If MsgBox(48 + 4 + 262144, "WARNING", "Fui các tàu có config 16/162 & 8/195 ???" & @CRLF & "(Bước này các anh nên kiểm tra kỹ nhé !!! Vì dễ nhầm giữa 2 config)") = 6 Then
  612.             If FileExists($Data16162) Then
  613.                 Local $Config16162 = IniReadSectionNames($Data16162)
  614.                 For $i = 1 To $Config16162[0]
  615.                     Send("{F1}")
  616.                     Sleep(100)
  617.                     Send("+{F3}")
  618.                     Sleep(500)
  619.                     Send("+{Tab}")
  620.                     Sleep(100)
  621.                     Send("VN")
  622.                     Sleep(100)
  623.                     Send($Config16162[$i], 1)
  624.                     Sleep(500)
  625.                     Send("DAD")
  626.                     Sleep(500)
  627.                     Send(IniRead($Data16162, $Config16162[$i], "Des", ""), 1)
  628.                     Sleep(500)
  629.                     Send("{ENTER}")
  630.                     Sleep(1500) ; F4 Shift 1 nhap tau
  631.                     Send("{F4}")
  632.                     Sleep(300)
  633.                     Send("+{F1}")
  634.                     Sleep(500)
  635.                     Send("{ENTER}")
  636.                     Sleep(500)
  637.                     Send("r")
  638.                     Sleep(50)
  639.                     Send("r")
  640.                     Sleep(300)
  641.                     Send("{ENTER}")
  642.                     Sleep(500)
  643.                     Send("{TAB}")
  644.                     Sleep(300)
  645.                     Send("VN")
  646.                     Sleep(300)
  647.                     Send("{TAB 5}")
  648.                     Sleep(150)
  649.                     Local $Value3 = IniRead($Data16162, $Config16162[$i], "Air", "")
  650.                     Sleep(150)
  651.                     Send($Value3, 1)
  652.                     Sleep(300)
  653.                     Send("{TAB}")
  654.                     Sleep(500)
  655.                     Send("{ENTER}")
  656.                     Sleep(2000) ; Loop
  657.                 Next
  658.             EndIf
  659.         EndIf
  660.         If MsgBox(32 + 1 + 262144, "Thông Báo", "Xóa File Data ???") = 1 Then
  661.             FileDelete($Ini_File)
  662.             Sleep(500)
  663.             FileDelete($Data16162)
  664.         EndIf
  665.         Sleep(50)
  666.         slideDown_Dialog()
  667.         MsgBox(0, "Thông Báo", "FUI các tàu có Config 16/162 + VN430 ngày hôm sau!!!! ", 0, $hWnd)
  668.         GUI_MoveIn($frmTool, 3, 3)
  669.     Else
  670.         slideDown_Dialog()
  671.         MsgBox(0, "Thông báo", "Lỗi, Chạy lại Step 1", 0)
  672.         GUI_MoveIn($frmTool, 3, 3)
  673.     EndIf
  674. EndFunc   ;==>_Buoc2
  675. #EndRegion End FUI
  676. #Region Gui Msgbox
  677. Func _Msgbox()
  678.     GUICreate("Thông Báo", 230, 89, -1, -1)
  679.     $Button_NM = GUICtrlCreateButton("Ngày Mai", 16, 48, 75, 25)
  680.     $Button_HN = GUICtrlCreateButton("Hôm Nay", 128, 48, 75, 25)
  681.     $Label1 = GUICtrlCreateLabel("Chọn ngày để FUI(DFD)(CheckAC)???", 60, 16, 135, 25)
  682.     GUISetState(@SW_SHOW)
  683.     While 1
  684.         Switch GUIGetMsg()
  685.             Case -3
  686.                 Exit
  687.             Case $Button_NM
  688.                 GUIDelete()
  689.                 Return 1
  690.             Case $Button_HN
  691.                 GUIDelete()
  692.                 Return 2
  693.         EndSwitch
  694.     WEnd
  695. EndFunc   ;==>_Msgbox
  696. #EndRegion End GUI MSGBOX
  697. #Region CheckAC
  698. Func _GetDataAC()
  699.     $ToolShow = Not $ToolShow
  700.     frmTool_Show($ToolShow)
  701.     slideUp_Dialog("Warning", "Script is running !!!!" & @CRLF & "Pls, Do not touch this Computer")
  702.     If FileExists($Excel_File) Then FileDelete($Excel_File)
  703.     Local $sDate = _DateAdd('d', 0, _NowCalcDate())
  704.     Sleep(100)
  705.     Run("D:\Appls\dfc\dfc.exe")
  706.     Local $hWnd1 = WinWait("Diags Flights Care", "Sign In")
  707.     If Not WinActive($hWnd1) Then WinActivate($hWnd1)
  708.     WinWaitActive($hWnd1)
  709.     Sleep(80)
  710.     Send("N0604")
  711.     Sleep(100)
  712.     Send("{TAB}")
  713.     Sleep(100)
  714.     Send("2")
  715.     Sleep(100)
  716.     Send("{ENTER 3}")
  717.     Sleep(500)
  718.     Local $hWnd2 = WinWait("[TITLE:Diags Flights Care; CLASS:dfc9c000000]")
  719.     If Not WinActive($hWnd2) Then WinActivate($hWnd2)
  720.     WinWaitActive($hWnd2)
  721.     Sleep(80)
  722.     Send("^p")
  723.     Local $hWnd3 = WinWait("Diags Flights Care", "Print Schedule")
  724.     If Not WinActive($hWnd3) Then WinActivate($hWnd3)
  725.     WinWaitActive($hWnd3)
  726.     Sleep(100)
  727.     If _Msgbox() = 1 Then
  728.         $sDate = _DateAdd("D", 1, _NowCalcDate())
  729.         $sNewDate = StringRegExpReplace($sDate, "(\d{4})/(\d{2})/(\d{2})", "$3/$2/$1")
  730.         Sleep(500)
  731.         Send($sNewDate)
  732.         Send("d")
  733.         Sleep(100)
  734.         Send("{TAB 6}")
  735.         Sleep(100)
  736.         Send("{Enter}")
  737.     Else
  738.     EndIf
  739.     Sleep(100)
  740.     Send("{TAB}{UP}{TAB 6}{ENTER}")
  741.     Sleep(100)
  742.     Local $hWnd4 = WinWait("Microsoft Excel")
  743.     If Not WinActive($hWnd4) Then WinActivate($hWnd4)
  744.     WinWaitActive($hWnd4)
  745.     Sleep(10000)
  746.     WinClose($hWnd4)
  747.     Sleep(1000)
  748.     Send("!s")
  749.     Sleep(1000)
  750.     Send($Excel_File)
  751.     Send("!s")
  752.     Sleep(1000)
  753.     ProgressOn("Progress Information", "Calculating.... ", "0%")
  754.     For $z = 10 To 100 Step 10
  755.         Sleep(500)
  756.         ProgressSet($z, $z & "%")
  757.     Next
  758.     ProgressSet(100, "Done", "Complete")
  759.     Sleep(300)
  760.     If FileExists($FolderData & "\Excel.xlsx") Then
  761.         Local $oExcel = ObjCreate("Excel.Application")
  762.         $oExcel.visible = False
  763.         $oExcel.Workbooks.Open($FolderData & "\Excel.xlsx")
  764.         Local $i = 7
  765.         With $oExcel.ActiveWorkBook.ActiveSheet
  766.             While .Cells($i, 2).Value
  767.                 If StringInStr(.Cells($i, 3).Value, "VN") Then
  768.                     $Result2 = StringRegExp(.Cells($i, 3).Value, "(\d+)", 3)
  769.                     $Result5 = StringMid(.Cells($i, 4).Value, 5, 3)
  770.                     If $Result2[0] <> 430 Then
  771.                         $Result3 = StringRegExp(.Cells($i, 2).Value, "(?i)(?:VNA|VNB|XU)\d+", 3)
  772.                         IniWrite($DataCheckAC, $Result2[0], "Des", $Result5)
  773.                         $ClipBoard = ''
  774.                     EndIf
  775.                 EndIf
  776.                 $i += 1
  777.             WEnd
  778.         EndWith
  779.         $oExcel.ActiveWorkBook.Saved = True
  780.         $oExcel.Quit
  781.         Sleep(300)
  782.         FileDelete($FolderData & "\Excel.xlsx")
  783.         Sleep(50)
  784.         ProgressOff()
  785.         slideDown_Dialog()
  786.         MsgBox(0, "Thông Báo", "Hoàn thành")
  787.         GUI_MoveIn($frmTool, 3, 3)
  788.     Else
  789.         ProgressOff()
  790.         slideDown_Dialog()
  791.         MsgBox(0, "Thông Báo", "Thao tác sai, thực hiện lại Step 1", 0)
  792.         GUI_MoveIn($frmTool, 3, 3)
  793.     EndIf
  794. EndFunc   ;==>_GetDataAC
  795.  
  796. Func _CheckAC()
  797.     $ToolShow = Not $ToolShow
  798.     frmTool_Show($ToolShow)
  799.     slideUp_Dialog("Warning", "Script is running !!!!" & @CRLF & "Pls, Do not touch this Computer")
  800.     If FileExists($Excel_File) Then FileDelete($Excel_File)
  801.     If FileExists($DataCheckAC) Then
  802.         Local $AllSection = IniReadSectionNames($DataCheckAC)
  803.         For $i = 1 To $AllSection[0]
  804.             Local $hWnd = WinActivate($Interact_Title)
  805.             Sleep(100)
  806.             Send("{F1}")
  807.             Sleep(100)
  808.             Send("+{F3}")
  809.             Sleep(500)
  810.             Send("+{Tab}")
  811.             Sleep(100)
  812.             Send("VN")
  813.             Sleep(100)
  814.             Send($AllSection[$i], 1)
  815.             Sleep(200)
  816.             Send("DAD")
  817.             Sleep(50)
  818.             Local $Value = IniRead($DataCheckAC, $AllSection[$i], "Des", "")
  819.             Sleep(50)
  820.             Send($Value, 1)
  821.             Sleep(500)
  822.             Send("{ENTER}")
  823.             Sleep(50)
  824.             Send("!{i}")
  825.             Sleep(8000)
  826.             Send("{ESC}")
  827.             Sleep(500)
  828.         Next
  829.         Sleep(50)
  830.         If MsgBox(32 + 4 + 262144, "Thông Báo", "Xóa File Data ???") = 6 Then
  831.             FileDelete($DataCheckAC)
  832.         EndIf
  833.         slideDown_Dialog()
  834.         MsgBox(0, "Thông Báo", "Hoàn Thành.", 0, $hWnd)
  835.         GUI_MoveIn($frmTool, 3, 3)
  836.     Else
  837.         slideDown_Dialog()
  838.         MsgBox(0, "Thông báo", "Lỗi, Chạy lại bước 1 !!!", 0)
  839.         GUI_MoveIn($frmTool, 3, 3)
  840.     EndIf
  841. EndFunc   ;==>_CheckAC
  842. #EndRegion End CheckAC
  843. #Region DFD
  844. Func _GetDFD()
  845.     $ToolShow = Not $ToolShow
  846.     frmTool_Show($ToolShow)
  847.     slideUp_Dialog("Warning", "Script is running !!!!" & @CRLF & "Pls, Do not touch this Computer")
  848.     If FileExists($Excel_File) Then FileDelete($Excel_File)
  849.     Local $sDate = _DateAdd('d', 0, _NowCalcDate())
  850.     Sleep(100)
  851.     Run("D:\Appls\dfc\dfc.exe")
  852.     Local $hWnd1 = WinWait("Diags Flights Care", "Sign In")
  853.     If Not WinActive($hWnd1) Then WinActivate($hWnd1)
  854.     WinWaitActive($hWnd1)
  855.     Sleep(80)
  856.     Send("N0604")
  857.     Sleep(100)
  858.     Send("{TAB}")
  859.     Sleep(100)
  860.     Send("2")
  861.     Sleep(100)
  862.     Send("{ENTER 3}")
  863.     Sleep(500)
  864.     Local $hWnd2 = WinWait("[TITLE:Diags Flights Care; CLASS:dfc9c000000]")
  865.     If Not WinActive($hWnd2) Then WinActivate($hWnd2)
  866.     WinWaitActive($hWnd2)
  867.     Sleep(80)
  868.     Send("^p")
  869.     Local $hWnd3 = WinWait("Diags Flights Care", "Print Schedule")
  870.     If Not WinActive($hWnd3) Then WinActivate($hWnd3)
  871.     WinWaitActive($hWnd3)
  872.     Sleep(100)
  873.     If _Msgbox() = 1 Then
  874.         $sDate = _DateAdd("D", 1, _NowCalcDate())
  875.         $sNewDate = StringRegExpReplace($sDate, "(\d{4})/(\d{2})/(\d{2})", "$3/$2/$1")
  876.         Sleep(500)
  877.         Send($sNewDate)
  878.         Send("d")
  879.         Sleep(100)
  880.         Send("{TAB 6}")
  881.         Sleep(100)
  882.         Send("{Enter}")
  883.     Else
  884.     EndIf
  885.     Sleep(100)
  886.     Send("{TAB}{UP}{TAB 6}{ENTER}")
  887.     Sleep(100)
  888.     Local $hWnd4 = WinWait("Microsoft Excel")
  889.     If Not WinActive($hWnd4) Then WinActivate($hWnd4)
  890.     WinWaitActive($hWnd4)
  891.     Sleep(10000)
  892.     WinClose($hWnd4)
  893.     Sleep(1000)
  894.     Send("!s")
  895.     Sleep(1000)
  896.     Send($Excel_File)
  897.     Send("!s")
  898.     Sleep(1000)
  899. ;~  ProgressOn("Progress Information", "Calculating.... ", "0%")
  900. ;~  For $z = 10 To 100 Step 10
  901. ;~      Sleep(500)
  902. ;~      ProgressSet($z, $z & "%")
  903. ;~  Next
  904. ;~  ProgressSet(100, "Done", "Complete")
  905. ;~  Sleep(300)
  906.     If FileExists($FolderData & "\Excel.xlsx") Then
  907.         Local $oExcel = ObjCreate("Excel.Application")
  908.         $oExcel.visible = False
  909.         $oExcel.Workbooks.Open($FolderData & "\Excel.xlsx")
  910.         Local $i = 7
  911.         With $oExcel.ActiveWorkBook.ActiveSheet
  912.             While .Cells($i, 2).Value
  913.                 If StringInStr(.Cells($i, 3).Value, "VN") Then
  914.                     $Result2 = StringRegExp(.Cells($i, 3).Value, "(\d+)", 3)
  915.                     $Result5 = StringMid(.Cells($i, 4).Value, 5, 3)
  916.                     If $Result2[0] <> 430 Then
  917.                         $Result3 = StringRegExp(.Cells($i, 2).Value, "(?i)(?:VNA|VNB|XU)\d+", 3)
  918.                         $Data = .Cells($i, 5).Value
  919.                         If StringInStr($Data, '.') Then
  920.                             $Result6 = _ExcelDecToTime($Data)
  921.                         Else
  922.                             $Result6 = StringLeft($Data, 5)
  923.                         EndIf
  924.                         For $m = 0 To UBound($16162) - 1
  925.                             $ClipBoard16C162Y &= $16162[$m] & '|'
  926.                         Next
  927.                         For $m = 0 To UBound($66) - 1
  928.                             $ClipBoard66Y &= $66[$m] & '|'
  929.                         Next
  930.                         For $m = 0 To UBound($8C195Y) - 1
  931.                             $ClipBoard8C195Y &= $8C195Y[$m] & '|'
  932.                         Next
  933.                         If StringInStr($Result3[0], 'VNB') Then
  934.                             If StringInStr($ClipBoard66Y, $Result3[0]) Then
  935.                                 IniWrite($DataDFD, $Result2[0], "AC", "AT66")
  936.                             Else
  937.                                 IniWrite($DataDFD, $Result2[0], "AC", "AT68")
  938.                             EndIf
  939.                         Else
  940.                             If StringInStr($ClipBoard16C162Y, $Result3[0]) Then
  941.                                 IniWrite($DataDFD, $Result2[0], "AC", "321B")
  942.                             ElseIf StringInStr($ClipBoard8C195Y, $Result3[0]) Then
  943.                                 IniWrite($DataDFD, $Result2[0], "AC", "8195")
  944.                             Else
  945.                                 IniWrite($DataDFD, $Result2[0], "AC", "321")
  946.                             EndIf
  947.                         EndIf
  948. ;~                                 IniWrite($Ini_File, $Result2[0], "Air", $Result3[0])
  949.                         IniWrite($DataDFD, $Result2[0], "Timing", $Result6)
  950.                         IniWrite($DataDFD, $Result2[0], "Des", $Result5)
  951.                         $ClipBoard = ''
  952.                     EndIf
  953.  
  954.                 EndIf
  955.                 $i += 1
  956.             WEnd
  957.         EndWith
  958.         $oExcel.ActiveWorkBook.Saved = True
  959.         $oExcel.Quit
  960.         Sleep(300)
  961.         FileDelete($FolderData & "\Excel.xlsx")
  962.         Sleep(50)
  963.     Else
  964.         ProgressOff()
  965.         slideDown_Dialog()
  966.         MsgBox(0, "Thông Báo", "Lỗi, Tắt Vietkey, Excel or tắt DFC trước", 0)
  967.         GUI_MoveIn($frmTool, 3, 3)
  968.     EndIf
  969. ;~  ProgressOff()
  970.     slideDown_Dialog()
  971.     MsgBox(0, "Thông Báo", "Hoàn thành, SIGN IN + Bật sẵn cửa sổ DFD lên trước khi chạy DFD")
  972.     GUI_MoveIn($frmTool, 3, 3)
  973. EndFunc   ;==>_GetDFD
  974.  
  975. Func _ExcelDecToTime($dec_value, $format = 0) ;format=0 -> 24 hours, format=1 -> 12 hours
  976.     $time_sec = $dec_value * 86400
  977.     $hours = Int($time_sec / 3600)
  978.     If $hours < 10 Then $hours = "0" & $hours
  979.     $minutes = Int(Round(Mod($time_sec, 3600) / 60))
  980.     If $minutes < 10 Then $minutes = "0" & $minutes
  981.     $seconds = Round(Mod($time_sec, 60))
  982.     If $seconds < 10 Then $seconds = "0" & $seconds
  983.     Switch $format
  984.         Case 0 ;24 hours format
  985.             Return $hours & ":" & $minutes
  986.         Case 1 ;AM/PM format
  987.             Switch Number($hours)
  988.                 Case 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
  989.                     Return $hours - 12 & ":" & $minutes & ":" & $seconds & " PM"
  990.                 Case 12
  991.                     Return $hours & ":" & $minutes & ":" & $seconds & " PM"
  992.                 Case 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
  993.                     Return $hours & ":" & $minutes & ":" & $seconds & " AM"
  994.                 Case 0
  995.                     Return "12:" & $minutes & ":" & $seconds & " AM"
  996.                 Case Else
  997.                     MsgBox(16, "Hour Error", $hours & " is not between 0 and 24")
  998.             EndSwitch
  999.         Case Else
  1000.             MsgBox(16, "Flag error", $format & " is not a valid option")
  1001.     EndSwitch
  1002. EndFunc   ;==>_ExcelDecToTime
  1003.  
  1004. Func _DFD()
  1005.     $ToolShow = Not $ToolShow
  1006.     frmTool_Show($ToolShow)
  1007.     slideUp_Dialog("Warning", "Script is running !!!!" & @CRLF & "Pls, Do not touch this Computer")
  1008.     If FileExists($Excel_File) Then FileDelete($Excel_File)
  1009.     If FileExists($DataDFD) Then
  1010.         Local $AllSection = IniReadSectionNames($DataDFD)
  1011.         For $i = 1 To $AllSection[0]
  1012.             Local $hWnd = WinActivate($Backup)
  1013.             Sleep(10)
  1014.             Send("{PGDN}")
  1015.             Sleep(10)
  1016.             Send("DFD:" & $AllSection[$i] & "/+", 1) ; VN101
  1017.             Sleep(800)
  1018.             Send("^{Enter}")
  1019.             Sleep(500)
  1020.             If IniRead($DataDFD, $AllSection[$i], "AC", "") = "321" Then
  1021.                 Send("321")
  1022.             ElseIf IniRead($DataDFD, $AllSection[$i], "AC", "") = "321B" Then
  1023.                 Send("321")
  1024.                 Sleep(500)
  1025.                 Send("{DOWN}")
  1026.             ElseIf IniRead($DataDFD, $AllSection[$i], "AC", "") = "AT68" Then
  1027.                 Send("AT")
  1028.                 Sleep(500)
  1029.                 Send("{DOWN 2}")
  1030.             ElseIf IniRead($DataDFD, $AllSection[$i], "AC", "") = "AT66" Then
  1031.                 Send("AT")
  1032.             ElseIf IniRead($DataDFD, $AllSection[$i], "AC", "") = "8195" Then
  1033.                 Send("321")
  1034.                 Sleep(500)
  1035.                 Send("{DOWN 10}")
  1036.             EndIf
  1037.             Sleep(500)
  1038.             Send("{Tab 2}")
  1039.             Sleep(200)
  1040.             Send(IniRead($DataDFD, $AllSection[$i], "Timing", ""), 1) ; Time :
  1041.             Sleep(200)
  1042.             Send("{tab}")
  1043.             Sleep(200)
  1044.             Send(IniRead($DataDFD, $AllSection[$i], "Des", ""), 1) ; Destination : SGN, HAN
  1045.             Sleep(200)
  1046.             Send("{Tab}")
  1047.             Sleep(200)
  1048.             Send("12:12") ; Time Dep
  1049.             Sleep(200)
  1050.             Send("{TAB 3}")
  1051.             Sleep(200)
  1052.             Send("{Enter}")
  1053.         Next
  1054.         Sleep(50)
  1055.         If MsgBox(32 + 4 + 262144, "Thông Báo", "Xóa File Data ???") = 6 Then
  1056.             FileDelete($DataDFD)
  1057.         EndIf
  1058.         Sleep(50)
  1059.         slideDown_Dialog()
  1060.         MsgBox(0, "Thông Báo", "DFD VN430 + các chuyến quốc tế !!!!", 0, $hWnd)
  1061.         GUI_MoveIn($frmTool, 3, 3)
  1062.     Else
  1063.         slideDown_Dialog()
  1064.         MsgBox(0, "Thông báo", "Lỗi ! Chạy lại bước 1", 0)
  1065.         GUI_MoveIn($frmTool, 3, 3)
  1066.     EndIf
  1067. EndFunc   ;==>_DFD
  1068. #EndRegion End DFD
  1069. #Region Checking Air Craft
  1070. Func _GetACToday()
  1071.     $ToolShow = Not $ToolShow
  1072.     frmTool_Show($ToolShow)
  1073.     FileDelete($Excel_File)
  1074.     slideUp_Dialog("Warning", "Script is running !!!!" & @CRLF & "Pls, Do not touch this Computer")
  1075.     If FileExists("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\Today\MainData\Data.ini") Then
  1076.         GUI_MoveIn($frmTool, 3, 3)
  1077.         MsgBox(0, "Thông Báo", "Đã có File Data Gốc, Không cần GetData lại !!!")
  1078.     Else
  1079.         Local $sDate = _DateAdd('d', 0, _NowCalcDate())
  1080.         Sleep(100)
  1081.         Run("D:\Appls\dfc\dfc.exe")
  1082.         Local $hWnd1 = WinWait("Diags Flights Care", "Sign In")
  1083.         If Not WinActive($hWnd1) Then WinActivate($hWnd1)
  1084.         WinWaitActive($hWnd1)
  1085.         Sleep(80)
  1086.         Send("N0604")
  1087.         Sleep(100)
  1088.         Send("{TAB}")
  1089.         Sleep(100)
  1090.         Send("2")
  1091.         Sleep(100)
  1092.         Send("{ENTER 3}")
  1093.         Sleep(500)
  1094.         Local $hWnd2 = WinWait("[TITLE:Diags Flights Care; CLASS:dfc9c000000]")
  1095.         If Not WinActive($hWnd2) Then WinActivate($hWnd2)
  1096.         WinWaitActive($hWnd2)
  1097.         Sleep(80)
  1098.         Send("^p")
  1099.         Local $hWnd3 = WinWait("Diags Flights Care", "Print Schedule")
  1100.         If Not WinActive($hWnd3) Then WinActivate($hWnd3)
  1101.         WinWaitActive($hWnd3)
  1102.         Sleep(100)
  1103.         Send("{TAB}{UP}{TAB 6}{ENTER}")
  1104.         Sleep(100)
  1105.         Local $hWnd4 = WinWait("Microsoft Excel")
  1106.         If Not WinActive($hWnd4) Then WinActivate($hWnd4)
  1107.         WinWaitActive($hWnd4)
  1108.         Sleep(10000)
  1109.         WinClose($hWnd4)
  1110.         Sleep(1000)
  1111.         Send("!s")
  1112.         Sleep(1000)
  1113.         Send($Excel_File)
  1114.         Send("!s")
  1115.         Sleep(1000)
  1116.         ProgressOn("Progress Information", "Calculating.... ", "0%")
  1117.         For $z = 10 To 100 Step 10
  1118.             Sleep(500)
  1119.             ProgressSet($z, $z & "%")
  1120.         Next
  1121.         ProgressSet(100, "Done", "Complete")
  1122.         Sleep(300)
  1123.         If FileExists($FolderData & "\Excel.xlsx") Then
  1124.             Local $oExcel = ObjCreate("Excel.Application")
  1125.             $oExcel.visible = False
  1126.             $oExcel.Workbooks.Open($FolderData & "\Excel.xlsx")
  1127.             Local $i = 7
  1128.             With $oExcel.ActiveWorkBook.ActiveSheet
  1129.                 While .Cells($i, 2).Value
  1130.                     If StringInStr(.Cells($i, 3).Value, "VN") Then
  1131.                         $Result2 = StringRegExp(.Cells($i, 3).Value, "(\d+)", 3)
  1132.                         $Result5 = StringMid(.Cells($i, 4).Value, 5, 3)
  1133.                         If $Result2[0] Then
  1134.                             $Result3 = StringRegExp(.Cells($i, 2).Value, "(?i)(?:VNA|VNB|XU)\d+", 3)
  1135.                             IniWrite($MainDataToday, $Result2[0], "Air", $Result3[0])
  1136.                             $ClipBoard = ''
  1137.                         EndIf
  1138.  
  1139.                     EndIf
  1140.                     $i += 1
  1141.                 WEnd
  1142.             EndWith
  1143.             $oExcel.ActiveWorkBook.Saved = True
  1144.             $oExcel.Quit
  1145.             Sleep(300)
  1146.             FileDelete($FolderData & "\Excel.xlsx")
  1147.             ProgressOff()
  1148.             slideDown_Dialog()
  1149.             MsgBox(0, "Thông Báo", "Hoàn thành")
  1150.             GUI_MoveIn($frmTool, 3, 3)
  1151.         Else
  1152.             ProgressOff()
  1153.             slideDown_Dialog()
  1154.             MsgBox(0, "Thông Báo", "Thao tác sai, Thực hiện lại Step 1", 0)
  1155.             GUI_MoveIn($frmTool, 3, 3)
  1156.         EndIf
  1157.     EndIf
  1158. EndFunc   ;==>_GetACToday
  1159.  
  1160. Func _CheckingToday()
  1161.     $ToolShow = Not $ToolShow
  1162.     frmTool_Show($ToolShow)
  1163.     If FileExists($Excel_File) Then FileDelete($Excel_File)
  1164.     slideUp_Dialog("Warning", "Script is running !!!!" & @CRLF & "Pls, Do not touch this Computer")
  1165.     If FileExists($MainDataToday) Then
  1166.         Local $sDate = _DateAdd('d', 0, _NowCalcDate())
  1167.         Sleep(100)
  1168.         Run("D:\Appls\dfc\dfc.exe")
  1169.         Local $hWnd1 = WinWait("Diags Flights Care", "Sign In")
  1170.         If Not WinActive($hWnd1) Then WinActivate($hWnd1)
  1171.         WinWaitActive($hWnd1)
  1172.         Sleep(80)
  1173.         Send("N0604")
  1174.         Sleep(100)
  1175.         Send("{TAB}")
  1176.         Sleep(100)
  1177.         Send("2")
  1178.         Sleep(100)
  1179.         Send("{ENTER 3}")
  1180.         Sleep(500)
  1181.         Local $hWnd2 = WinWait("[TITLE:Diags Flights Care; CLASS:dfc9c000000]")
  1182.         If Not WinActive($hWnd2) Then WinActivate($hWnd2)
  1183.         WinWaitActive($hWnd2)
  1184.         Sleep(80)
  1185.         Send("^p")
  1186.         Local $hWnd3 = WinWait("Diags Flights Care", "Print Schedule")
  1187.         If Not WinActive($hWnd3) Then WinActivate($hWnd3)
  1188.         WinWaitActive($hWnd3)
  1189.         Send("{TAB}{UP}{TAB 6}{ENTER}")
  1190.         Sleep(100)
  1191.         Local $hWnd4 = WinWait("Microsoft Excel")
  1192.         If Not WinActive($hWnd4) Then WinActivate($hWnd4)
  1193.         WinWaitActive($hWnd4)
  1194.         Sleep(10000)
  1195.         WinClose($hWnd4)
  1196.         Sleep(1000)
  1197.         Send("!s")
  1198.         Sleep(1000)
  1199.         Send($Excel_File)
  1200.         Send("!s")
  1201.         Sleep(1000)
  1202.         If FileExists($FolderData & "\Excel.xlsx") Then
  1203.             Local $oExcel = ObjCreate("Excel.Application")
  1204.             $oExcel.visible = False
  1205.             $oExcel.Workbooks.Open($FolderData & "\Excel.xlsx")
  1206.             Local $i = 7
  1207.             With $oExcel.ActiveWorkBook.ActiveSheet
  1208.                 While .Cells($i, 2).Value
  1209.                     If StringInStr(.Cells($i, 3).Value, "VN") Then
  1210.                         $Result2 = StringRegExp(.Cells($i, 3).Value, "(\d+)", 3)
  1211.                         $Result5 = StringMid(.Cells($i, 4).Value, 5, 3)
  1212.                         If $Result2[0] Then
  1213.                             $Result3 = StringRegExp(.Cells($i, 2).Value, "(?i)(?:VNA|VNB|XU)\d+", 3)
  1214.                             IniWrite($CloneDataToday, $Result2[0], "Air", $Result3[0])
  1215.                             $ClipBoard = ''
  1216.                         EndIf
  1217.  
  1218.                     EndIf
  1219.                     $i += 1
  1220.                 WEnd
  1221.             EndWith
  1222.             $oExcel.ActiveWorkBook.Saved = True
  1223.             $oExcel.Quit
  1224.             Sleep(300)
  1225.             FileDelete($FolderData & "\Excel.xlsx")
  1226.             Sleep(300)
  1227. ;~ ;----------------------------------------------------------------------
  1228.             Local $sections = IniReadSectionNames(@ScriptDir & "\Data\Today\MainData\Data.ini")
  1229.             Global $check
  1230.             If @error Then
  1231.                 MsgBox(16, "", "Lỗi, không có file data !!!")
  1232.             Else
  1233.                 For $i = 1 To $sections[0]
  1234.                     Local $values = IniReadSection(@ScriptDir & "\Data\Today\MainData\Data.ini", $sections[$i])
  1235.                     If @error Then
  1236.                         MsgBox(0, '', 'Thiếu .Ini File')
  1237.                         ContinueLoop
  1238.                     EndIf
  1239.                     For $i2 = 1 To $values[0][0]
  1240.                         $values2 = IniReadSection(@ScriptDir & "\Data\Today\CloneData\Data.ini", $sections[$i])
  1241.                         If @error Then
  1242.                             MsgBox(0, '', 'Lỗi')
  1243.                         Else
  1244.                             If $values[$i2][1] <> $values2[1][1] Then
  1245.                                 Sleep(200)
  1246.                                 GUICtrlSetData($Edit3, @CRLF & "Các tàu hôm nay thay đổi", 1)
  1247.                                 Sleep(200)
  1248.                                 GUICtrlSetData($Edit3, @CRLF & "VN" & $sections[$i] & " " & "(" & $values[$i2][1] & '=>' & $values2[1][1] & ")", 1)
  1249.                                 Sleep(200)
  1250.                                 IniWrite("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Logbook.ini", "Time: " & @HOUR & ":" & @MIN & "--" & @MDAY & "/" & @MON, "VN" & $sections[$i] & " ", "      " & $values[$i2][1] & " " & "=>" & " " & $values2[1][1])
  1251.                                 $check = True
  1252.                             EndIf
  1253.                         EndIf
  1254.                     Next
  1255.                 Next
  1256.                 If $check = False Then
  1257.                     Sleep(600)
  1258.                     GUICtrlSetData($Edit3, @CRLF & "Hiện Tại Vẫn Chưa Có Tàu Thay Đổi !!!!")
  1259.                     Sleep(600)
  1260.                     IniWrite("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Logbook.ini", "Time: " & @HOUR & ":" & @MIN & "--" & @MDAY & "/" & @MON, "", "Hiện Tại Vẫn Chưa Có Tàu Thay Đổi !!!!")
  1261.                 EndIf
  1262.             EndIf
  1263.             FileDelete(@ScriptDir & "\Data\Today\MainData\Data.ini")
  1264.             Sleep(300)
  1265.             FileMove(@ScriptDir & "\Data\Today\CloneData\Data.ini", @ScriptDir & "\Data\Today\MainData\Data.ini")
  1266.             slideDown_Dialog()
  1267.             Sleep(200)
  1268.             MsgBox(0, "Thông Báo", "Hoàn thành")
  1269.             GUI_MoveIn($frmTool, 3, 3)
  1270.         Else
  1271.             slideDown_Dialog()
  1272.             Sleep(200)
  1273.             ProgressOff()
  1274.             Sleep(200)
  1275.             MsgBox(0, "Thông Báo", "Thao tác sai, Thực hiện lại Step 1", 0)
  1276.             GUI_MoveIn($frmTool, 3, 3)
  1277.         EndIf
  1278.     Else
  1279.         MsgBox(0, "Thông Báo", "Chạy GetData(Today) trước !!!")
  1280.         slideDown_Dialog()
  1281.         GUI_MoveIn($frmTool, 3, 3)
  1282.     EndIf
  1283. EndFunc   ;==>_CheckingToday
  1284.  
  1285. Func _GetACTomorrow()
  1286.     $ToolShow = Not $ToolShow
  1287.     frmTool_Show($ToolShow)
  1288.     FileDelete($Excel_File)
  1289.     slideUp_Dialog("Warning", "Script is running !!!!" & @CRLF & "Pls, Do not touch this Computer")
  1290.     If FileExists("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\Tomorrow\MainData\Data.ini") Then
  1291.         GUI_MoveIn($frmTool, 3, 3)
  1292.         MsgBox(0, "Thông Báo", "Đã có File Data Gốc, Không cần GetData lại !!!")
  1293.     Else
  1294.         Local $sDate = _DateAdd('d', 0, _NowCalcDate())
  1295.         Sleep(100)
  1296.         Run("D:\Appls\dfc\dfc.exe")
  1297.         Local $hWnd1 = WinWait("Diags Flights Care", "Sign In")
  1298.         If Not WinActive($hWnd1) Then WinActivate($hWnd1)
  1299.         WinWaitActive($hWnd1)
  1300.         Sleep(80)
  1301.         Send("N0604")
  1302.         Sleep(100)
  1303.         Send("{TAB}")
  1304.         Sleep(100)
  1305.         Send("2")
  1306.         Sleep(100)
  1307.         Send("{ENTER 3}")
  1308.         Sleep(500)
  1309.         Local $hWnd2 = WinWait("[TITLE:Diags Flights Care; CLASS:dfc9c000000]")
  1310.         If Not WinActive($hWnd2) Then WinActivate($hWnd2)
  1311.         WinWaitActive($hWnd2)
  1312.         Sleep(80)
  1313.         Send("^p")
  1314.         Local $hWnd3 = WinWait("Diags Flights Care", "Print Schedule")
  1315.         If Not WinActive($hWnd3) Then WinActivate($hWnd3)
  1316.         WinWaitActive($hWnd3)
  1317.         Sleep(100)
  1318.         $sDate = _DateAdd("D", 1, _NowCalcDate())
  1319.         $sNewDate = StringRegExpReplace($sDate, "(\d{4})/(\d{2})/(\d{2})", "$3/$2/$1")
  1320.         Sleep(500)
  1321.         Send($sNewDate)
  1322.         Send("d")
  1323.         Sleep(100)
  1324.         Send("{TAB 6}")
  1325.         Sleep(100)
  1326.         Send("{Enter}")
  1327.         Local $hWnd4 = WinWait("Microsoft Excel")
  1328.         If Not WinActive($hWnd4) Then WinActivate($hWnd4)
  1329.         WinWaitActive($hWnd4)
  1330.         Sleep(10000)
  1331.         WinClose($hWnd4)
  1332.         Sleep(1000)
  1333.         Send("!s")
  1334.         Sleep(1000)
  1335.         Send($Excel_File)
  1336.         Send("!s")
  1337.         Sleep(1000)
  1338.         ProgressOn("Progress Information", "Calculating.... ", "0%")
  1339.         For $z = 10 To 100 Step 10
  1340.             Sleep(500)
  1341.             ProgressSet($z, $z & "%")
  1342.         Next
  1343.         ProgressSet(100, "Done", "Complete")
  1344.         Sleep(300)
  1345.         If FileExists($FolderData & "\Excel.xlsx") Then
  1346.             Local $oExcel = ObjCreate("Excel.Application")
  1347.             $oExcel.visible = False
  1348.             $oExcel.Workbooks.Open($FolderData & "\Excel.xlsx")
  1349.             Local $i = 7
  1350.             With $oExcel.ActiveWorkBook.ActiveSheet
  1351.                 While .Cells($i, 2).Value
  1352.                     If StringInStr(.Cells($i, 3).Value, "VN") Then
  1353.                         $Result2 = StringRegExp(.Cells($i, 3).Value, "(\d+)", 3)
  1354.                         $Result5 = StringMid(.Cells($i, 4).Value, 5, 3)
  1355.                         If $Result2[0] Then
  1356.                             $Result3 = StringRegExp(.Cells($i, 2).Value, "(?i)(?:VNA|VNB|XU)\d+", 3)
  1357.                             IniWrite($MainDataTomorrow, $Result2[0], "Air", $Result3[0])
  1358.                             $ClipBoard = ''
  1359.                         EndIf
  1360.  
  1361.                     EndIf
  1362.                     $i += 1
  1363.                 WEnd
  1364.             EndWith
  1365.             $oExcel.ActiveWorkBook.Saved = True
  1366.             $oExcel.Quit
  1367.             Sleep(300)
  1368.             FileDelete($FolderData & "\Excel.xlsx")
  1369.             ProgressOff()
  1370.             slideDown_Dialog()
  1371.             MsgBox(0, "Thông Báo", "Hoàn thành")
  1372.             GUI_MoveIn($frmTool, 3, 3)
  1373.         Else
  1374.             ProgressOff()
  1375.             slideDown_Dialog()
  1376.             MsgBox(0, "Thông Báo", "Thao tác sai, Thực hiện lại Step 1", 0)
  1377.             GUI_MoveIn($frmTool, 3, 3)
  1378.         EndIf
  1379.     EndIf
  1380. EndFunc   ;==>_GetACTomorrow
  1381. Func _CheckingTomorrow()
  1382.     $ToolShow = Not $ToolShow
  1383.     frmTool_Show($ToolShow)
  1384.     slideUp_Dialog("Warning", "Script is running !!!!" & @CRLF & "Pls, Do not touch this Computer")
  1385.     If FileExists($Excel_File) Then FileDelete($Excel_File)
  1386.     If FileExists($MainDataTomorrow) Then
  1387.         Local $sDate = _DateAdd('d', 0, _NowCalcDate())
  1388.         Sleep(100)
  1389.         Run("D:\Appls\dfc\dfc.exe")
  1390.         Local $hWnd1 = WinWait("Diags Flights Care", "Sign In")
  1391.         If Not WinActive($hWnd1) Then WinActivate($hWnd1)
  1392.         WinWaitActive($hWnd1)
  1393.         Sleep(80)
  1394.         Send("N0604")
  1395.         Sleep(100)
  1396.         Send("{TAB}")
  1397.         Sleep(100)
  1398.         Send("2")
  1399.         Sleep(100)
  1400.         Send("{ENTER 3}")
  1401.         Sleep(500)
  1402.         Local $hWnd2 = WinWait("[TITLE:Diags Flights Care; CLASS:dfc9c000000]")
  1403.         If Not WinActive($hWnd2) Then WinActivate($hWnd2)
  1404.         WinWaitActive($hWnd2)
  1405.         Sleep(80)
  1406.         Send("^p")
  1407.         Local $hWnd3 = WinWait("Diags Flights Care", "Print Schedule")
  1408.         If Not WinActive($hWnd3) Then WinActivate($hWnd3)
  1409.         WinWaitActive($hWnd3)
  1410.         Sleep(100)
  1411.         $sDate = _DateAdd("D", 1, _NowCalcDate())
  1412.         $sNewDate = StringRegExpReplace($sDate, "(\d{4})/(\d{2})/(\d{2})", "$3/$2/$1")
  1413.         Sleep(500)
  1414.         Send($sNewDate)
  1415.         Send("d")
  1416.         Sleep(100)
  1417.         Send("{TAB 6}")
  1418.         Sleep(100)
  1419.         Send("{Enter}")
  1420.         Local $hWnd4 = WinWait("Microsoft Excel")
  1421.         If Not WinActive($hWnd4) Then WinActivate($hWnd4)
  1422.         WinWaitActive($hWnd4)
  1423.         Sleep(10000)
  1424.         WinClose($hWnd4)
  1425.         Sleep(1000)
  1426.         Send("!s")
  1427.         Sleep(1000)
  1428.         Send($Excel_File)
  1429.         Send("!s")
  1430.         Sleep(1000)
  1431.         If FileExists($FolderData & "\Excel.xlsx") Then
  1432.             Local $oExcel = ObjCreate("Excel.Application")
  1433.             $oExcel.visible = False
  1434.             $oExcel.Workbooks.Open($FolderData & "\Excel.xlsx")
  1435.             Local $i = 7
  1436.             With $oExcel.ActiveWorkBook.ActiveSheet
  1437.                 While .Cells($i, 2).Value
  1438.                     If StringInStr(.Cells($i, 3).Value, "VN") Then
  1439.                         $Result2 = StringRegExp(.Cells($i, 3).Value, "(\d+)", 3)
  1440.                         $Result5 = StringMid(.Cells($i, 4).Value, 5, 3)
  1441.                         If $Result2[0] Then
  1442.                             $Result3 = StringRegExp(.Cells($i, 2).Value, "(?i)(?:VNA|VNB|XU)\d+", 3)
  1443.                             IniWrite($CloneDataTomorrow, $Result2[0], "Air", $Result3[0])
  1444.                             $ClipBoard = ''
  1445.                         EndIf
  1446.  
  1447.                     EndIf
  1448.                     $i += 1
  1449.                 WEnd
  1450.             EndWith
  1451.             $oExcel.ActiveWorkBook.Saved = True
  1452.             $oExcel.Quit
  1453.             Sleep(300)
  1454.             FileDelete($FolderData & "\Excel.xlsx")
  1455. ;~ ;----------------------------------------------------------------------
  1456.             ProgressOn("Progress Information", "Calculating.... ", "0%")
  1457.             For $z = 10 To 100 Step 10
  1458.                 Sleep(700)
  1459.                 ProgressSet($z, $z & "%")
  1460.             Next
  1461.             ProgressSet(100, "Done", "Complete")
  1462.             Sleep(300)
  1463.             Local $sections = IniReadSectionNames(@ScriptDir & "\Data\Tomorrow\MainData\Data.ini")
  1464.             If @error Then
  1465.                 MsgBox(16, "", "Lỗi, không có file data !!!")
  1466.             Else
  1467.                 For $i = 1 To $sections[0]
  1468.                     Local $values = IniReadSection(@ScriptDir & "\Data\Tomorrow\MainData\Data.ini", $sections[$i])
  1469.                     If @error Then
  1470.                         MsgBox(0, '', 'Thiếu .Ini File')
  1471.                         ContinueLoop
  1472.                     EndIf
  1473.                     For $i2 = 1 To $values[0][0]
  1474.                         $values2 = IniReadSection(@ScriptDir & "\Data\Tomorrow\CloneData\Data.ini", $sections[$i])
  1475.                         If @error Then
  1476.                             MsgBox(0, '', 'Lỗi')
  1477.                         Else
  1478.                             If $values[$i2][1] <> $values2[1][1] Then
  1479.                                 Sleep(200)
  1480.                                 GUICtrlSetData($Edit3, @CRLF & "Các tàu ngày mai thay đổi", 1)
  1481.                                 Sleep(200)
  1482.                                 GUICtrlSetData($Edit3, @CRLF & "VN" & $sections[$i] & " " & "(" & $values[$i2][1] & '=>' & $values2[1][1] & ")", 1)
  1483.                                 Sleep(200)
  1484.                                 IniWrite("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Logbook.ini", "Time: " & @HOUR & ":" & @MIN & "--" & @MDAY & "/" & @MON, "Các tàu ngày mai thay đổi" & @CRLF & "VN" & $sections[$i] & " ", "      " & $values[$i2][1] & " " & "=>" & " " & $values2[1][1])
  1485.                                 $check = True
  1486.                             EndIf
  1487.                         EndIf
  1488.                     Next
  1489.                 Next
  1490.                 If $check = False Then
  1491.                     Sleep(400)
  1492.                     GUICtrlSetData($Edit3, @CRLF & "Các tàu ngày mai không thay đổi !!!!")
  1493.                     Sleep(400)
  1494.                     IniWrite("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Logbook.ini", "Time: " & @HOUR & ":" & @MIN & "--" & @MDAY & "/" & @MON, "", "Các tàu ngày mai không thay đổi !!!!")
  1495.                     Sleep(400)
  1496.                 EndIf
  1497.             EndIf
  1498.             FileDelete(@ScriptDir & "\Data\Tomorrow\MainData\Data.ini")
  1499.             Sleep(300)
  1500.             FileMove(@ScriptDir & "\Data\Tomorrow\CloneData\Data.ini", @ScriptDir & "\Data\Tomorrow\MainData\Data.ini")
  1501.             ProgressOff()
  1502.             slideDown_Dialog()
  1503.             MsgBox(0, "Thông Báo", "Hoàn thành")
  1504.             GUI_MoveIn($frmTool, 3, 3)
  1505.         Else
  1506.             ProgressOff()
  1507.             slideDown_Dialog()
  1508.             MsgBox(0, "Thông Báo", "Thao tác sai, Thực hiện lại Step 1", 0)
  1509.             GUI_MoveIn($frmTool, 3, 3)
  1510.         EndIf
  1511.     Else
  1512.         MsgBox(0, "Thong Bao", "Chạy GetData(Tomorrow) trước !!!")
  1513.         GUI_MoveIn($frmTool, 3, 3)
  1514.         slideDown_Dialog()
  1515.     EndIf
  1516. EndFunc   ;==>_CheckingTomorrow
  1517. #EndRegion End Checking AirCraft
  1518. #Region HDSD
  1519. Func _HDSD()
  1520.     MsgBox(0, "Huớng Dẫn Sử Dụng", "==============Cách Sử Dụng AutoFUI==============" & @CRLF _
  1521.              & "(Không sử dụng chuột và bàn phím khi sử dụng Tool) " & @CRLF _
  1522.              & "Trước khi chạy GetDataFui, tắt Diag Flight Care, Vietkey, Excel !!!" & @CRLF & "       " & @CRLF _
  1523.              & "Trước khi chạy FUI, chọn ngày trên SSCI trước, các anh nên chọn ngày trong F1 Shift F3 trước " & @CRLF _
  1524.              & "P/s : Hotkey :    Phim ESC = Exit   " & @CRLF & " " & @CRLF)
  1525. EndFunc   ;==>_HDSD
  1526. #EndRegion End HDSD
  1527. #Region Rest Code
  1528. Func DeleteData()
  1529.     If FileExists($Ini_File) Then
  1530.         If MsgBox(4, "Thông Báo", "Delete C16Y168 Data???") = 6 Then
  1531.             Sleep(200)
  1532.             FileDelete($Ini_File)
  1533.             Sleep(200)
  1534.             MsgBox(0, "Thông Báo", "Deleted C16Y168 Data!!!")
  1535.         EndIf
  1536.     Else
  1537.         MsgBox(0, "Thông Báo", "Không Có CSDL của FUI (1)" & @CRLF & "(16/168)")
  1538.     EndIf
  1539.     If FileExists($Data16162) Then
  1540.         If MsgBox(4, "", "Delete C16Y162 & C8Y195 Data???") = 6 Then
  1541.             Sleep(200)
  1542.             FileDelete($Data16162)
  1543.             Sleep(200)
  1544.             MsgBox(0, "Thông Báo", "Deleted C16Y162 & C8Y195 Data")
  1545.         EndIf
  1546.     Else
  1547.         MsgBox(0, "Thông Báo", "Không Có CSDL của FUI (2)" & @CRLF & "(16/162 & 8/195)")
  1548.     EndIf
  1549. EndFunc   ;==>DeleteData
  1550. Func _OpenData()
  1551.     If FileExists($Ini_File) Then
  1552.         ShellExecute($Ini_File)
  1553.     Else
  1554.         MsgBox(48, "Warning", "Không có CSDL của FUI!")
  1555.     EndIf
  1556. EndFunc   ;==>_OpenData
  1557.  
  1558. Func _OpenDataDFD()
  1559.     If FileExists($DataDFD) Then
  1560.         ShellExecute($DataDFD)
  1561.     Else
  1562.         MsgBox(48, "Warning", "Không có CSDL của DFD!")
  1563.     EndIf
  1564. EndFunc   ;==>_OpenDataDFD
  1565.  
  1566. Func _OpenDataAC()
  1567.     If FileExists($DataCheckAC) Then
  1568.         ShellExecute($DataCheckAC)
  1569.     Else
  1570.         MsgBox(48, "Warning", "Không có CSDL của CheckAC !")
  1571.     EndIf
  1572. EndFunc   ;==>_OpenDataAC
  1573.  
  1574. Func _AirCraft()
  1575.     MsgBox(64, "Air Craft Config", "Các tàu có Config 16/162 :" & _
  1576.             @CRLF & "VNA334, VNA335, VNA336, VNA602, VNA606, VNA610, XU348, XU350" & _
  1577.             @CRLF & @CRLF & "Các tàu có Config 8/195 :" & _
  1578.             @CRLF & "VNA613, VNA344, XU349, XU351, VNA358, VNA614, VNA615" & _
  1579.             @CRLF & @CRLF & "Các tàu có Config Y66 :" & _
  1580.             @CRLF & "VNB210, VNB212, VNB214" & _
  1581.             @CRLF & @CRLF & "Còn lại là tàu có Config 16/168")
  1582. EndFunc   ;==>_AirCraft
  1583. ;===Hàm thoát GUI===
  1584. Func frmTool_Exit()
  1585.     Exit
  1586. EndFunc   ;==>frmTool_Exit
  1587. ;===================
  1588.  
  1589. Func _Printer()
  1590.     ShellExecute("D:\Data\PNL HUY\autoit-v3\AutoFUI\Printer.exe")
  1591. EndFunc   ;==>_Printer
  1592.  
  1593. Func _Exit()
  1594.     Exit
  1595. EndFunc   ;==>_Exit
  1596. Func _DeleteDataAC()
  1597.     If FileExists("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\Today\MainData\Data.ini") Then
  1598.         If MsgBox(1, "Thông Báo", "Xóa File GetDataToday ???") = 1 Then
  1599.             Sleep(200)
  1600.             FileDelete("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\Today\MainData\Data.ini")
  1601.             Sleep(200)
  1602.             MsgBox(0, "Thông Báo", "Đã xóa file GetDataToday")
  1603.         EndIf
  1604.     Else
  1605.         MsgBox(0, "Thông Báo", "Ko có file GetDataToday")
  1606.     EndIf
  1607.     If FileExists("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\Tomorrow\MainData\Data.ini") Then
  1608.         If MsgBox(1, "", "Xoa File GetDataTomorrow ???") = 1 Then
  1609.             Sleep(200)
  1610.             FileDelete("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\Tomorrow\MainData\Data.ini")
  1611.             Sleep(200)
  1612.             MsgBox(0, "Thông Báo", "Đã xóa file GetDataTomorrow")
  1613.         EndIf
  1614.     Else
  1615.         MsgBox(0, "Thông Báo", "Ko có file GetDataTomorrow")
  1616.     EndIf
  1617. EndFunc   ;==>_DeleteDataAC
  1618.  
  1619. Func _DeleteDFD()
  1620.     If FileExists($DataDFD) Then
  1621.         If MsgBox(4, "Thông Báo", "Xóa CSDL của DFD ???") = 6 Then
  1622.             FileDelete($DataDFD)
  1623.         EndIf
  1624.     Else
  1625.         MsgBox(0, " Thông Báo", "Không có CSDL của DFD")
  1626.     EndIf
  1627. EndFunc   ;==>_DeleteDFD
  1628.  
  1629. Func _DeleteCheckAC()
  1630.     If FileExists($DataCheckAC) Then
  1631.         If MsgBox(4, "Thông Báo", "Xóa CSDL của CheckAC ???") = 6 Then
  1632.             FileDelete($DataCheckAC)
  1633.         EndIf
  1634.     Else
  1635.         MsgBox(0, " Thông Báo", "Không có CSDL của CheckAC")
  1636.     EndIf
  1637. EndFunc   ;==>_DeleteCheckAC
  1638.  
  1639. Func _Clear()
  1640.     If MsgBox(1, "Thông Báo", "Submit & Clear thông tin của AutoCheckAC + AutoFUI ?") = 1 Then
  1641.         IniWrite("D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\LogBook\Logbook.ini", "Time " & @HOUR & ":" & @MIN & "--" & @MDAY & "/" & @MON, "", "OK")
  1642.         Sleep(200)
  1643.         GUICtrlSetData($Edit1, "Những chuyến có Config 16/162(66) (330/11) (8/195):")
  1644.         Sleep(500)
  1645.         GUICtrlSetData($Edit3, "")
  1646.     Else
  1647.     EndIf
  1648. EndFunc   ;==>_Clear
  1649.  
  1650. #EndRegion End Rest Code
  1651. #Region Message Slide Up/Down
  1652. ;=======================================================Message Slideup + Down =====================================
  1653. Func slideUp_Dialog($title, $message)
  1654.     Local $desktopH = @DesktopHeight, $desktopW = @DesktopWidth
  1655.     Local $width = 285, $height = 236
  1656.     Local $x = $desktopW - ($width + 12)
  1657.     #Region ### START Koda GUI section ### Form=
  1658.     Global $MainForm = GUICreate($title, $width, 165, $x, $desktopH, -1, BitOR($WS_EX_TOPMOST, $WS_EX_WINDOWEDGE), WinGetHandle(AutoItWinGetTitle()))
  1659.     GUISetFont(12, 400, 0, "Arial")
  1660.     GUISetOnEvent($GUI_EVENT_CLOSE, "slideDown_Dialog")
  1661.     GUISetOnEvent($GUI_EVENT_MINIMIZE, "slideDown_Dialog")
  1662.     Local $Edit = GUICtrlCreateEdit($message, 0, 0, 284, 164, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY))
  1663.     GUICtrlSetState(-1, $GUI_FOCUS)
  1664.     GUISetState(@SW_SHOW)
  1665.     #EndRegion ### END Koda GUI section ###
  1666.     For $i = 0 To $height Step +5
  1667.         WinMove($MainForm, "", $x, $desktopH - $i)
  1668.         Sleep(1)
  1669.     Next
  1670. EndFunc   ;==>slideUp_Dialog
  1671. Func _Move()
  1672.     If FileExists($MainDataTomorrow) Then
  1673.         If MsgBox(1, "Thông Báo", "Move File Data Ngày mai ????") = 1 Then
  1674.             FileMove($MainDataTomorrow, "D:\Data\PNL HUY\autoit-v3\AutoFUI\Data\Today\MainData", $FC_OVERWRITE)
  1675.             Sleep(100)
  1676.             MsgBox(0, "Thông Báo", "Hoàn Thành")
  1677.         EndIf
  1678.     Else
  1679.         MsgBox(0, "Thông Báo", "File Data ngày mai không có !!!")
  1680.     EndIf
  1681. EndFunc   ;==>_Move
  1682. Func slideDown_Dialog()
  1683.     For $i = 255 To 0 Step -10
  1684.         WinSetTrans($MainForm, "", $i)
  1685.         Sleep(1)
  1686.     Next
  1687.     Sleep(300)
  1688.     GUIDelete($MainForm)
  1689. EndFunc   ;==>slideDown_Dialog
  1690. #EndRegion End Message Slide up/Down
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement