Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ButtonConstants.au3>
- #include <EditConstants.au3>
- #include <GUIConstantsEx.au3>
- #include <StaticConstants.au3>
- #include <WindowsConstants.au3>
- #include <Date.au3>
- #include <array.au3>
- #include <GuiEdit.au3>
- #include <Misc.au3>
- #include <FileConstants.au3>
- #include <MsgBoxConstants.au3>
- Opt("GUIOnEventMode", 1)
- #Region ### START Koda GUI section ### Form=c:\users\tgg\desktop\autoitv3\mvt trial\mvttrial.kxf
- $Main = GUICreate("MVT-Tool", 989, 387)
- GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
- $Edit1 = GUICtrlCreateEdit("*********Hướng Dẫn Sử Dụng*********" & _
- @CRLF & "MVT Đến :" & _
- @CRLF & "+ Ô VN nhập số hiệu chuyến bay(VN101)" & _
- @CRLF & "+ Ô A/C nhập tàu(VNA327)" & _
- @CRLF & "+ Ô ChockOn nhập giờ Chockon(1600)" & _
- @CRLF & "MVT Đi :" & _
- @CRLF & "Khung bên trái dùng để nhập Loadsheet" & _
- @CRLF & "+ Ô C-Off nhập giờ ChockOff(1600)" & _
- @CRLF & "+ Ô TakeOff nhập giờ Take Off (1615)" & _
- @CRLF & "+ Ô EA nhập giờ Estimated Arrival(1715)" & _
- @CRLF & "Code Delay :" & _
- @CRLF & "+ Nếu giờ EA qua ngày thì các a đánh dấu + vào ô EA như bình thường" & _
- @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" & _
- @CRLF & "+ Ô SI dùng để đánh nội dung code delay khi dùng code MI/MX" & _
- @CRLF & "Phím NX :" & _
- @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)
- GUICtrlSetData($Edit1, "", 1)
- $CtrlA = GUICtrlCreateDummy()
- $Group1 = GUICtrlCreateGroup("Group1", 328, 8, 329, 129)
- $Label1 = GUICtrlCreateLabel("VN", 344, 32, 27, 25, BitOR($SS_CENTER, $SS_CENTERIMAGE))
- GUICtrlSetBkColor(-1, 0x00FFFF)
- $Label2 = GUICtrlCreateLabel("A/C", 344, 64, 23, 17, BitOR($SS_CENTER, $SS_CENTERIMAGE))
- GUICtrlSetBkColor(-1, 0x00FFFF)
- $COn = GUICtrlCreateLabel("ChockOn", 336, 96, 59, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE, $ES_NUMBER))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- GUICtrlSetBkColor(-1, 0x00FFFF)
- $Input1 = GUICtrlCreateInput("VN101", 400, 32, 121, 24, $ES_UPPERCASE)
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- $Input2 = GUICtrlCreateInput("VNA325", 400, 64, 121, 24, $ES_UPPERCASE)
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- $Input6 = GUICtrlCreateInput("1205", 400, 96, 121, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER, $ES_OEMCONVERT))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- $Button1 = GUICtrlCreateButton("MVTDen", 576, 64, 75, 25, $WS_GROUP)
- GUICtrlSetOnEvent(-1, "MVTDen")
- GUICtrlCreateGroup("", -99, -99, 1, 1)
- $Group2 = GUICtrlCreateGroup("Group2", 328, 144, 329, 217)
- $Input5 = GUICtrlCreateInput("0545", 400, 168, 121, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- $Input3 = GUICtrlCreateInput("0600", 400, 208, 121, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- $Input4 = GUICtrlCreateInput("0054", 400, 248, 121, 24)
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- $Button4 = GUICtrlCreateButton("KE", 576, 160, 75, 25, $WS_GROUP)
- GUICtrlSetOnEvent(-1, "_KE")
- ;GUICtrlSetBkColor($Button4, 0x009900FF)
- $Button2 = GUICtrlCreateButton("MVTDi", 576, 190, 75, 25, $WS_GROUP)
- GUICtrlSetOnEvent(-1, "MVTDi")
- $Button3 = GUICtrlCreateButton("NX", 576, 220, 75, 25, $WS_GROUP)
- GUICtrlSetOnEvent(-1, "_NX")
- $Button5 = GUICtrlCreateButton("OZ", 576, 250, 75, 25, $WS_GROUP)
- GUICtrlSetOnEvent(-1, "_OZ")
- $Label3 = GUICtrlCreateLabel("FLT-Time", 336, 248, 58, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- GUICtrlSetBkColor(-1, 0x00FFFF)
- $Label4 = GUICtrlCreateLabel("C-Off", 336, 168, 52, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- GUICtrlSetBkColor(-1, 0x00FFFF)
- $Chockoff = GUICtrlCreateLabel("TakeOff", 336, 208, 58, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- GUICtrlSetBkColor(-1, 0x00FFFF)
- $Checkbox1 = GUICtrlCreateCheckbox("Delay", 338, 288, 89, 25, BitOR($BS_CHECKBOX, $BS_AUTOCHECKBOX, $BS_CENTER, $WS_TABSTOP))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- GUICtrlSetOnEvent(-1, "Checkbox")
- $Input7 = GUICtrlCreateInput("RA/0005", 440, 288, 137, 24, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- GUICtrlSetState($Input7, 128)
- $Checkbox2 = GUICtrlCreateCheckbox("SI", 336, 328, 97, 25, BitOR($GUI_SS_DEFAULT_CHECKBOX, $BS_CENTER))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- GUICtrlSetOnEvent(-1, "Checkbox2")
- $Input9 = GUICtrlCreateInput("OFFLOAD PAX", 440, 328, 137, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_UPPERCASE))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- GUICtrlSetState($Input9, 128)
- GUICtrlCreateGroup("", -99, -99, 1, 1)
- $Edit3 = GUICtrlCreateEdit("========Update Information========" & _
- @CRLF & "Đã cập nhật nút Update dùng để cập nhật Version mới" & _
- @CRLF & "" & _
- @CRLF & "Nút Status dùng để kiểm tra Version đang sử dụng" & _
- @CRLF & "" & _
- @CRLF & "Tool còn lỗi gì các anh góp ý giúp em" & _
- @CRLF & "" & _
- @CRLF & "Tks/Huy", 680, 40, 305, 273)
- GUICtrlSetData(-1, "", 1)
- $DateLabel = GUICtrlCreateLabel("UTCDate:", 728, 8, 67, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- $UTC = GUICtrlCreateLabel(_DateTimeFormat(_DateAdd('h', -7, _NowCalc()), 0), 792, 320, 182, 57, BitOR($SS_CENTER, $SS_CENTERIMAGE), $WS_EX_STATICEDGE)
- GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
- $UTCDate = GUICtrlCreateLabel(StringLeft(GUICtrlRead($UTC), 2), 800, 8, 93, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE), $WS_EX_STATICEDGE)
- GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
- $UTCTime = GUICtrlCreateLabel("UTCTime", 696, 328, 85, 44, BitOR($SS_CENTER, $SS_CENTERIMAGE))
- GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
- ;$Button3 = GUICtrlCreateButton("Attention", 368, 360, 75, 25)
- ;GUICtrlSetOnEvent(-1, "_Attention")
- ;GUICtrlSetBkColor(-1, 0xFF0000)
- $Information = GUICtrlCreateButton("Update", 456, 360, 75, 25)
- GUICtrlSetBkColor(-1, 0x00FFFF)
- GUICtrlSetOnEvent(-1, "_Update")
- $Information = GUICtrlCreateButton("About", 542, 360, 75, 25)
- GUICtrlSetBkColor(-1, 0x00FFFF)
- GUICtrlSetOnEvent(-1, "_Status")
- GUISetState(@SW_SHOW)
- $CtrlA = GUICtrlCreateDummy()
- GUICtrlSetOnEvent(-1, "_CtrlA")
- ;============================Ctrl + A HotKey Set
- Local $aAccelKeys[1][2] = [["^a", $CtrlA]]
- GUISetAccelerators($aAccelKeys)
- Func _CtrlA()
- If ControlGetFocus($Main) = "Edit1" Then
- GUICtrlSendMsg($Edit1, 0xB1, 0, -1)
- ElseIf ControlGetFocus($Main) = "Edit10" Then
- GUICtrlSendMsg($Edit3, 0xB1, 0, -1)
- EndIf
- EndFunc ;==>_CtrlA
- #EndRegion ### END Koda GUI section ###
- AdlibRegister("_Time", 1000)
- ; ================================================= Group1
- Global $Input1, $Input2, $UTCDate, $VN, $Date, $AC, $ChockOn, $EA
- Func Read_Input_Group1()
- $VN = GUICtrlRead($Input1)
- $Date = GUICtrlRead($UTCDate)
- $ChockOn = GUICtrlRead($Input6)
- $EA = GUICtrlRead($Input6)
- $AC = GUICtrlRead($Input2)
- EndFunc ;==>Read_Input_Group1
- Func _Time_Sub($a, $b)
- $a = String(StringFormat("%04d", $a))
- $a = StringLeft($a, 2) * 60 + StringRight($a, 2)
- $b = String(StringFormat("%04d", $b))
- $b = StringLeft($b, 2) * 60 + StringRight($b, 2)
- $c = $a - $b
- $c = StringFormat("%02d", ($c / 60)) & StringFormat("%02d", Mod($c, 60))
- Return $c
- EndFunc ;==>_Time_Sub
- Func MVTDen()
- Read_Input_Group1()
- $hour = StringTrimRight($ChockOn, 2) - 7
- If $hour < 0 Then $hour += 24
- $InputUTC = StringFormat("%04d", $hour & StringRight($ChockOn, 2))
- $TDown = _Time_Sub($InputUTC, 5)
- If $ChockOn = "0700" Then $TDown = "2355"
- If $ChockOn = "0701" Then $TDown = "2356"
- If $ChockOn = "0702" Then $TDown = "2357"
- If $ChockOn = "0703" Then $TDown = "2358"
- If $ChockOn = "0704" Then $TDown = "2359"
- If $ChockOn = "0657" Then
- MsgBox(0,"Chú Ý !","Kiểm tra lại ngày")
- MsgBox(0,"Chú Ý !", "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.")
- EndIf
- If $ChockOn = "0658" Then
- MsgBox(0,"Chú Ý !","Kiểm tra lại ngày")
- MsgBox(0,"Chú Ý !", "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.")
- EndIf
- If $ChockOn = "0659" Then
- MsgBox(0,"Chú Ý !","Kiểm tra lại ngày")
- MsgBox(0,"Chú Ý !", "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.")
- EndIf
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $VN & "/" & $Date & "." & $AC & ".DAD" & @CRLF & "AA" & $TDown & "/" & $InputUTC)
- ;MsgBox(0, "", $InputUTC)
- EndFunc ;==>MVTDen
- ;=================================================== End Group1
- Func Checkbox()
- GUICtrlSetState($Input7, GUICtrlRead($Checkbox1) = 1 ? 64 : 128)
- EndFunc ;==>Checkbox
- Func Checkbox2()
- GUICtrlSetState($Input9, GUICtrlRead($Checkbox2) = 1 ? 64 : 128)
- EndFunc ;==>Checkbox2
- ;Code UTC Time===============================
- ;Func UTCTime()
- ; Local $tSystem, $tLocal
- ; $tLocal = _Date_Time_GetLocalTime()
- ; $tSystem = _Date_Time_TzSpecificLocalTimeToSystemTime(DllStructGetPtr($tLocal))
- ; $tSystem = _Date_Time_SystemTimeToDateTimeStr($tSystem)
- ; Return StringRegExpReplace($tSystem, "(\d+\/)(\d+\/)", "$2$1")
- ;EndFunc ;==>UTCTime
- Global $Input3, $Input4, $Input5, $Input7, $Off, $TO, $EA, $Delay, $SI
- Func Read_Input_Group2()
- $TO = GUICtrlRead($Input3)
- $EA = GUICtrlRead($Input4)
- $Off = GUICtrlRead($Input5)
- $Delay = GUICtrlRead($Input7)
- $Date = GUICtrlRead($UTCDate)
- $SI = GUICtrlRead($Input9)
- EndFunc ;==>Read_Input_Group2
- Func Timing()
- EndFunc
- Func MVTDi()
- Read_Input_Group2()
- $hour = StringTrimRight($TO, 2) - 7
- If $hour < 0 Then $hour += 24
- $TOUTC = StringFormat("%04d", $hour & StringRight($TO, 2))
- ;========================================
- $firstMin = StringRight($TO, 2) + StringRight($EA, 2)
- $hour = StringTrimRight($TO, 2) + StringTrimRight($EA, 2) - 7 + ($firstMin >= 60 ? 1 : 0)
- If $hour < 0 Then
- $hour += 24
- ;code cộng 1 ngày
- ElseIf $hour >= 24 Then
- $hour -= 24
- ;code trừ 1 ngày
- EndIf
- $lastMin = ($firstMin >= 60 ? $firstMin - 60 : $firstMin)
- $EAUTC = StringFormat("%02d", $hour) & StringFormat("%02d", $lastMin)
- ;========================================
- $hour = StringTrimRight($Off, 2) - 7
- If $hour < 0 Then $hour += 24
- $OffUTC = StringFormat("%04d", $hour & StringRight($Off, 2))
- ;========================================
- Local $DocInput = GUICtrlRead($Edit1)
- $GetDes = StringRegExp($DocInput, "DAD\s*(\w*)\s*(\w*)\/\d*\s*(\w*)", 3) ;===================================Stringregexp
- $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*)
- $GetAPLD = StringRegExp($DocInput, "TOTAL TRAFFIC LOAD\s*(\d*)", 3) ; 14\s*
- $GetTO = StringRegExp($DocInput, "TAKE OFF FUEL\s*(\d*)", 3)
- If @error Then Local $GetDes[3], $GetPax[1], $GetAPLD[1], $GetTO[1]
- If GUICtrlRead($Checkbox1) = 1 Then
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
- @CRLF & "DL" & $Delay & _
- @CRLF & "PX" & $GetPax[0] & _
- @CRLF & "SI" & " " & "TOF" & " " & $GetTO[0] & " " & "APLD" & " " & $GetAPLD[0])
- Else
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
- @CRLF & "PX" & $GetPax[0] & _
- @CRLF & "SI" & " " & "TOF" & " " & $GetTO[0] & " " & "APLD" & " " & $GetAPLD[0])
- EndIf
- If GUICtrlRead($Checkbox2) = 1 Then
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
- @CRLF & "DL" & $Delay & _
- @CRLF & "PX" & $GetPax[0] & _
- @CRLF & "SI" & " " & "TOF" & " " & $GetTO[0] & " " & "APLD" & " " & $GetAPLD[0] & _
- @CRLF & "SI" & " " & $SI)
- EndIf
- EndFunc ;==>MVTDi
- Func _NX()
- Read_Input_Group2()
- $hour = StringTrimRight($TO, 2) - 7
- If $hour < 0 Then $hour += 24
- $TOUTC = StringFormat("%04d", $hour & StringRight($TO, 2))
- ;========================================
- $firstMin = StringRight($TO, 2) + StringRight($EA, 2)
- $hour = StringTrimRight($TO, 2) + StringTrimRight($EA, 2) - 7 + ($firstMin >= 60 ? 1 : 0)
- If $hour < 0 Then
- $hour += 24
- ;code cộng 1 ngày
- ElseIf $hour >= 24 Then
- $hour -= 24
- ;code trừ 1 ngày
- EndIf
- $lastMin = ($firstMin >= 60 ? $firstMin - 60 : $firstMin)
- $EAUTC = StringFormat("%02d", $hour) & StringFormat("%02d", $lastMin)
- ;========================================
- $hour = StringTrimRight($Off, 2) - 7
- If $hour < 0 Then $hour += 24
- $OffUTC = StringFormat("%04d", $hour & StringRight($Off, 2))
- ;========================================
- Local $DocInput = GUICtrlRead($Edit1)
- $GetDes = StringRegExp($DocInput, "DAD\s*(\w*)\s*(\w*)\/\d*\s*(\w*)", 3)
- $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*)
- $GetAPLD = StringRegExp($DocInput, "TOTAL TRAFFIC LOAD\s*(\d*)", 3) ; 14\s*
- $GetTO = StringRegExp($DocInput, "TAKE OFF FUEL\s*(\d*)", 3)
- If @error Then Local $GetDes[3], $GetPax[1], $GetAPLD[1], $GetTO[1]
- If GUICtrlRead($Checkbox1) = 1 Then
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
- @CRLF & "DL" & $Delay & _
- @CRLF & "PX" & $GetPax[0])
- Else
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
- @CRLF & "PX" & $GetPax[0])
- EndIf
- If GUICtrlRead($Checkbox2) = 1 Then
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
- @CRLF & "DL" & $Delay & _
- @CRLF & "PX" & $GetPax[0] & _
- @CRLF & "SI" & " " & $SI)
- EndIf
- EndFunc ;==>_NX
- Func _KE()
- Read_Input_Group2()
- $hour = StringTrimRight($TO, 2) - 7
- If $hour < 0 Then $hour += 24
- $TOUTC = StringFormat("%04d", $hour & StringRight($TO, 2))
- ;========================================
- $firstMin = StringRight($TO, 2) + StringRight($EA, 2)
- $hour = StringTrimRight($TO, 2) + StringTrimRight($EA, 2) - 7 + ($firstMin >= 60 ? 1 : 0)
- If $hour < 0 Then
- $hour += 24
- ;code cộng 1 ngày
- ElseIf $hour >= 24 Then
- $hour -= 24
- ;code trừ 1 ngày
- EndIf
- $lastMin = ($firstMin >= 60 ? $firstMin - 60 : $firstMin)
- $EAUTC = StringFormat("%02d", $hour) & StringFormat("%02d", $lastMin)
- ;========================================
- $hour = StringTrimRight($Off, 2) - 7
- If $hour < 0 Then $hour += 24
- $OffUTC = StringFormat("%04d", $hour & StringRight($Off, 2))
- ;========================================
- Local $DocInput = GUICtrlRead($Edit1)
- $KeDes = StringRegExp($DocInput, "(?m)^DAD\s*(\w*)\s*(\w*)\s*\/\d*\w*\s*(\w*)", 3)
- $KeTTL = StringRegExp($DocInput, "TTL\s*(\d*)\s*", 3)
- If Not IsArray($KeDes) Then Local $KeDes[3]
- If Not IsArray($KeTTL) Then Local $KeTTL[3]
- $KeNO = StringLeft($KeDes[1], 2) & StringRight($KeDes[1], 3)
- If @error Then Local $KeDes[3], $KeTTL[1], $KeNO[1]
- If GUICtrlRead($Checkbox1) = 1 Then
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $KeNO & "/" & $Date & "." & $KeDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $KeDes[0] & _
- @CRLF & "DL" & $Delay & _
- @CRLF & "PX" & $KeTTL[0] & _
- @CRLF & "SI" & " " & "EET" & " " & $EA)
- Else
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $KeNO & "/" & $Date & "." & $KeDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $KeDes[0] & _
- @CRLF & "PX" & $KeTTL[0] & _
- @CRLF & "SI" & " " & "EET" & " " & $EA)
- EndIf
- If GUICtrlRead($Checkbox2) = 1 Then
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $KeNO & "/" & $Date & "." & $KeDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $KeDes[0] & _
- @CRLF & "DL" & $Delay & _
- @CRLF & "PX" & $KeTTL[0] & _
- @CRLF & "SI" & " " & "EET" & " " & $EA & _
- @CRLF & "SI" & " " & $SI)
- EndIf
- EndFunc
- Func _OZ()
- Read_Input_Group2()
- $hour = StringTrimRight($TO, 2) - 7
- If $hour < 0 Then $hour += 24
- $TOUTC = StringFormat("%04d", $hour & StringRight($TO, 2))
- ;========================================
- $firstMin = StringRight($TO, 2) + StringRight($EA, 2)
- $hour = StringTrimRight($TO, 2) + StringTrimRight($EA, 2) - 7 + ($firstMin >= 60 ? 1 : 0)
- If $hour < 0 Then
- $hour += 24
- ;code cộng 1 ngày
- ElseIf $hour >= 24 Then
- $hour -= 24
- ;code trừ 1 ngày
- EndIf
- $lastMin = ($firstMin >= 60 ? $firstMin - 60 : $firstMin)
- $EAUTC = StringFormat("%02d", $hour) & StringFormat("%02d", $lastMin)
- ;========================================
- $hour = StringTrimRight($Off, 2) - 7
- If $hour < 0 Then $hour += 24
- $OffUTC = StringFormat("%04d", $hour & StringRight($Off, 2))
- ;========================================
- Local $DocInput = GUICtrlRead($Edit1)
- $GetDes = StringRegExp($DocInput, "DAD\s*(\w*)\s*(\w*)\/\d*\s*(\w*)", 3) ;===================================Stringregexp
- $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*)
- $GetAPLD = StringRegExp($DocInput, "TOTAL TRAFFIC LOAD\s*(\d*)", 3) ; 14\s*
- $GetTO = StringRegExp($DocInput, "TAKE OFF FUEL\s*(\d*)", 3)
- $PAX = StringRegExp($DocInput, "PAX/(\d*)/(\d*)", 3)
- $Taxi = StringRegExp($DocInput, "TAXI FUEL\s*(\d*)", 3)
- $Inf = StringRegExp($DocInput, "-ICN.\d*/\d*/(\d*)", 3)
- If @error Then Local $GetDes[3], $GetPax[1], $GetAPLD[1], $GetTO[1], $PAX[3], $Taxi[2], $Inf[1]
- If GUICtrlRead($Checkbox1) = 1 Then
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
- @CRLF & "DL" & $Delay & _
- @CRLF & "PX000/" & StringFormat("%03d", $PAX[0]) & "/" & StringFormat("%03d", $PAX[1] + $Inf[0]) & _
- @CRLF & "SI" & " " & "RAMP" & " " & $GetTO[0] + $Taxi[0] & " " & "APLD" & " " & $GetAPLD[0])
- Else
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
- @CRLF & "PX000/" & StringFormat("%03d", $PAX[0]) & "/" & StringFormat("%03d", $PAX[1] + $Inf[0]) & _
- @CRLF & "SI" & " " & "RAMP" & " " & $GetTO[0] + $Taxi[0] & " " & "APLD" & " " & $GetAPLD[0])
- EndIf
- If GUICtrlRead($Checkbox2) = 1 Then
- GUICtrlSetData($Edit3, "MVT" & @CRLF & $GetDes[1] & "/" & $Date & "." & $GetDes[2] & ".DAD" & _
- @CRLF & "AD" & $OffUTC & "/" & $TOUTC & " " & "EA" & $EAUTC & " " & $GetDes[0] & _
- @CRLF & "DL" & $Delay & _
- @CRLF & "PX000/" & StringFormat("%03d", $PAX[0]) & "/" & StringFormat("%03d", $PAX[1] + $Inf[0]) & _
- @CRLF & "SI" & " " & "RAMP" & " " & $GetTO[0] + $Taxi[0] & " " & "APLD" & " " & $GetAPLD[0] & _
- @CRLF & "SI" & " " & $SI)
- EndIf
- EndFunc ;==>MVTDi
- Func _Time()
- GUICtrlSetData($UTC, _DateTimeFormat(_DateAdd('h', -7, _NowCalc()), 0))
- GUICtrlSetData($UTCDate, StringLeft(GUICtrlRead($UTC), 2))
- EndFunc ;==>_Time
- Func _Attention()
- 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.")
- EndFunc
- ;End Code Time=======================================
- Func _Status()
- MsgBox(0,"About","Version : 1.4" & @Crlf & "")
- EndFunc ;==> _Status
- Func _Update()
- Local Const $Link = @DesktopDir & "\Data.ini"
- If Not FileCreate($Link, "1.4") Then Return MsgBox($MB_SYSTEMMODAL, "", "Lỗi tạo file Data.ini")
- Sleep(10)
- Run("Z:\MVT\Update.exe")
- EndFunc ;==> _Update
- Func FileCreate($Link, $sString)
- Local $bReturn = True
- If FileExists($Link) = 0 Then $bReturn = FileWrite($Link, $sString) = 1
- Return $bReturn
- EndFunc ;==>FileCreate
- While 1
- Sleep(40)
- WEnd
- Func _Exit()
- Exit
- EndFunc ;==>_Exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement