Advertisement
Guest User

Untitled

a guest
Jun 30th, 2015
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 21.62 KB | None | 0 0
  1. #include <ButtonConstants.au3>
  2. #include <EditConstants.au3>
  3. #include <GUIConstantsEx.au3>
  4. #include <StaticConstants.au3>
  5. #include <WindowsConstants.au3>
  6. #include <Date.au3>
  7. #include <array.au3>
  8. #include <GuiEdit.au3>
  9. #include <Misc.au3>
  10. #include <FileConstants.au3>
  11. #include <MsgBoxConstants.au3>
  12.  
  13.  
  14. Opt("GUIOnEventMode", 1)
  15.  
  16.  
  17.  
  18. #Region ### START Koda GUI section ### Form=c:\users\tgg\desktop\autoitv3\mvt trial\mvttrial.kxf
  19. $Main = GUICreate("MVT-Tool", 989, 387)
  20. GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
  21. $Edit1 = GUICtrlCreateEdit("*********Hướng Dẫn Sử Dụng*********" & _
  22.         @CRLF & "MVT Đến :" & _
  23.         @CRLF & "+ Ô VN nhập số hiệu chuyến bay(VN101)" & _
  24.         @CRLF & "+ Ô A/C nhập tàu(VNA327)" & _
  25.         @CRLF & "+ Ô ChockOn nhập giờ Chockon(1600)" & _
  26.         @CRLF & "MVT Đi :" & _
  27.         @CRLF & "Khung bên trái dùng để nhập Loadsheet" & _
  28.         @CRLF & "+ Ô C-Off nhập giờ ChockOff(1600)" & _
  29.         @CRLF & "+ Ô TakeOff nhập giờ Take Off (1615)" & _
  30.         @CRLF & "+ Ô EA nhập giờ Estimated Arrival(1715)" & _
  31.         @CRLF & "Code Delay :" & _
  32.         @CRLF & "+ Nếu giờ EA qua ngày thì các a đánh dấu + vào ô EA như bình thường" & _
  33.         @CRLF & "+ Trường hợp có 2 code delay thì các a đánh theo form : RA/PD/0005/0005, Tool sẽ tự vào form MVT" & _
  34.         @CRLF & "+ Ô SI dùng để đánh nội dung code delay khi dùng code MI/MX" & _
  35.         @CRLF & "Phím NX :" & _
  36.         @CRLF & "+ Chỉ dùng cho chuyến bay NX, các chuyến quốc tế còn lại vẫn sử dụng phím MVT Đi và Đến" , 8, 8, 305, 369, $ES_AUTOVSCROLL + $WS_VSCROLL)
  37. GUICtrlSetData($Edit1, "", 1)
  38. $CtrlA = GUICtrlCreateDummy()
  39. $Group1 = GUICtrlCreateGroup("Group1", 328, 8, 329, 129)
  40. $Label1 = GUICtrlCreateLabel("VN", 344, 32, 27, 25, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  41. GUICtrlSetBkColor(-1, 0x00FFFF)
  42. $Label2 = GUICtrlCreateLabel("A/C", 344, 64, 23, 17, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  43. GUICtrlSetBkColor(-1, 0x00FFFF)
  44. $COn = GUICtrlCreateLabel("ChockOn", 336, 96, 59, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE, $ES_NUMBER))
  45. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  46. GUICtrlSetBkColor(-1, 0x00FFFF)
  47. $Input1 = GUICtrlCreateInput("VN101", 400, 32, 121, 24, $ES_UPPERCASE)
  48. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  49. $Input2 = GUICtrlCreateInput("VNA325", 400, 64, 121, 24, $ES_UPPERCASE)
  50. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  51. $Input6 = GUICtrlCreateInput("1205", 400, 96, 121, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER, $ES_OEMCONVERT))
  52. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  53. $Button1 = GUICtrlCreateButton("MVTDen", 576, 64, 75, 25, $WS_GROUP)
  54. GUICtrlSetOnEvent(-1, "MVTDen")
  55. GUICtrlCreateGroup("", -99, -99, 1, 1)
  56. $Group2 = GUICtrlCreateGroup("Group2", 328, 144, 329, 217)
  57. $Input5 = GUICtrlCreateInput("0545", 400, 168, 121, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
  58. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  59. $Input3 = GUICtrlCreateInput("0600", 400, 208, 121, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
  60. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  61. $Input4 = GUICtrlCreateInput("0054", 400, 248, 121, 24)
  62. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  63. $Button4 = GUICtrlCreateButton("KE", 576, 160, 75, 25, $WS_GROUP)
  64. GUICtrlSetOnEvent(-1, "_KE")
  65. ;GUICtrlSetBkColor($Button4, 0x009900FF)
  66. $Button2 = GUICtrlCreateButton("MVTDi", 576, 190, 75, 25, $WS_GROUP)
  67. GUICtrlSetOnEvent(-1, "MVTDi")
  68. $Button3 = GUICtrlCreateButton("NX", 576, 220, 75, 25, $WS_GROUP)
  69. GUICtrlSetOnEvent(-1, "_NX")
  70. $Button5 = GUICtrlCreateButton("OZ", 576, 250, 75, 25, $WS_GROUP)
  71. GUICtrlSetOnEvent(-1, "_OZ")
  72. $Label3 = GUICtrlCreateLabel("FLT-Time", 336, 248, 58, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  73. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  74. GUICtrlSetBkColor(-1, 0x00FFFF)
  75. $Label4 = GUICtrlCreateLabel("C-Off", 336, 168, 52, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  76. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  77. GUICtrlSetBkColor(-1, 0x00FFFF)
  78. $Chockoff = GUICtrlCreateLabel("TakeOff", 336, 208, 58, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  79. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  80. GUICtrlSetBkColor(-1, 0x00FFFF)
  81. $Checkbox1 = GUICtrlCreateCheckbox("Delay", 338, 288, 89, 25, BitOR($BS_CHECKBOX, $BS_AUTOCHECKBOX, $BS_CENTER, $WS_TABSTOP))
  82. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  83. GUICtrlSetOnEvent(-1, "Checkbox")
  84. $Input7 = GUICtrlCreateInput("RA/0005", 440, 288, 137, 24, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
  85. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  86. GUICtrlSetState($Input7, 128)
  87. $Checkbox2 = GUICtrlCreateCheckbox("SI", 336, 328, 97, 25, BitOR($GUI_SS_DEFAULT_CHECKBOX, $BS_CENTER))
  88. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  89. GUICtrlSetOnEvent(-1, "Checkbox2")
  90. $Input9 = GUICtrlCreateInput("OFFLOAD PAX", 440, 328, 137, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_UPPERCASE))
  91. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  92. GUICtrlSetState($Input9, 128)
  93. GUICtrlCreateGroup("", -99, -99, 1, 1)
  94. $Edit3 = GUICtrlCreateEdit("========Update Information========" & _
  95.         @CRLF & "Đã cập nhật nút Update dùng để cập nhật Version mới" & _
  96.         @CRLF & "" & _
  97.         @CRLF & "Nút Status dùng để kiểm tra Version đang sử dụng" & _
  98.         @CRLF & "" & _
  99.         @CRLF & "Tool còn lỗi gì các anh góp ý giúp em" & _
  100.         @CRLF & "" & _
  101.         @CRLF & "Tks/Huy", 680, 40, 305, 273)
  102. GUICtrlSetData(-1, "", 1)
  103. $DateLabel = GUICtrlCreateLabel("UTCDate:", 728, 8, 67, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  104. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  105. $UTC = GUICtrlCreateLabel(_DateTimeFormat(_DateAdd('h', -7, _NowCalc()), 0), 792, 320, 182, 57, BitOR($SS_CENTER, $SS_CENTERIMAGE), $WS_EX_STATICEDGE)
  106. GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
  107. $UTCDate = GUICtrlCreateLabel(StringLeft(GUICtrlRead($UTC), 2), 800, 8, 93, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE), $WS_EX_STATICEDGE)
  108. GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
  109. $UTCTime = GUICtrlCreateLabel("UTCTime", 696, 328, 85, 44, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  110. GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
  111. ;$Button3 = GUICtrlCreateButton("Attention", 368, 360, 75, 25)
  112. ;GUICtrlSetOnEvent(-1, "_Attention")
  113. ;GUICtrlSetBkColor(-1, 0xFF0000)
  114. $Information = GUICtrlCreateButton("Update", 456, 360, 75, 25)
  115. GUICtrlSetBkColor(-1, 0x00FFFF)
  116. GUICtrlSetOnEvent(-1, "_Update")
  117. $Information = GUICtrlCreateButton("About", 542, 360, 75, 25)
  118. GUICtrlSetBkColor(-1, 0x00FFFF)
  119. GUICtrlSetOnEvent(-1, "_Status")
  120. GUISetState(@SW_SHOW)
  121. $CtrlA = GUICtrlCreateDummy()
  122. GUICtrlSetOnEvent(-1, "_CtrlA")
  123. ;============================Ctrl + A HotKey Set
  124. Local $aAccelKeys[1][2] = [["^a", $CtrlA]]
  125. GUISetAccelerators($aAccelKeys)
  126. Func _CtrlA()
  127.     If ControlGetFocus($Main) = "Edit1" Then
  128.         GUICtrlSendMsg($Edit1, 0xB1, 0, -1)
  129.     ElseIf ControlGetFocus($Main) = "Edit10" Then
  130.         GUICtrlSendMsg($Edit3, 0xB1, 0, -1)
  131.     EndIf
  132. EndFunc   ;==>_CtrlA
  133.  
  134. #EndRegion ### END Koda GUI section ###
  135.  
  136. AdlibRegister("_Time", 1000)
  137.  
  138. ; ================================================= Group1
  139. Global $Input1, $Input2, $UTCDate, $VN, $Date, $AC, $ChockOn, $EA
  140. Func Read_Input_Group1()
  141.     $VN = GUICtrlRead($Input1)
  142.     $Date = GUICtrlRead($UTCDate)
  143.     $ChockOn = GUICtrlRead($Input6)
  144.     $EA = GUICtrlRead($Input6)
  145.     $AC = GUICtrlRead($Input2)
  146. EndFunc   ;==>Read_Input_Group1
  147.  
  148.  
  149. Func _Time_Sub($a, $b)
  150.     $a = String(StringFormat("%04d", $a))
  151.     $a = StringLeft($a, 2) * 60 + StringRight($a, 2)
  152.     $b = String(StringFormat("%04d", $b))
  153.     $b = StringLeft($b, 2) * 60 + StringRight($b, 2)
  154.     $c = $a - $b
  155.     $c = StringFormat("%02d", ($c / 60)) & StringFormat("%02d", Mod($c, 60))
  156.     Return $c
  157. EndFunc   ;==>_Time_Sub
  158.  
  159.  
  160. Func MVTDen()
  161.     Read_Input_Group1()
  162.     $hour = StringTrimRight($ChockOn, 2) - 7
  163.     If $hour < 0 Then $hour += 24
  164.     $InputUTC = StringFormat("%04d", $hour & StringRight($ChockOn, 2))
  165.     $TDown = _Time_Sub($InputUTC, 5)
  166.     If $ChockOn = "0700" Then $TDown = "2355"
  167.     If $ChockOn = "0701" Then $TDown = "2356"
  168.     If $ChockOn = "0702" Then $TDown = "2357"
  169.     If $ChockOn = "0703" Then $TDown = "2358"
  170.     If $ChockOn = "0704" Then $TDown = "2359"
  171.     If $ChockOn = "0657" Then
  172.         MsgBox(0,"Chú Ý !","Kiểm tra lại ngày")
  173.         MsgBox(0,"Chú Ý !", "VÀO KHOẢNG 6H55 LOCAL AM = 23H UTC PM, LÀ LÚC CHUYỂN NGÀY," & _
  174.                                 "CÁC A CHÚ Ý TRƯỜNG HỢP GIỜ CHOCK-ON VÀO KHOẢNG 23H57 58 59," & _
  175.                                 "THÌ THỜI GIAN ĐÁNH ĐIỆN VÀO LÚC 0001 TRỞ ĐI THÌ AUTO SẼ TỰ LẤY NGÀY MỚI.")
  176.     EndIf
  177.     If $ChockOn = "0658" Then
  178.         MsgBox(0,"Chú Ý !","Kiểm tra lại ngày")
  179.         MsgBox(0,"Chú Ý !", "VÀO KHOẢNG 6H55 LOCAL AM = 23H UTC PM, LÀ LÚC CHUYỂN NGÀY," & _
  180.                                 "CÁC A CHÚ Ý TRƯỜNG HỢP GIỜ CHOCK-ON VÀO KHOẢNG 23H57 58 59," & _
  181.                                 "THÌ THỜI GIAN ĐÁNH ĐIỆN VÀO LÚC 0001 TRỞ ĐI THÌ AUTO SẼ TỰ LẤY NGÀY MỚI.")
  182.     EndIf
  183.     If $ChockOn = "0659" Then
  184.         MsgBox(0,"Chú Ý !","Kiểm tra lại ngày")
  185.         MsgBox(0,"Chú Ý !", "VÀO KHOẢNG 6H55 LOCAL AM = 23H UTC PM, LÀ LÚC CHUYỂN NGÀY," & _
  186.                                 "CÁC A CHÚ Ý TRƯỜNG HỢP GIỜ CHOCK-ON VÀO KHOẢNG 23H57 58 59," & _
  187.                                 "THÌ THỜI GIAN ĐÁNH ĐIỆN VÀO LÚC 0001 TRỞ ĐI THÌ AUTO SẼ TỰ LẤY NGÀY MỚI.")
  188.     EndIf
  189.  
  190.     GUICtrlSetData($Edit3, "MVT" & @CRLF & $VN & "/" & $Date & "." & $AC & ".DAD" & @CRLF & "AA" & $TDown & "/" & $InputUTC)
  191.     ;MsgBox(0, "", $InputUTC)
  192. EndFunc   ;==>MVTDen
  193. ;=================================================== End Group1
  194.  
  195. Func Checkbox()
  196.     GUICtrlSetState($Input7, GUICtrlRead($Checkbox1) = 1 ? 64 : 128)
  197. EndFunc   ;==>Checkbox
  198.  
  199. Func Checkbox2()
  200.     GUICtrlSetState($Input9, GUICtrlRead($Checkbox2) = 1 ? 64 : 128)
  201. EndFunc   ;==>Checkbox2
  202.  
  203. ;Code UTC Time===============================
  204. ;Func UTCTime()
  205. ;       Local $tSystem, $tLocal
  206. ;       $tLocal = _Date_Time_GetLocalTime()
  207. ;       $tSystem = _Date_Time_TzSpecificLocalTimeToSystemTime(DllStructGetPtr($tLocal))
  208. ;       $tSystem = _Date_Time_SystemTimeToDateTimeStr($tSystem)
  209. ;       Return StringRegExpReplace($tSystem, "(\d+\/)(\d+\/)", "$2$1")
  210. ;EndFunc   ;==>UTCTime
  211. Global $Input3, $Input4, $Input5, $Input7, $Off, $TO, $EA, $Delay, $SI
  212. Func Read_Input_Group2()
  213.     $TO = GUICtrlRead($Input3)
  214.     $EA = GUICtrlRead($Input4)
  215.     $Off = GUICtrlRead($Input5)
  216.     $Delay = GUICtrlRead($Input7)
  217.     $Date = GUICtrlRead($UTCDate)
  218.     $SI = GUICtrlRead($Input9)
  219. EndFunc   ;==>Read_Input_Group2
  220.  
  221. Func Timing()
  222.  
  223.  
  224.  
  225. EndFunc
  226.  
  227. Func MVTDi()
  228.     Read_Input_Group2()
  229.     $hour = StringTrimRight($TO, 2) - 7
  230.     If $hour < 0 Then $hour += 24
  231.     $TOUTC = StringFormat("%04d", $hour & StringRight($TO, 2))
  232.     ;========================================
  233.  
  234.     $firstMin = StringRight($TO, 2) + StringRight($EA, 2)
  235.     $hour = StringTrimRight($TO, 2) + StringTrimRight($EA, 2) - 7 + ($firstMin >= 60 ? 1 : 0)
  236.     If $hour < 0 Then
  237.         $hour += 24
  238.         ;code cộng 1 ngày
  239.     ElseIf $hour >= 24 Then
  240.         $hour -= 24
  241.         ;code trừ 1 ngày
  242.     EndIf
  243.     $lastMin = ($firstMin >= 60 ? $firstMin - 60 : $firstMin)
  244.     $EAUTC = StringFormat("%02d", $hour) & StringFormat("%02d", $lastMin)
  245.     ;========================================
  246.     $hour = StringTrimRight($Off, 2) - 7
  247.     If $hour < 0 Then $hour += 24
  248.     $OffUTC = StringFormat("%04d", $hour & StringRight($Off, 2))
  249.     ;========================================
  250.     Local $DocInput = GUICtrlRead($Edit1)
  251.     $GetDes = StringRegExp($DocInput, "DAD\s*(\w*)\s*(\w*)\/\d*\s*(\w*)", 3) ;===================================Stringregexp
  252.     $GetPax = StringRegExp($DocInput, "TTL\s*(\d*)\s*CAB", 3) ;DAD => khoảng trắng: \s* => đoạn mình lấy: bỏ trong ( ), trong ( ) là ký tự: \w* => khoảng trắng: \s* => đoạn mình lấy, bao gồm VN và số, tức là: (VN\d*) => dấu /: \/ => số: \d* => khoảng trắng: \s* => đoạn mình lấy, bao gồm VN + ký tự, tức là: (VN\w*)
  253.     $GetAPLD = StringRegExp($DocInput, "TOTAL TRAFFIC LOAD\s*(\d*)", 3) ; 14\s*
  254.     $GetTO = StringRegExp($DocInput, "TAKE OFF FUEL\s*(\d*)", 3)
  255.     If @error Then Local $GetDes[3], $GetPax[1], $GetAPLD[1], $GetTO[1]
  256.     If GUICtrlRead($Checkbox1) = 1 Then
  257.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
  258.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
  259.                 @CRLF & "DL" & $Delay & _
  260.                 @CRLF & "PX" & $GetPax[0] & _
  261.                 @CRLF & "SI" & " " & "TOF" & " " & $GetTO[0] & " " & "APLD" & " " & $GetAPLD[0])
  262.     Else
  263.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
  264.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
  265.                 @CRLF & "PX" & $GetPax[0] & _
  266.                 @CRLF & "SI" & " " & "TOF" & " " & $GetTO[0] & " " & "APLD" & " " & $GetAPLD[0])
  267.     EndIf
  268.  
  269.     If GUICtrlRead($Checkbox2) = 1 Then
  270.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
  271.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
  272.                 @CRLF & "DL" & $Delay & _
  273.                 @CRLF & "PX" & $GetPax[0] & _
  274.                 @CRLF & "SI" & " " & "TOF" & " " & $GetTO[0] & " " & "APLD" & " " & $GetAPLD[0] & _
  275.                 @CRLF & "SI" & " " & $SI)
  276.     EndIf
  277.  
  278. EndFunc   ;==>MVTDi
  279. Func _NX()
  280.     Read_Input_Group2()
  281.     $hour = StringTrimRight($TO, 2) - 7
  282.     If $hour < 0 Then $hour += 24
  283.     $TOUTC = StringFormat("%04d", $hour & StringRight($TO, 2))
  284.     ;========================================
  285.  
  286.     $firstMin = StringRight($TO, 2) + StringRight($EA, 2)
  287.     $hour = StringTrimRight($TO, 2) + StringTrimRight($EA, 2) - 7 + ($firstMin >= 60 ? 1 : 0)
  288.     If $hour < 0 Then
  289.         $hour += 24
  290.         ;code cộng 1 ngày
  291.     ElseIf $hour >= 24 Then
  292.         $hour -= 24
  293.         ;code trừ 1 ngày
  294.     EndIf
  295.     $lastMin = ($firstMin >= 60 ? $firstMin - 60 : $firstMin)
  296.     $EAUTC = StringFormat("%02d", $hour) & StringFormat("%02d", $lastMin)
  297.  
  298.  
  299.     ;========================================
  300.     $hour = StringTrimRight($Off, 2) - 7
  301.     If $hour < 0 Then $hour += 24
  302.     $OffUTC = StringFormat("%04d", $hour & StringRight($Off, 2))
  303.     ;========================================
  304.     Local $DocInput = GUICtrlRead($Edit1)
  305.     $GetDes = StringRegExp($DocInput, "DAD\s*(\w*)\s*(\w*)\/\d*\s*(\w*)", 3)
  306.     $GetPax = StringRegExp($DocInput, "TTL\s*(\d*)\s*CAB", 3) ;DAD => khoảng trắng: \s* => đoạn mình lấy: bỏ trong ( ), trong ( ) là ký tự: \w* => khoảng trắng: \s* => đoạn mình lấy, bao gồm VN và số, tức là: (VN\d*) => dấu /: \/ => số: \d* => khoảng trắng: \s* => đoạn mình lấy, bao gồm VN + ký tự, tức là: (VN\w*)
  307.     $GetAPLD = StringRegExp($DocInput, "TOTAL TRAFFIC LOAD\s*(\d*)", 3) ; 14\s*
  308.     $GetTO = StringRegExp($DocInput, "TAKE OFF FUEL\s*(\d*)", 3)
  309.     If @error Then Local $GetDes[3], $GetPax[1], $GetAPLD[1], $GetTO[1]
  310.     If GUICtrlRead($Checkbox1) = 1 Then
  311.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
  312.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
  313.                 @CRLF & "DL" & $Delay & _
  314.                 @CRLF & "PX" & $GetPax[0])
  315.  
  316.     Else
  317.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
  318.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
  319.                 @CRLF & "PX" & $GetPax[0])
  320.     EndIf
  321.  
  322.     If GUICtrlRead($Checkbox2) = 1 Then
  323.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
  324.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
  325.                 @CRLF & "DL" & $Delay & _
  326.                 @CRLF & "PX" & $GetPax[0] & _
  327.                 @CRLF & "SI" & " " & $SI)
  328.     EndIf
  329.  
  330. EndFunc   ;==>_NX
  331.  
  332. Func _KE()
  333. Read_Input_Group2()
  334. $hour = StringTrimRight($TO, 2) - 7
  335.     If $hour < 0 Then $hour += 24
  336.     $TOUTC = StringFormat("%04d", $hour & StringRight($TO, 2))
  337.     ;========================================
  338.  
  339.     $firstMin = StringRight($TO, 2) + StringRight($EA, 2)
  340.     $hour = StringTrimRight($TO, 2) + StringTrimRight($EA, 2) - 7 + ($firstMin >= 60 ? 1 : 0)
  341.     If $hour < 0 Then
  342.         $hour += 24
  343.         ;code cộng 1 ngày
  344.     ElseIf $hour >= 24 Then
  345.         $hour -= 24
  346.         ;code trừ 1 ngày
  347.     EndIf
  348.     $lastMin = ($firstMin >= 60 ? $firstMin - 60 : $firstMin)
  349.     $EAUTC = StringFormat("%02d", $hour) & StringFormat("%02d", $lastMin)
  350.     ;========================================
  351.     $hour = StringTrimRight($Off, 2) - 7
  352.     If $hour < 0 Then $hour += 24
  353.     $OffUTC = StringFormat("%04d", $hour & StringRight($Off, 2))
  354.  
  355.     ;========================================
  356. Local $DocInput = GUICtrlRead($Edit1)
  357. $KeDes = StringRegExp($DocInput, "(?m)^DAD\s*(\w*)\s*(\w*)\s*\/\d*\w*\s*(\w*)", 3)
  358. $KeTTL = StringRegExp($DocInput, "TTL\s*(\d*)\s*", 3)
  359. If Not IsArray($KeDes) Then Local $KeDes[3]
  360. If Not IsArray($KeTTL) Then Local $KeTTL[3]
  361. $KeNO = StringLeft($KeDes[1], 2) & StringRight($KeDes[1], 3)
  362. If @error Then Local $KeDes[3], $KeTTL[1], $KeNO[1]
  363.     If GUICtrlRead($Checkbox1) = 1 Then
  364.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $KeNO & "/" & $Date & "." & $KeDes[2] & ".DAD" & _
  365.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $KeDes[0] & _
  366.                 @CRLF & "DL" & $Delay & _
  367.                 @CRLF & "PX" & $KeTTL[0] & _
  368.                 @CRLF & "SI" & " " & "EET" & " " & $EA)
  369.     Else
  370.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $KeNO & "/" & $Date & "." & $KeDes[2] & ".DAD" & _
  371.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $KeDes[0] & _
  372.                 @CRLF & "PX" & $KeTTL[0] & _
  373.                 @CRLF & "SI" & " " & "EET" & " " & $EA)
  374.     EndIf
  375.  
  376.     If GUICtrlRead($Checkbox2) = 1 Then
  377.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $KeNO & "/" & $Date & "." & $KeDes[2] & ".DAD" & _
  378.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $KeDes[0] & _
  379.                 @CRLF & "DL" & $Delay & _
  380.                 @CRLF & "PX" & $KeTTL[0] & _
  381.                 @CRLF & "SI" & " " & "EET" & " " & $EA & _
  382.                 @CRLF & "SI" & " " & $SI)
  383.     EndIf
  384. EndFunc
  385.  
  386.  
  387. Func _OZ()
  388.     Read_Input_Group2()
  389.     $hour = StringTrimRight($TO, 2) - 7
  390.     If $hour < 0 Then $hour += 24
  391.     $TOUTC = StringFormat("%04d", $hour & StringRight($TO, 2))
  392.     ;========================================
  393.  
  394.     $firstMin = StringRight($TO, 2) + StringRight($EA, 2)
  395.     $hour = StringTrimRight($TO, 2) + StringTrimRight($EA, 2) - 7 + ($firstMin >= 60 ? 1 : 0)
  396.     If $hour < 0 Then
  397.         $hour += 24
  398.         ;code cộng 1 ngày
  399.     ElseIf $hour >= 24 Then
  400.         $hour -= 24
  401.         ;code trừ 1 ngày
  402.     EndIf
  403.     $lastMin = ($firstMin >= 60 ? $firstMin - 60 : $firstMin)
  404.     $EAUTC = StringFormat("%02d", $hour) & StringFormat("%02d", $lastMin)
  405.  
  406.  
  407.     ;========================================
  408.     $hour = StringTrimRight($Off, 2) - 7
  409.     If $hour < 0 Then $hour += 24
  410.     $OffUTC = StringFormat("%04d", $hour & StringRight($Off, 2))
  411.     ;========================================
  412.     Local $DocInput = GUICtrlRead($Edit1)
  413.     $GetDes = StringRegExp($DocInput, "DAD\s*(\w*)\s*(\w*)\/\d*\s*(\w*)", 3) ;===================================Stringregexp
  414.     $GetPax = StringRegExp($DocInput, "TTL\s*(\d*)\s*CAB", 3) ;DAD => khoảng trắng: \s* => đoạn mình lấy: bỏ trong ( ), trong ( ) là ký tự: \w* => khoảng trắng: \s* => đoạn mình lấy, bao gồm VN và số, tức là: (VN\d*) => dấu /: \/ => số: \d* => khoảng trắng: \s* => đoạn mình lấy, bao gồm VN + ký tự, tức là: (VN\w*)
  415.     $GetAPLD = StringRegExp($DocInput, "TOTAL TRAFFIC LOAD\s*(\d*)", 3) ; 14\s*
  416.     $GetTO = StringRegExp($DocInput, "TAKE OFF FUEL\s*(\d*)", 3)
  417.     $PAX = StringRegExp($DocInput, "PAX/(\d*)/(\d*)", 3)
  418.     $Taxi = StringRegExp($DocInput, "TAXI FUEL\s*(\d*)", 3)
  419.     $Inf = StringRegExp($DocInput, "-ICN.\d*/\d*/(\d*)", 3)
  420.     If @error Then Local $GetDes[3], $GetPax[1], $GetAPLD[1], $GetTO[1], $PAX[3], $Taxi[2], $Inf[1]
  421.     If GUICtrlRead($Checkbox1) = 1 Then
  422.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
  423.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
  424.                 @CRLF & "DL" & $Delay & _
  425.                 @CRLF & "PX000/" & StringFormat("%03d", $PAX[0]) & "/" & StringFormat("%03d", $PAX[1] + $Inf[0]) & _
  426.                 @CRLF & "SI" & " " & "RAMP" & " " & $GetTO[0] + $Taxi[0] & " " & "APLD" & " " & $GetAPLD[0])
  427.     Else
  428.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
  429.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
  430.                 @CRLF & "PX000/" & StringFormat("%03d", $PAX[0]) & "/" & StringFormat("%03d", $PAX[1] + $Inf[0]) & _
  431.                 @CRLF & "SI" & " " & "RAMP" & " " & $GetTO[0] + $Taxi[0] & " " & "APLD" & " " & $GetAPLD[0])
  432.     EndIf
  433.  
  434.     If GUICtrlRead($Checkbox2) = 1 Then
  435.         GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
  436.                 @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
  437.                 @CRLF & "DL" & $Delay & _
  438.                 @CRLF & "PX000/" & StringFormat("%03d", $PAX[0]) & "/" & StringFormat("%03d", $PAX[1] + $Inf[0]) & _
  439.                 @CRLF & "SI" & " " & "RAMP" & " " & $GetTO[0] + $Taxi[0] & " " & "APLD" & " " & $GetAPLD[0] & _
  440.                 @CRLF & "SI" & " " & $SI)
  441.     EndIf
  442.  
  443. EndFunc   ;==>MVTDi
  444.  
  445. Func _Time()
  446.     GUICtrlSetData($UTC, _DateTimeFormat(_DateAdd('h', -7, _NowCalc()), 0))
  447.     GUICtrlSetData($UTCDate, StringLeft(GUICtrlRead($UTC), 2))
  448. EndFunc   ;==>_Time
  449. Func _Attention()
  450.     MsgBox(0,"Attention!", "VÀO KHOẢNG 6H55 LOCAL AM = 23H UTC PM, LÀ LÚC CHUYỂN NGÀY, CÁC A CHÚ Ý TRƯỜNG HỢP GIỜ CHOCK-ON VÀO KHOẢNG 23H57 58 59, THÌ THỜI GIAN ĐÁNH ĐIỆN VÀO LÚC 0001 TRỞ ĐI THÌ AUTO SẼ TỰ LẤY NGÀY MỚI.")
  451.     EndFunc
  452. ;End Code Time=======================================
  453.  
  454.  
  455.  
  456. Func _Status()
  457.     MsgBox(0,"About","Version : 1.4" & @Crlf & "")
  458. EndFunc ;==> _Status
  459.  
  460.  
  461. Func _Update()
  462.     Local Const $Link = @DesktopDir & "\Data.ini"
  463.     If Not FileCreate($Link, "1.4") Then Return MsgBox($MB_SYSTEMMODAL, "", "Lỗi tạo file Data.ini")
  464.     Sleep(10)
  465.     Run("Z:\MVT\Update.exe")
  466. EndFunc   ;==> _Update
  467.  
  468. Func FileCreate($Link, $sString)
  469.     Local $bReturn = True
  470.     If FileExists($Link) = 0 Then $bReturn = FileWrite($Link, $sString) = 1
  471.     Return $bReturn
  472. EndFunc   ;==>FileCreate
  473.  
  474. While 1
  475.     Sleep(40)
  476. WEnd
  477.  
  478. Func _Exit()
  479.     Exit
  480. EndFunc   ;==>_Exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement