#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=.\Icons\trackapp10.ico #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_Res_Comment=Free for Personal and Commercial use. #AutoIt3Wrapper_Res_Description="Lifetime COG Tracking Application" #AutoIt3Wrapper_Res_Fileversion=1.5.0.5 #AutoIt3Wrapper_Res_ProductVersion=1.5.0.5 #AutoIt3Wrapper_Res_LegalCopyright=Free for Personal and Commercial Use #AutoIt3Wrapper_Res_Language=1033 #AutoIt3Wrapper_Res_Field=Written and maintained by|David James #AutoIt3Wrapper_Run_AU3Check=n #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7 #Tidy_Parameters=/tc 4 /ri /reel /sf #Au3Stripper_Parameters=/so /rm #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** Opt("MustDeclareVars", 1) Opt('TrayMenuMode', 1) #include If _Singleton(@ScriptName, 1) = 0 Then Exit #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include Local Const $MPBRLoc = @ScriptDir & "\SupportDocs\machine placement by route.csv" Local Const $HVTypesLoc = @ScriptDir & "\SupportDocs\HVTypes.csv" Local Const $defPic = @ScriptDir & "\Images\default.jpg" Local Const $MPBRHelpInfo = "In order to Update the Machine Placement by Route locations to the most recent available information, the following must be performed:" & @CRLF & @CRLF & _ "On Citrix, open the Secure Report Launcher." & @CRLF & @CRLF & _ "Select Report Type: Machine" & @CRLF & @CRLF & _ "Select Report To Run: Machine Placement by Route" & @CRLF & @CRLF & _ "Click on the Run Report button" & @CRLF & @CRLF & _ "Click on the Export button in the top menu" & @CRLF & @CRLF & _ "In the Export prompt, set Format to Excel 8.0 [XLS] and set Destination to Disk File. Press OK button" & @CRLF & @CRLF & _ "From the Choose Export File dialog window, select a location to store the file to be exported." & @CRLF & @CRLF & _ "Once the save location is chosen, click on the Save button." & @CRLF & @CRLF & _ "Locate the saved Machine Placement by route Excel file. Open with either Excel or OpenOffice." & @CRLF & @CRLF & _ "Once the Excel file is loaded into Excel or OpenOffice, click on Save As." & @CRLF & @CRLF & _ "In the Save As dialog, choose to save as a CSV file." & @CRLF & @CRLF & _ "If offered the choice to save in CSV file format or a spreadsheet format, select CSV format." & @CRLF & @CRLF & _ "When prompted for which CSV Field delimiter and Text delimiter to use, choose " & ";" & " for the Field delimiter and " & '"' & " for the Text delimiter." & @CRLF & @CRLF & _ "Once the Excel file is saved as a CSV file, import the new Machine Placement by Route.csv file into the Lifetime COG app by clicking on the Utility Menu's Import button." _Main() Func __EditCBState($ValStr, ByRef $rSold, ByRef $rQnt) If $ValStr = 1 Then GUICtrlSetState($rSold, $GUI_CHECKED) GUICtrlSetState($rQnt, $GUI_ENABLE) EndIf EndFunc ;==>__EditCBState Func __ImpTSPos($ArrStr, ByRef $rPos, ByRef $SKLHV) Local $result If $ArrStr = "" Then GUICtrlSetData($rPos, $SKLHV, "") Else GUICtrlSetData($rPos, $SKLHV) MsgBox("", "set $sklhv", $SKLHV) $result = _GUICtrlComboBox_FindString($rPos, $ArrStr) If $result = -1 Then _GUICtrlComboBox_InsertString($rPos, $ArrStr, 4) $SKLHV = _GUICtrlComboBox_GetList($rPos) MsgBox("", "get list", $SKLHV) Exit _GUICtrlComboBox_SelectString($rPos, $ArrStr, -1) Else GUICtrlSetData($rPos, $SKLHV, $ArrStr) EndIf EndIf EndFunc ;==>__ImpTSPos Func __SoldChkSetQnt(ByRef $rSold, ByRef $rQnt) If GUICtrlRead($rSold) = 1 Then GUICtrlSetState($rQnt, $GUI_ENABLE) Else GUICtrlSetState($rQnt, $GUI_DISABLE) EndIf EndFunc ;==>__SoldChkSetQnt Func __ValFormat($ValStr, ByRef $rFVal) If $ValStr = "" Then _GUICtrlEdit_SetText($rFVal, $ValStr) Else _GUICtrlEdit_SetText($rFVal, "$" & $ValStr) EndIf EndFunc ;==>__ValFormat Func _Main() Local $guiMain, $guiUtilForm Local $guiOrdForm Local $DArray, $TypeArray Local $ReturnMPBRVal, $ReturnHVTypesVal Local $MIFrame Local $bInputClose, $bFindID, $clrMID, $bUpLbDate, $bFlwLvDate, $bPrevLvDate, $bDownLbDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder Local $bArrShow, $clrRev, $bCalc, $bLatest, $bOrdForm, $bOrdOpen, $bOrdAdd, $bOrdDel, $bOrdClose Local $LbCollDates, $LvPrevDate, $LvSelDate, $LvFlwDate, $LSelTS, $LPrevTS, $LFlwTS Local $bUtilMenu, $bViewOrdForms, $bImportMPBR, $bSelHVMachTypes, $bUtilClose Local $iMachID Local $LstOrd Local $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState Local $LmpbrDate, $LCollDate Local $EPrevCNT, $ESelCNT, $EFlwCNT Local $ELTRev, $ELTCOG, $ELTCOGPC Local $msgI, $mUtil, $TID, $mOrd Local $StrLen Local $LPicTitle, $bHelpImportMPBR Local $TMT Local $fileh Local $fMachID, $LbNE, $CancelFlag, $LbCurrSel, $LbCurrTxt, $ans Local $xlsPath Local $iOpenSel, $frmPath, $frmName, $OrdFrmOrigIndex, $fileRes, $LbCollReset Local $szDrive, $szDir, $szFName, $szExt Local $sfileName Local $pictMT $guiMain = GUICreate("Lifetime COG Tracking Application", 1490, 1000, -1, -1, BitOR($WS_SYSMENU, $WS_MINIMIZEBOX), -1) ;Machine Placement By Route of Current Machine ID labels and display text fields $MIFrame = GUICtrlCreateGroup("", 32, 20, 440, 390, $WS_THICKFRAME) GUICtrlSetFont($MIFrame, 12, 600, 1, "Arial Bold", 5) GUICtrlCreateGroup("", 52, 40, 400, 50) $iMachID = GUICtrlCreateInput("", 157, 60, 100, 20, $ES_LEFT, $WS_EX_STATICEDGE) $clrMID = GUICtrlCreateButton("Clear", 258, 60, 35, 20) GUICtrlSetFont($clrMID, 8, 500, 1, "Arial", 5) $bFindID = GUICtrlCreateButton("Display Machine ID Orders", 298, 60, 140, 20) ;Machine Placement By Route Date display $LmpbrDate = GUICtrlCreateLabel("Loading Info. Please wait...", 57, 345, 390, 20, $SS_CENTER) GUICtrlSetColor($LmpbrDate, $COLOR_BLUE) GUICtrlSetFont($LmpbrDate, 9, 500, 1, "Arial Bold", 5) $bArrShow = GUICtrlCreateButton("Display Machine Placement By Route", 152, 370, 200, 24, $SS_CENTER) $bInputClose = GUICtrlCreateButton("Close", 1410, 936, 65, 25) ;Mach ID populate fields GUICtrlSetFont(GUICtrlCreateLabel("Machine ID: ", 62, 63, 90, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Serial Number: ", 42, 113, 110, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Machine Type: ", 42, 139, 110, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Description: ", 42, 165, 110, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Install Date: ", 42, 191, 110, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Client Number: ", 42, 231, 110, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Client Name: ", 42, 257, 110, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("City: ", 42, 283, 110, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("State: ", 42, 309, 110, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold", 5) $eSerialNo = GUICtrlCreateLabel("", 157, 110, 230, 20, BitOR($SS_LEFT, $SS_SUNKEN)) $eMachType = GUICtrlCreateLabel("", 157, 136, 200, 20, BitOR($SS_LEFT, $SS_SUNKEN)) $eMachDesc = GUICtrlCreateLabel("", 157, 162, 230, 20, BitOR($SS_LEFT, $SS_SUNKEN)) $eInstallDate = GUICtrlCreateLabel("", 157, 188, 100, 20, BitOR($SS_LEFT, $SS_SUNKEN)) $eClientNo = GUICtrlCreateLabel("", 157, 228, 200, 20, BitOR($SS_LEFT, $SS_SUNKEN)) $eClientName = GUICtrlCreateLabel("", 157, 254, 230, 20, BitOR($SS_LEFT, $SS_SUNKEN)) $eCity = GUICtrlCreateLabel("", 157, 280, 200, 20, BitOR($SS_LEFT, $SS_SUNKEN)) $eState = GUICtrlCreateLabel("", 157, 306, 100, 20, BitOR($SS_LEFT, $SS_SUNKEN)) ;Revenue lifetime, COGS lifetime and COGS% (COGS lifetime / Revenue lifetime) Labels GUICtrlSetFont(GUICtrlCreateGroup(" Lifetime Totals ", 606, 20, 290, 150, $WS_THICKFRAME), 10, 600, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Revenue: ", 626, 58, 65, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold Italic", 5) $ELTRev = GUICtrlCreateInput("", 696, 55, 100, 20, BitOR($ES_RIGHT, $WS_EX_STATICEDGE)) GUICtrlSetFont($ELTRev, 9, 500, 1, "Arial Bold", 5) $clrRev = GUICtrlCreateButton("Clear", 797, 55, 35, 20) GUICtrlSetFont($clrRev, 8, 500, 1, "Arial", 5) $bCalc = GUICtrlCreateButton("Calc", 816, 129, 50, 25) GUICtrlSetFont(GUICtrlCreateLabel("COG: ", 626, 96, 65, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold Italic", 5) $ELTCOG = GUICtrlCreateLabel("", 696, 93, 100, 20, BitOR($SS_RIGHT, $SS_SUNKEN)) GUICtrlSetFont($ELTCOG, 9, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("COG%: ", 626, 134, 65, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold Italic", 5) $ELTCOGPC = GUICtrlCreateLabel("", 696, 131, 100, 20, BitOR($SS_RIGHT, $SS_SUNKEN)) GUICtrlSetFont($ELTCOGPC, 9, 500, 1, "Arial Bold", 5) ;Picture of Mach ID product position $LPicTitle = GUICtrlCreateLabel("", 1022, 25, 420, 20, $SS_CENTER) GUICtrlSetFont($LPicTitle, 10, 700, -1, "Arial Bold", 5) $pictMT = GUICtrlCreatePic($defPic, 1052, 50, 360, 360) GUICtrlSetImage($pictMT, $defPic) ;Order Dates Listbox Label $LCollDate = GUICtrlCreateLabel("Order TimeStamps", 620, 200, 130, 20, $SS_CENTER) GUICtrlSetFont($LCollDate, 9, 500, 1, "Arial Bold", 5) $LbCollDates = GUICtrlCreateList("", 620, 220, 130, 200, BitOR($WS_BORDER, $WS_VSCROLL, $LBS_NOTIFY)) $bAddNewOrder = GUICtrlCreateButton(" Add New Order", 760, 220, 130, 26, $BS_LEFT) $bEditSelOrder = GUICtrlCreateButton(" Edit Selected Order", 760, 257, 130, 26, $BS_LEFT) $bDelSelOrder = GUICtrlCreateButton(" Delete Selected Order", 760, 294, 130, 26, $BS_LEFT) $bUpLbDate = GUICtrlCreateButton("/\", 590, 220, 20, 30) GUICtrlSetFont($bUpLbDate, 11, 600, 1, "Arial Bold", 5) $bLatest = GUICtrlCreateButton("Latest", 560, 304, 50, 24) $bDownLbDate = GUICtrlCreateButton("\/", 590, 378, 20, 30) GUICtrlSetFont($bDownLbDate, 11, 600, 1, "Arial Bold", 5) $bUtilMenu = GUICtrlCreateButton("Utilities", 774, 370, 100, 30) ;listview Prev and Following roll buttons $bPrevLvDate = GUICtrlCreateButton("<", 500, 445, 30, 20) GUICtrlSetFont($bUpLbDate, 11, 600, 1, "Arial Bold", 5) $bFlwLvDate = GUICtrlCreateButton(">", 954, 445, 30, 20) GUICtrlSetFont($bDownLbDate, 11, 600, 1, "Arial Bold", 5) ;Prev Collection Date Listview Labels $LPrevTS = GUICtrlCreateLabel("", 10, 425, 484, 20, $SS_CENTER) GUICtrlSetFont($LPrevTS, 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Previous Order TimeStamp", 10, 445, 484, 20, $SS_CENTER), 11, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Order Counter: ", 10, 936, 100, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold Italic", 5) $EPrevCNT = GUICtrlCreateLabel("", 120, 936, 90, 20, BitOR($SS_RIGHT, $SS_SUNKEN)) GUICtrlSetFont($EPrevCNT, 9, 500, 1, "Arial Bold", 5) ;listviews pertaining to selected order date $LvPrevDate = GUICtrlCreateListView("", 10, 470, 484, 454, BitOR($LVS_NOSORTHEADER, $LVS_SINGLESEL), _ BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE)) GUICtrlSetBkColor($LvPrevDate, 0x34C9AA) _GUICtrlListView_SetTextColor($LvPrevDate, $CLR_BLACK) _GUICtrlListView_AddColumn($LvPrevDate, " Position", 130, 0) _GUICtrlListView_AddColumn($LvPrevDate, " Item Name", 208, 0) _GUICtrlListView_AddColumn($LvPrevDate, "Value ", 70, 1) _GUICtrlListView_AddColumn($LvPrevDate, "# Sold", 64, 2) ;Selected Collection Date Listview Labels $LSelTS = GUICtrlCreateLabel("", 500, 425, 484, 20, $SS_CENTER) GUICtrlSetFont($LSelTS, 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Selected Order TimeStamp", 530, 445, 424, 20, $SS_CENTER), 11, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Order Counter: ", 500, 936, 100, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold Italic", 5) $ESelCNT = GUICtrlCreateLabel("", 610, 936, 90, 20, BitOR($SS_RIGHT, $SS_SUNKEN)) GUICtrlSetFont($ESelCNT, 9, 500, 1, "Arial Bold", 5) $LvSelDate = GUICtrlCreateListView("", 500, 470, 484, 454, BitOR($LVS_NOSORTHEADER, $LVS_SINGLESEL), _ BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE)) GUICtrlSetBkColor($LvSelDate, 0xD0B517) _GUICtrlListView_SetTextColor($LvSelDate, $CLR_BLACK) _GUICtrlListView_AddColumn($LvSelDate, " Position", 130, 0) _GUICtrlListView_AddColumn($LvSelDate, " Item Name", 208, 0) _GUICtrlListView_AddColumn($LvSelDate, "Value ", 70, 1) _GUICtrlListView_AddColumn($LvSelDate, "# Sold", 64, 2) ;Following Collection Date Listview Labels $LFlwTS = GUICtrlCreateLabel("", 990, 425, 484, 20, $SS_CENTER) GUICtrlSetFont($LFlwTS, 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Following Order TimeStamp", 990, 445, 484, 20, $SS_CENTER), 11, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Order Counter: ", 990, 936, 100, 20, $SS_RIGHT), 9, 500, 1, "Arial Bold Italic", 5) $EFlwCNT = GUICtrlCreateLabel("", 1100, 936, 90, 20, BitOR($SS_RIGHT, $SS_SUNKEN)) GUICtrlSetFont($EFlwCNT, 9, 500, 1, "Arial Bold", 5) $LvFlwDate = GUICtrlCreateListView("", 990, 470, 484, 454, BitOR($LVS_NOSORTHEADER, $LVS_SINGLESEL), _ BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE)) GUICtrlSetBkColor($LvFlwDate, 0x2EB9E3) _GUICtrlListView_SetTextColor($LvFlwDate, $CLR_BLACK) _GUICtrlListView_AddColumn($LvFlwDate, " Position", 130, 0) _GUICtrlListView_AddColumn($LvFlwDate, " Item Name", 208, 0) _GUICtrlListView_AddColumn($LvFlwDate, "Value ", 70, 1) _GUICtrlListView_AddColumn($LvFlwDate, "# Sold", 64, 2) GUISetState(@SW_SHOW, $guiMain) ;load Machine Placement By Route Data into $DArray and HV Mach Types into $TypeArray DisableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) $ReturnMPBRVal = LoadMPBR_Array($DArray, $LmpbrDate) $ReturnHVTypesVal = LoadHV_Array($TypeArray) If $ReturnMPBRVal And $ReturnHVTypesVal Then EnableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) GUICtrlSetState($bSelHVMachTypes, $GUI_ENABLE) Else If Not $ReturnMPBRVal Then GUICtrlSetData($LmpbrDate, "Machine Placement By route.csv NOT FOUND") GUICtrlSetState($bSelHVMachTypes, $GUI_DISABLE) Else GUICtrlSetState($bArrShow, $GUI_ENABLE) GUICtrlSetState($bSelHVMachTypes, $GUI_ENABLE) GUICtrlSetState($bFindID, $GUI_ENABLE) GUICtrlSetState($iMachID, $GUI_ENABLE) GUICtrlSetState($clrMID, $GUI_ENABLE) EndIf If Not $ReturnHVTypesVal Then If FileExists($HVTypesLoc) Then If Not FileMove($HVTypesLoc, @ScriptDir & "\SupportDocs\HVTypes_backup.csv", $FC_OVERWRITE) Then MsgBox($MB_TASKMODAL, "File Rename Error", "The HVTypes.csv file could not be renamed to HVTypes_backup.csv" & @CRLF & @CRLF & _ "Program will terminate.") Exit EndIf EndIf Dim $TypeArray[1][2] = [["DUMMY TYPE", "||||||||||||||||||||||"]] _FileWriteFromArray($HVTypesLoc, $TypeArray, 0, Default) EndIf EndIf GUICtrlSetState($bInputClose, $GUI_ENABLE) GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) Do $msgI = GUIGetMsg() Switch $msgI Case $bFindID ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LbCollDates, $LvPrevDate, $LvSelDate, _ $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) GUICtrlSetData($iMachID, StringUpper(StringStripWS(GUICtrlRead($iMachID), 8))) If GUICtrlRead($iMachID) Then $TID = GUICtrlRead($iMachID) ;format inputted machine ID to that found in Machine placement by route Excel workbook If StringLen($TID) <= 8 Then $StrLen = StringLen($TID) For $x = 1 To (8 - $StrLen) $TID = "0" & $TID Next GUICtrlSetData($iMachID, $TID) DisplayMachIDArrayData($DArray, $iMachID, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LPicTitle, $pictMT) If _ArraySearch($TypeArray, GUICtrlRead($eMachType)) <> -1 Then DisableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) ;populate Order Timestamps listbox $fileh = FileFindFirstFile(@ScriptDir & "\Databases\" & GUICtrlRead($iMachID) & "\*.*") If $fileh <> -1 Then ;Order Dates Listbox Additions _GUICtrlListBox_BeginUpdate($LbCollDates) While 1 $sfileName = FileFindNextFile($fileh) If @error Then ExitLoop _GUICtrlListBox_AddString($LbCollDates, $sfileName) WEnd _GUICtrlListBox_EndUpdate($LbCollDates) EndIf FileClose($fileh) EnableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) Else If $TID <> "" Then MsgBox($MB_TASKMODAL, "Not High Value", "The Machine ID entered is not designated as a High Value machine.") EndIf If _GUICtrlListBox_GetCount($LbCollDates) > 0 Then _GUICtrlListBox_SetCurSel($LbCollDates, _GUICtrlListBox_GetCount($LbCollDates) - 1) _GUICtrlListBox_ClickItem($LbCollDates, _GUICtrlListBox_GetCount($LbCollDates) - 1, "left", False) _GUICtrlButton_Click($bCalc) GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($LbCollDates, $GUI_FOCUS) Else GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) EndIf Else MsgBox($MB_TASKMODAL, "Machine ID Entry Error", "The length of the Machine ID ENTERED is longer than eight characters.") GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) EndIf EndIf Case $bCalc GUICtrlSetData($ELTCOGPC, "") ;verify that entry is a dollar amount. Format display with dollar sign GUICtrlSetData($ELTRev, StringStripWS(GUICtrlRead($ELTRev), 8)) If GUICtrlRead($ELTCOG) <> "" And GUICtrlRead($ELTRev) <> "" Then If StringLeft(GUICtrlRead($ELTRev), 1) = "$" Then GUICtrlSetData($ELTRev, StringTrimLeft(GUICtrlRead($ELTRev), 1)) EndIf If StringLeft(GUICtrlRead($ELTCOG), 1) = "$" Then GUICtrlSetData($ELTCOG, StringTrimLeft(GUICtrlRead($ELTCOG), 1)) EndIf If StringIsFloat(GUICtrlRead($ELTRev)) And StringIsFloat(GUICtrlRead($ELTCOG)) Then GUICtrlSetData($ELTRev, StringFormat("%.2f", GUICtrlRead($ELTRev))) GUICtrlSetData($ELTCOG, StringFormat("%.2f", GUICtrlRead($ELTCOG))) ;if Revenue dollar amount is valid and COG valid dollar amount exists, divide COG by Revenue amount and place result in COG% label If GUICtrlRead($ELTRev) > 0 And StringStripWS(GUICtrlRead($ELTCOG), 8) <> "" Then GUICtrlSetData($ELTCOGPC, (GUICtrlRead($ELTCOG) / GUICtrlRead($ELTRev)) * 100) ;display dollar format GUICtrlSetData($ELTCOG, "$" & GUICtrlRead($ELTCOG)) GUICtrlSetData($ELTRev, "$" & GUICtrlRead($ELTRev)) GUICtrlSetData($ELTCOGPC, StringFormat("%.2f", GUICtrlRead($ELTCOGPC))) GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($LbCollDates, $GUI_FOCUS) Else MsgBox($MB_TASKMODAL, "User Entry Error", "The Revenue amount entered is not in the correct decimal currency format.") GUICtrlSetState($ELTRev, $GUI_FOCUS) EndIf EndIf Case $bAddNewOrder GUICtrlSetData($iMachID, StringUpper(StringStripWS(GUICtrlRead($iMachID), 8))) If Not GUICtrlRead($iMachID) Then ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LbCollDates, $LvPrevDate, $LvSelDate, _ $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) MsgBox($MB_TASKMODAL, "Machine ID Not Entered", "A Machine ID was not entered into the Current Machine ID Location Data entry box.") GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) Else $LbNE = False If _GUICtrlListBox_GetCount($LbCollDates) > 0 Then $LbCurrSel = _GUICtrlListBox_GetCurSel($LbCollDates) $LbNE = True EndIf ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LbCollDates, $LvPrevDate, $LvSelDate, _ $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) $TID = GUICtrlRead($iMachID) If StringLen($TID) <= 8 Then $StrLen = StringLen($TID) For $x = 1 To (8 - $StrLen) $TID = "0" & $TID Next GUICtrlSetData($iMachID, $TID) DisableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) DisplayMachIDArrayData($DArray, $iMachID, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LPicTitle, $pictMT) $TMT = GUICtrlRead($eMachType) If _ArraySearch($TypeArray, $TMT) <> -1 Then GUISetState(@SW_HIDE, $guiMain) $CancelFlag = False $CancelFlag = AddNewOrders(GUICtrlRead($iMachID), GUICtrlRead($eMachType), $TypeArray) ;open $iMachID subfolder's timestamp db files $fMachID = @ScriptDir & "\Databases\" & GUICtrlRead($iMachID) & "\*.*" $fileh = FileFindFirstFile($fMachID) If $fileh <> -1 Then ;Order Dates Listbox Additions _GUICtrlListBox_BeginUpdate($LbCollDates) While 1 $sfileName = FileFindNextFile($fileh) If @error Then ExitLoop _GUICtrlListBox_AddString($LbCollDates, $sfileName) WEnd _GUICtrlListBox_EndUpdate($LbCollDates) EndIf FileClose($fileh) GUISetState(@SW_SHOW, $guiMain) Else If $TMT <> "" Then MsgBox($MB_TASKMODAL, "Not High Value", "The Machine ID entered is not designated as a High Value machine.") EndIf EnableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) If $CancelFlag And $LbNE Then _GUICtrlListBox_SetCurSel($LbCollDates, $LbCurrSel) _GUICtrlListBox_ClickItem($LbCollDates, $LbCurrSel, "left", False) WinActivate($guiMain) _GUICtrlButton_Click($bCalc) Else _GUICtrlListBox_SetCurSel($LbCollDates, _GUICtrlListBox_GetCount($LbCollDates) - 1) _GUICtrlListBox_ClickItem($LbCollDates, _GUICtrlListBox_GetCount($LbCollDates) - 1, "left", False) WinActivate($guiMain) _GUICtrlButton_Click($bCalc) EndIf If _GUICtrlListBox_GetCount($LbCollDates) > 0 Then GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($LbCollDates, $GUI_FOCUS) Else GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) EndIf Else ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LbCollDates, $LvPrevDate, $LvSelDate, _ $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) MsgBox($MB_TASKMODAL, "Machine ID Entry Error", "The length of the Machine ID ENTERED is longer than eight characters.") GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) EndIf EndIf GUICtrlSetState($bFindID, $GUI_DEFBUTTON) Case $bEditSelOrder GUICtrlSetData($iMachID, StringUpper(StringStripWS(GUICtrlRead($iMachID), 8))) If Not GUICtrlRead($iMachID) Then ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LbCollDates, $LvPrevDate, $LvSelDate, _ $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) Else If _GUICtrlListBox_GetCount($LbCollDates) > 0 Then $LbCurrSel = _GUICtrlListBox_GetCurSel($LbCollDates) $LbCurrTxt = _GUICtrlListBox_GetText($LbCollDates, $LbCurrSel) ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LbCollDates, $LvPrevDate, $LvSelDate, _ $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) $TID = GUICtrlRead($iMachID) If StringLen($TID) <= 8 Then GUISetState(@SW_HIDE, $guiMain) $StrLen = StringLen($TID) For $x = 1 To (8 - $StrLen) $TID = "0" & $TID Next GUICtrlSetData($iMachID, $TID) DisableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) DisplayMachIDArrayData($DArray, $iMachID, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LPicTitle, $pictMT) $TMT = GUICtrlRead($eMachType) If _ArraySearch($TypeArray, $TMT) <> -1 Then EditSelOrder(GUICtrlRead($iMachID), GUICtrlRead($eMachType), $LbCurrTxt, $TypeArray, $pictMT) ;open $iMachID subfolder's timestamp db files $fMachID = @ScriptDir & "\Databases\" & GUICtrlRead($iMachID) & "\*.*" $fileh = FileFindFirstFile($fMachID) If $fileh <> -1 Then ;Order Dates Listbox Additions _GUICtrlListBox_BeginUpdate($LbCollDates) While 1 $sfileName = FileFindNextFile($fileh) If @error Then ExitLoop _GUICtrlListBox_AddString($LbCollDates, $sfileName) WEnd _GUICtrlListBox_EndUpdate($LbCollDates) EndIf FileClose($fileh) Else If $TMT <> "" Then MsgBox($MB_TASKMODAL, "Not High Value", "The Machine ID entered is not designated as a High Value machine.") EndIf EnableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) GUISetState(@SW_SHOW, $guiMain) _GUICtrlListBox_SetCurSel($LbCollDates, $LbCurrSel) _GUICtrlListBox_ClickItem($LbCollDates, $LbCurrSel, "left", False) WinActivate($guiMain) _GUICtrlButton_Click($bCalc) GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($LbCollDates, $GUI_FOCUS) Else ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LbCollDates, $LvPrevDate, $LvSelDate, _ $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) MsgBox($MB_TASKMODAL, "Machine ID Entry Error", "The length of the Machine ID ENTERED is longer than eight characters.") GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) EndIf EndIf EndIf GUICtrlSetState($bFindID, $GUI_DEFBUTTON) Case $bDelSelOrder GUICtrlSetData($iMachID, StringUpper(StringStripWS(GUICtrlRead($iMachID), 8))) If Not GUICtrlRead($iMachID) Then ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LbCollDates, $LvPrevDate, $LvSelDate, _ $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) Else If _GUICtrlListBox_GetCount($LbCollDates) > 0 Then $LbCurrSel = _GUICtrlListBox_GetCurSel($LbCollDates) $LbCurrTxt = _GUICtrlListBox_GetText($LbCollDates, $LbCurrSel) $ans = MsgBox($MB_TASKMODAL + $MB_YESNO, "ORDER FILE DELETION", "DO YOU REALLY WANT TO DELETE THE " & $LbCurrTxt & " ORDER?") If $ans = $IDYES Then ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LbCollDates, $LvPrevDate, $LvSelDate, _ $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) $TID = GUICtrlRead($iMachID) If StringLen($TID) <= 8 Then $StrLen = StringLen($TID) For $x = 1 To (8 - $StrLen) $TID = "0" & $TID Next GUICtrlSetData($iMachID, $TID) DisableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) DisplayMachIDArrayData($DArray, $iMachID, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LPicTitle, $pictMT) $TMT = GUICtrlRead($eMachType) If _ArraySearch($TypeArray, $TMT) <> -1 Then ;open $iMachID db file, read into Order Dates listbox $fMachID = @ScriptDir & "\Databases\" & GUICtrlRead($iMachID) & "\" & $LbCurrTxt If FileExists($fMachID) Then $fileh = FileDelete($fMachID) If $fileh = 0 Then MsgBox($MB_TASKMODAL, "File Deletion Error", "The database file " & GUICtrlRead($iMachID) & " could not be deleted." & _ @CRLF & "@error = " & @error & ", @extended = " & @extended) FileClose($fileh) Else FileClose($fileh) $fMachID = @ScriptDir & "\Databases\" & GUICtrlRead($iMachID) & "\*.*" $fileh = FileFindFirstFile($fMachID) If $fileh <> -1 Then ;Order Dates Listbox Additions _GUICtrlListBox_BeginUpdate($LbCollDates) While 1 $sfileName = FileFindNextFile($fileh) If @error Then ExitLoop _GUICtrlListBox_AddString($LbCollDates, $sfileName) _GUICtrlListBox_EndUpdate($LbCollDates) WEnd EndIf FileClose($fileh) EndIf EndIf Else If $TMT <> "" Then MsgBox($MB_TASKMODAL, "Not High Value", "The Machine ID entered is not designated as a High Value machine.") EndIf EnableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) ;if not last entry in listbox, select listbox item above deleted TS $LbCurSel-1 If _GUICtrlListBox_GetCount($LbCollDates) > 0 Then If $LbCurrSel = 0 Then _GUICtrlListBox_SetCurSel($LbCollDates, 0) _GUICtrlListBox_ClickItem($LbCollDates, 0, "left", False) WinActivate($guiMain) _GUICtrlButton_Click($bCalc) EndIf If $LbCurrSel > (_GUICtrlListBox_GetCount($LbCollDates) - 1) Then _GUICtrlListBox_SetCurSel($LbCollDates, $LbCurrSel - 1) _GUICtrlListBox_ClickItem($LbCollDates, $LbCurrSel - 1, "left", False) WinActivate($guiMain) _GUICtrlButton_Click($bCalc) EndIf If $LbCurrSel <= (_GUICtrlListBox_GetCount($LbCollDates) - 1) Then _GUICtrlListBox_SetCurSel($LbCollDates, $LbCurrSel) _GUICtrlListBox_ClickItem($LbCollDates, $LbCurrSel, "left", False) WinActivate($guiMain) _GUICtrlButton_Click($bCalc) EndIf GUICtrlSetState($LbCollDates, $GUI_FOCUS) Else GUICtrlSetState($iMachID, $GUI_FOCUS) EndIf GUICtrlSetState($bFindID, $GUI_DEFBUTTON) Else ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LbCollDates, $LvPrevDate, $LvSelDate, _ $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) MsgBox($MB_TASKMODAL, "Machine ID Entry Error", "The length of the Machine ID ENTERED is longer than eight characters.") GUICtrlSetState($iMachID, $GUI_FOCUS) GUICtrlSetState($bFindID, $GUI_DEFBUTTON) EndIf Else GUICtrlSetState($LbCollDates, $GUI_FOCUS) _GUICtrlListBox_SetCurSel($LbCollDates, $LbCurrSel) EndIf EndIf EndIf Case $bArrShow _ArrayDisplay($DArray, "Machine Placement By Route", Default, 16, Default, Default, 0xD0B517, 0xDDFFDD) GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) Case $LbCollDates If $NM_CLICK And _GUICtrlListBox_GetCount($LbCollDates) > 0 Then ShowSelOrder($LbCollDates, $LvPrevDate, $LvSelDate, $LvFlwDate, $LPrevTS, $EPrevCNT, $LSelTS, $ESelCNT, $LFlwTS, $EFlwCNT, $iMachID, $ELTCOG) EndIf Case $bUpLbDate If _GUICtrlListBox_GetCurSel($LbCollDates) > 0 Then _GUICtrlListBox_SetCurSel($LbCollDates, _GUICtrlListBox_GetCurSel($LbCollDates) - 1) _GUICtrlListBox_ClickItem($LbCollDates, _GUICtrlListBox_GetCurSel($LbCollDates), "left", False) EndIf Case $bPrevLvDate If _GUICtrlListBox_GetCurSel($LbCollDates) > 0 Then _GUICtrlListBox_SetCurSel($LbCollDates, _GUICtrlListBox_GetCurSel($LbCollDates) - 1) _GUICtrlListBox_ClickItem($LbCollDates, _GUICtrlListBox_GetCurSel($LbCollDates), "left", False) EndIf Case $bDownLbDate If _GUICtrlListBox_GetCurSel($LbCollDates) < (_GUICtrlListBox_GetCount($LbCollDates) - 1) Then _GUICtrlListBox_SetCurSel($LbCollDates, _GUICtrlListBox_GetCurSel($LbCollDates) + 1) _GUICtrlListBox_ClickItem($LbCollDates, _GUICtrlListBox_GetCurSel($LbCollDates), "left", False) EndIf Case $bFlwLvDate If _GUICtrlListBox_GetCurSel($LbCollDates) < (_GUICtrlListBox_GetCount($LbCollDates) - 1) Then _GUICtrlListBox_SetCurSel($LbCollDates, _GUICtrlListBox_GetCurSel($LbCollDates) + 1) _GUICtrlListBox_ClickItem($LbCollDates, _GUICtrlListBox_GetCurSel($LbCollDates), "left", False) EndIf Case $bLatest If _GUICtrlListBox_GetCount($LbCollDates) > 0 Then _GUICtrlListBox_SetCurSel($LbCollDates, _GUICtrlListBox_GetCount($LbCollDates) - 1) _GUICtrlListBox_ClickItem($LbCollDates, _GUICtrlListBox_GetCount($LbCollDates) - 1, "left", False) EndIf GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($LbCollDates, $GUI_FOCUS) Case $clrMID GUICtrlSetData($iMachID, "") GUICtrlSetData($ELTRev, "") ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, _ $LbCollDates, $LvPrevDate, $LvSelDate, $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) Case $clrRev GUICtrlSetData($ELTRev, "") GUICtrlSetData($ELTCOGPC, "") GUICtrlSetState($ELTRev, $GUI_FOCUS) Case $bUtilMenu If _GUICtrlListBox_GetCount($LbCollDates) > 0 Then $LbCollReset = _GUICtrlListBox_GetCurSel($LbCollDates) GUISetState(@SW_HIDE, $guiMain) $guiUtilForm = GUICreate("Utility Menu", 368, 220, -1, -1, $WS_SYSMENU, $WS_EX_TOPMOST) $bViewOrdForms = GUICtrlCreateButton("View Order Forms", 10, 10, 300, 30) $bImportMPBR = GUICtrlCreateButton("Import New Machine Replacement By Route CSV", 10, 45, 300, 30) $bHelpImportMPBR = GUICtrlCreateButton("", 320, 45, 30, 30, $BS_ICON) GUICtrlSetImage($bHelpImportMPBR, @ScriptDir & "\Icons\help.ico", -1, 0) $bSelHVMachTypes = GUICtrlCreateButton("Designate High Value Machine Types", 10, 80, 300, 30) If $ReturnMPBRVal = False Then GUICtrlSetState($bSelHVMachTypes, $GUI_DISABLE) $bUtilClose = GUICtrlCreateButton("Close", 147, 144, 74, 25, $BS_DEFPUSHBUTTON) GUISetState(@SW_SHOW, $guiUtilForm) Do $mUtil = GUIGetMsg() Switch $mUtil Case $bViewOrdForms GUISetState(@SW_HIDE, $guiUtilForm) $guiOrdForm = GUICreate("Order and Other Forms", 320, 510, -1, -1, BitOR($WS_SYSMENU, $WS_MINIMIZEBOX), $WS_EX_TOPMOST) GUICtrlCreateLabel("Forms Archive", 21, 18, 280, 30, $SS_CENTER) $LstOrd = GUICtrlCreateList("", 16, 40, 280, 290, BitOR($LBS_SORT, $WS_HSCROLL, $WS_VSCROLL)) $bOrdOpen = GUICtrlCreateButton("Display", 123, 342, 74, 25) $bOrdAdd = GUICtrlCreateButton("Add", 123, 376, 74, 25) $bOrdDel = GUICtrlCreateButton("Delete", 123, 410, 74, 25) $bOrdClose = GUICtrlCreateButton("Close", 123, 444, 74, 25, $BS_DEFPUSHBUTTON) GUISetState(@SW_SHOW, $guiOrdForm) UpdateOrderFormsListbox($LstOrd) While 1 $mOrd = GUIGetMsg() If $mOrd = $bOrdOpen Then GUISetState(@SW_MINIMIZE, $guiOrdForm) If _GUICtrlListBox_GetCount($LstOrd) > 0 Then $iOpenSel = _GUICtrlListBox_GetText($LstOrd, _GUICtrlListBox_GetCurSel($LstOrd)) ShellExecute($iOpenSel, "", @ScriptDir & "\Forms\", "open") EndIf EndIf If $mOrd = $bOrdAdd Then If _GUICtrlListBox_GetCount($LstOrd) > 0 Then $OrdFrmOrigIndex = _GUICtrlListBox_GetCurSel($LstOrd) GUISetState(@SW_HIDE, $guiOrdForm) $frmPath = FileOpenDialog("Add New Order Form", _ @DesktopDir & "\", "PDF (*.pdf) | MSOffice (*.doc;*.xls) | Images (*.gif;*.jpg;*bmp) | OpenOffice (*.ods;*.odt) | Text (*.txt)", 1) If Not @error Then FileChangeDir(@ScriptDir) $frmName = _PathSplit($frmPath, $szDrive, $szDir, $szFName, $szExt)[3] & _PathSplit($frmPath, $szDrive, $szDir, $szFName, $szExt)[4] If FileExists(@ScriptDir & "\Forms\" & $frmName) Then $ans = MsgBox($MB_TASKMODAL + $MB_YESNO, "ORDER FORM NAME EXISTS", @CRLF & @CRLF & $frmName & @CRLF & @CRLF & _ "Overwrite existing file?") If $ans = 6 Then FileSetAttrib($frmPath, "-R+A") If Not FileCopy($frmPath, @ScriptDir & "\Forms\", 1) Then MsgBox($MB_TASKMODAL, "Order Form Not Copied - 1st", "Order Form:" & @CRLF & @CRLF & _ $frmName & @CRLF & @CRLF & "was not copied to the archive of Order Forms." & @CRLF & "@error = " & @error & ", @extended = " & @extended) GUISetState(@SW_SHOW, $guiOrdForm) If _GUICtrlListBox_GetCount($LstOrd) > 0 Then _GUICtrlListBox_SetCurSel($LstOrd, $OrdFrmOrigIndex) Else GUISetState(@SW_SHOW, $guiOrdForm) UpdateOrderFormsListbox($LstOrd) If _GUICtrlListBox_GetCount($LstOrd) > 0 Then _GUICtrlListBox_SetCurSel($LstOrd, _GUICtrlListBox_FindString($LstOrd, $frmName)) EndIf Else GUISetState(@SW_SHOW, $guiOrdForm) If _GUICtrlListBox_GetCount($LstOrd) > 0 Then _GUICtrlListBox_SetCurSel($LstOrd, $OrdFrmOrigIndex) EndIf Else FileChangeDir(@ScriptDir) If Not FileCopy($frmPath, @ScriptDir & "\Forms\", 1) Then MsgBox($MB_TASKMODAL, "Order Form Not Copied - 2nd", "Order Form:" & @CRLF & @CRLF & _ $frmName & @CRLF & @CRLF & "was not copied to the archive of Order Forms." & @CRLF & "@error = " & @error & ", @extended = " & @extended) GUISetState(@SW_SHOW, $guiOrdForm) If _GUICtrlListBox_GetCount($LstOrd) > 0 Then _GUICtrlListBox_SetCurSel($LstOrd, $OrdFrmOrigIndex) Else GUISetState(@SW_SHOW, $guiOrdForm) UpdateOrderFormsListbox($LstOrd) If _GUICtrlListBox_GetCount($LstOrd) > 0 Then _GUICtrlListBox_SetCurSel($LstOrd, _GUICtrlListBox_FindString($LstOrd, $frmName)) EndIf EndIf Else GUISetState(@SW_SHOW, $guiOrdForm) If _GUICtrlListBox_GetCount($LstOrd) > 0 Then _GUICtrlListBox_SetCurSel($LstOrd, $OrdFrmOrigIndex) EndIf EndIf If $mOrd = $bOrdDel Then If _GUICtrlListBox_GetCount($LstOrd) > 0 Then $OrdFrmOrigIndex = _GUICtrlListBox_GetCurSel($LstOrd) $iOpenSel = _GUICtrlListBox_GetText($LstOrd, $OrdFrmOrigIndex) $frmPath = @ScriptDir & "\Forms\" & $iOpenSel If FileExists($frmPath) Then GUISetStyle(-1, -1, $guiOrdForm) $ans = MsgBox($MB_TASKMODAL + $MB_YESNO + $MB_TOPMOST, "Delete Listing Of Order Form", "Are you sure that you want to DELETE the selected Order Form:" & _ @CRLF & @CRLF & $iOpenSel & " ?") If $ans = 6 Then $fileRes = FileDelete($frmPath) If $fileRes = 0 Then MsgBox($MB_TASKMODAL + $MB_TOPMOST, "File Deletion Error", "The '" & $iOpenSel & "' support document file was not deleted." & @CRLF & "@error = " & @error & ", @extended = " & @extended) Else UpdateOrderFormsListbox($LstOrd) If _GUICtrlListBox_GetCount($LstOrd) > 0 Then If $OrdFrmOrigIndex > 0 Then $OrdFrmOrigIndex -= 1 EndIf EndIf EndIf Else GUISetStyle(-1, -1, $guiOrdForm) MsgBox($MB_TASKMODAL + $MB_TOPMOST, "Order Form Not Deleted", "The selected Order Form could not be found to delete." & @CRLF & "@error = " & @error & ", @extended = " & @extended) EndIf _GUICtrlListBox_SetCurSel($LstOrd, $OrdFrmOrigIndex) EndIf EndIf If $mOrd = $bOrdClose Then ExitLoop EndIf WEnd GUIDelete($guiOrdForm) GUISetState(@SW_SHOW, $guiUtilForm) Case $bImportMPBR GUISetState(@SW_HIDE, $guiUtilForm) $xlsPath = FileOpenDialog("Import Machine Placement By Route File", @DesktopDir & "\", "CSV File (*.csv)", 1, "", $guiMain) If @error Then MsgBox($MB_TASKMODAL, "File Selection", "No Machine Placement By Route File Was Selected And Imported.") FileChangeDir(@ScriptDir) Else FileChangeDir(@ScriptDir) If FileExists(@ScriptDir & "\SupportDocs\machine placement by route.csv") Then $ans = MsgBox($MB_TASKMODAL + $MB_YESNO, "Over-write Existing File", "Are you sure that you want to over-write the existing 'machine placement by route.csv' file?") If $ans = 6 Then If Not FileCopy($xlsPath, @ScriptDir & "\SupportDocs\", 1) Then MsgBox($MB_TASKMODAL, "File Copy Error", "No Machine Placement By Route File Was Copied To The SupportDocs subfolder." & _ @CRLF & "@error = " & @error & ", @extended = " & @extended) EndIf ElseIf $ans = 7 Then MsgBox($MB_TASKMODAL, "File Selection", "No Machine Placement By Route File Was Selected And Imported.") EndIf Else If Not FileCopy($xlsPath, @ScriptDir & "\SupportDocs\", 1) Then MsgBox($MB_TASKMODAL, "File Copy Error", "No Machine Placement By Route File Was Copied To The SupportDocs subfolder." & _ @CRLF & "@error = " & @error & ", @extended = " & @extended) EndIf EndIf If FileExists(@ScriptDir & "\SupportDocs\machine placement by route.csv") Then $ReturnMPBRVal = LoadMPBR_Array($DArray, $LmpbrDate) $ReturnHVTypesVal = LoadHV_Array($TypeArray) If $ReturnMPBRVal And $ReturnHVTypesVal Then EnableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) GUICtrlSetState($bSelHVMachTypes, $GUI_ENABLE) Else If Not $ReturnMPBRVal Then GUICtrlSetData($LmpbrDate, "Machine Placement By route.csv NOT FOUND") GUICtrlSetState($bArrShow, $GUI_DISABLE) GUICtrlSetState($bSelHVMachTypes, $GUI_DISABLE) Else GUICtrlSetState($bArrShow, $GUI_ENABLE) GUICtrlSetState($bSelHVMachTypes, $GUI_ENABLE) GUICtrlSetState($bFindID, $GUI_ENABLE) GUICtrlSetState($iMachID, $GUI_ENABLE) GUICtrlSetState($clrMID, $GUI_ENABLE) EndIf EndIf Else GUICtrlSetData($LmpbrDate, "Machine Placement By route.csv NOT FOUND") GUICtrlSetState($bArrShow, $GUI_DISABLE) GUICtrlSetState($bSelHVMachTypes, $GUI_DISABLE) EndIf EndIf GUISetState(@SW_SHOW, $guiUtilForm) Case $bHelpImportMPBR GUISetState(@SW_HIDE, $guiUtilForm) MsgBox($MB_TASKMODAL, "Importing Help", $MPBRHelpInfo) GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) GUISetState(@SW_SHOW, $guiUtilForm) Case $bSelHVMachTypes GUISetState(@SW_HIDE, $guiUtilForm) SelHVMachTypes($DArray, $TypeArray) GUISetState(@SW_SHOW, $guiUtilForm) Case $bUtilClose ExitLoop EndSwitch Until $mUtil = $GUI_EVENT_CLOSE GUIDelete($guiUtilForm) GUISetState(@SW_SHOW, $guiMain) ClearMainDataFields($ELTCOG, $ELTCOGPC, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LbCollDates, $LvPrevDate, $LvSelDate, _ $LvFlwDate, $LPicTitle, $LPrevTS, $LSelTS, $LFlwTS, $EPrevCNT, $ESelCNT, $EFlwCNT, $pictMT) GUICtrlSetData($iMachID, StringUpper(StringStripWS(GUICtrlRead($iMachID), 8))) If GUICtrlRead($iMachID) Then $TID = GUICtrlRead($iMachID) ;format inputted machine ID to that found in Machine placement by route Excel workbook If StringLen($TID) <= 8 Then $StrLen = StringLen($TID) For $x = 1 To (8 - $StrLen) $TID = "0" & $TID Next GUICtrlSetData($iMachID, $TID) DisplayMachIDArrayData($DArray, $iMachID, $eSerialNo, $eMachType, $eMachDesc, $eInstallDate, $eClientNo, $eClientName, $eCity, $eState, $LPicTitle, $pictMT) If _ArraySearch($TypeArray, GUICtrlRead($eMachType)) <> -1 Then DisableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) ;populate Order Timestamps listbox $fileh = FileFindFirstFile(@ScriptDir & "\Databases\" & GUICtrlRead($iMachID) & "\*.*") If $fileh <> -1 Then ;Order Dates Listbox Additions _GUICtrlListBox_BeginUpdate($LbCollDates) While 1 $sfileName = FileFindNextFile($fileh) If @error Then ExitLoop _GUICtrlListBox_AddString($LbCollDates, $sfileName) WEnd _GUICtrlListBox_EndUpdate($LbCollDates) EndIf FileClose($fileh) EnableControls($ELTRev, $bInputClose, $iMachID, $bFindID, $bUpLbDate, $bDownLbDate, $bFlwLvDate, $bPrevLvDate, $bAddNewOrder, $bEditSelOrder, $bDelSelOrder, $bArrShow, $bCalc, _ $LbCollDates, $clrMID, $clrRev, $bLatest, $bOrdForm) Else If $TID <> "" Then MsgBox($MB_TASKMODAL, "Not High Value", "The Machine ID entered is not designated as a High Value machine.") EndIf If _GUICtrlListBox_GetCount($LbCollDates) > 0 Then _GUICtrlListBox_SetCurSel($LbCollDates, $LbCollReset) _GUICtrlListBox_ClickItem($LbCollDates, $LbCollReset, "left", False) _GUICtrlButton_Click($bCalc) GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($LbCollDates, $GUI_FOCUS) Else GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) EndIf Else MsgBox($MB_TASKMODAL, "Machine ID Entry Error", "The length of the Machine ID ENTERED is longer than eight characters.") GUICtrlSetState($bFindID, $GUI_DEFBUTTON) GUICtrlSetState($iMachID, $GUI_FOCUS) EndIf EndIf Case $bInputClose ExitLoop EndSwitch Until $msgI = $GUI_EVENT_CLOSE GUIDelete($guiMain) EndFunc ;==>_Main ;test new Add Order entries Func AddEditEntryTest($LineNo, $SKLHVPOS, ByRef $rErrAdd, ByRef $rowErr, ByRef $OrdData, ByRef $rPos, ByRef $rName, ByRef $rQnt, ByRef $rVal, ByRef $rSold, ByRef $NotUsed) Local $TxtSrchPos If StringLen($LineNo) < 2 Then $LineNo = " " & $LineNo If StringStripWS(GUICtrlRead($rPos), 3) = "" Then $OrdData &= Chr(59) & Chr(59) & Chr(59) & Chr(59) & Chr(59) $NotUsed += 1 Else If StringStripWS(GUICtrlRead($rPos), 3) = "" Then $rErrAdd &= "Item " & $LineNo & " Position entry is empty." & @CRLF $rowErr = True EndIf $TxtSrchPos = StringInStr($SKLHVPOS, "|" & StringStripWS(GUICtrlRead($rPos), 3) & "|") If $TxtSrchPos = 0 Then $rErrAdd &= "Item " & $LineNo & " Position entry is not a past or current designated Position name for" & @CRLF & _ "this machine type." & @CRLF $rowErr = True EndIf _GUICtrlEdit_SetText($rName, StringStripWS(_GUICtrlEdit_GetText($rName), 3)) If _GUICtrlEdit_GetText($rName) = "" Then $rErrAdd &= "Item " & $LineNo & " Name entry is empty." & @CRLF $rowErr = True EndIf If Not StringIsInt(GUICtrlRead($rQnt)) Then $rErrAdd &= "Item " & $LineNo & " Quantity not an integer value." & @CRLF $rowErr = True EndIf If GUICtrlRead($rQnt) = 0 And GUICtrlRead($rSold) = 1 Then $rErrAdd &= "Item " & $LineNo & " Sold is checked when Quantity Sold is zero." & @CRLF $rowErr = True EndIf _GUICtrlEdit_SetText($rVal, StringStripWS(_GUICtrlEdit_GetText($rVal), 8)) If StringMid(_GUICtrlEdit_GetText($rVal), 1, 1) = "$" Then _GUICtrlEdit_SetText($rVal, StringMid(_GUICtrlEdit_GetText($rVal), 2, StringLen(_GUICtrlEdit_GetText($rVal)))) If StringIsFloat(_GUICtrlEdit_GetText($rVal)) Then _GUICtrlEdit_SetText($rVal, StringFormat("%.2f", _GUICtrlEdit_GetText($rVal))) $OrdData &= Chr(59) & _GUICtrlEdit_GetText($rPos) & Chr(59) & _GUICtrlEdit_GetText($rName) & Chr(59) & _GUICtrlEdit_GetText($rVal) & Chr(59) & _ GUICtrlRead($rQnt) & Chr(59) & GUICtrlRead($rSold) _GUICtrlEdit_SetText($rVal, "$" & _GUICtrlEdit_GetText($rVal)) Else $rErrAdd &= "Item " & $LineNo & " Item Value is either missing or not correct format, $n.nn" & @CRLF If GUICtrlRead($rSold) = 1 Then $rErrAdd &= "Line " & $LineNo & " Sold checkbox is checked but no valid Item Value entered." & @CRLF $rowErr = True EndIf EndIf EndFunc ;==>AddEditEntryTest ;add new order to mach id database Func AddNewOrders($machID, $machType, $TypeArray) Local $guiAdd, $guiErr Local $msgA, $msgErr Local $bCancel, $bAccept, $bErrorClose Local $LTimeStamp, $LPic Local $eCollCount, $Inc Local $PicDir Local $r1Pos, $r2Pos, $r3Pos, $r4Pos, $r5Pos, $r6Pos, $r7Pos, $r8Pos, $r9Pos, $r10Pos, $r11Pos, $r12Pos, $r13Pos, $r14Pos, $r15Pos, $r16Pos, $r17Pos, $r18Pos, $r19Pos, $r20Pos Local $r1Name, $r2Name, $r3Name, $r4Name, $r5Name, $r6Name, $r7Name, $r8Name, $r9Name, $r10Name Local $r11Name, $r12Name, $r13Name, $r14Name, $r15Name, $r16Name, $r17Name, $r18Name, $r19Name, $r20Name Local $r1Val, $r2Val, $r3Val, $r4Val, $r5Val, $r6Val, $r7Val, $r8Val, $r9Val, $r10Val, $r11Val, $r12Val, $r13Val, $r14Val, $r15Val, $r16Val, $r17Val, $r18Val, $r19Val, $r20Val Local $r1Qnt, $r2Qnt, $r3Qnt, $r4Qnt, $r5Qnt, $r6Qnt, $r7Qnt, $r8Qnt, $r9Qnt, $r10Qnt, $r11Qnt, $r12Qnt, $r13Qnt, $r14Qnt, $r15Qnt, $r16Qnt, $r17Qnt, $r18Qnt, $r19Qnt, $r20Qnt Local $r1Sold, $r2Sold, $r3Sold, $r4Sold, $r5Sold, $r6Sold, $r7Sold, $r8Sold, $r9Sold, $r10Sold, $r11Sold, $r12Sold, $r13Sold, $r14Sold, $r15Sold, $r16Sold, $r17Sold, $r18Sold, $r19Sold, $r20Sold Local $rErrAdd Local $fileh, $filepath Local $OrdData Local $rowErr, $CTR, $NU Local $SKLHVPOS Local $pictMT Local $CArray, $SKLArray[0] $guiAdd = GUICreate("Add New Order", 1000, 800, 150, 150, BitOR($WS_SYSMENU, $WS_MINIMIZEBOX), -1) $LTimeStamp = GUICtrlCreateLabel(StringStripWS(StringReplace(StringReplace(StringReplace(_NowCalc(), " ", "_", 1), ":", ""), "/", ""), 3), 20, 5, 390, 25, $SS_CENTER) GUICtrlSetFont($LTimeStamp, 11, 500, 1, "Arial Bold", 5) GUICtrlCreateGroup("", 10, 23, 403, 46) GUICtrlSetFont(GUICtrlCreateLabel("Machine ID: " & $machID, 20, 40, 155, 25, $SS_LEFT), 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Order Counter: ", 215, 40, 110, 25, $SS_RIGHT), 10, 500, 1, "Arial Bold", 5) $eCollCount = _GUICtrlEdit_Create($guiAdd, "", 330, 37, 70, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Position", 50, 105, 116, 25, $SS_CENTER), 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Item Name", 176, 105, 156, 25, $SS_CENTER), 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Item Value", 342, 90, 60, 50, $SS_CENTER), 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Quantity Sold", 402, 90, 80, 50, $SS_CENTER), 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Sold", 476, 105, 60, 25, $SS_CENTER), 10, 500, 1, "Arial Bold", 5) ;Picture of Mach ID product position $LPic = GUICtrlCreateLabel($machType, 550, 25, 390, 20, $SS_CENTER) GUICtrlSetFont($LPic, 10, 700, -1, "Arial Bold", 5) $PicDir = @ScriptDir & "\Images\" & $machType & ".jpg" If $machType = "" Then GUICtrlSetData($LPic, "< MACHINE TYPE UNKNOWN >") $pictMT = GUICtrlCreatePic($defPic, 580, 50, 360, 360) GUICtrlSetImage($pictMT, $defPic) Else If FileExists($PicDir) Then $pictMT = GUICtrlCreatePic($PicDir, 580, 50, 360, 360) GUICtrlSetImage($pictMT, $PicDir) Else GUICtrlSetData($LPic, $machType & " --- NO PICTURE AVAILABLE") $pictMT = GUICtrlCreatePic($defPic, 580, 50, 360, 360) GUICtrlSetImage($pictMT, $defPic) EndIf EndIf ;create empty edit controls and labels GUICtrlCreateLabel("Item 1", 5, 133, 40, 25, $SS_LEFT) $r1Pos = GUICtrlCreateCombo("", 50, 132, 116, 25) $r1Name = _GUICtrlEdit_Create($guiAdd, "", 176, 130, 156, 25, $ES_LEFT) $r1Val = _GUICtrlEdit_Create($guiAdd, "", 342, 130, 60, 25, $ES_RIGHT) $r1Qnt = GUICtrlCreateCombo("", 412, 132, 60, 25) GUICtrlSetData($r1Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r1Qnt, $GUI_DISABLE) $r1Sold = GUICtrlCreateCheckbox("", 500, 130, 25, 25) GUICtrlCreateLabel("Item 2", 5, 163, 40, 25, $SS_LEFT) $r2Pos = GUICtrlCreateCombo("", 50, 162, 116, 25) $r2Name = _GUICtrlEdit_Create($guiAdd, "", 176, 160, 156, 25, $ES_LEFT) $r2Val = _GUICtrlEdit_Create($guiAdd, "", 342, 160, 60, 25, $ES_RIGHT) $r2Qnt = GUICtrlCreateCombo("", 412, 162, 60, 25) GUICtrlSetData($r2Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r2Qnt, $GUI_DISABLE) $r2Sold = GUICtrlCreateCheckbox("", 500, 160, 25, 25) GUICtrlCreateLabel("Item 3", 5, 193, 40, 25, $SS_LEFT) $r3Pos = GUICtrlCreateCombo("", 50, 192, 116, 25) $r3Name = _GUICtrlEdit_Create($guiAdd, "", 176, 190, 156, 25, $ES_LEFT) $r3Val = _GUICtrlEdit_Create($guiAdd, "", 342, 190, 60, 25, $ES_RIGHT) $r3Qnt = GUICtrlCreateCombo("", 412, 192, 60, 25) GUICtrlSetData($r3Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r3Qnt, $GUI_DISABLE) $r3Sold = GUICtrlCreateCheckbox("", 500, 190, 25, 25) GUICtrlCreateLabel("Item 4", 5, 223, 40, 25, $SS_LEFT) $r4Pos = GUICtrlCreateCombo("", 50, 222, 116, 25) $r4Name = _GUICtrlEdit_Create($guiAdd, "", 176, 220, 156, 25, $ES_LEFT) $r4Val = _GUICtrlEdit_Create($guiAdd, "", 342, 220, 60, 25, $ES_RIGHT) $r4Qnt = GUICtrlCreateCombo("", 412, 222, 60, 25) GUICtrlSetData($r4Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r4Qnt, $GUI_DISABLE) $r4Sold = GUICtrlCreateCheckbox("", 500, 220, 25, 25) GUICtrlCreateLabel("Item 5", 5, 253, 40, 25, $SS_LEFT) $r5Pos = GUICtrlCreateCombo("", 50, 252, 116, 25) $r5Name = _GUICtrlEdit_Create($guiAdd, "", 176, 250, 156, 25, $ES_LEFT) $r5Val = _GUICtrlEdit_Create($guiAdd, "", 342, 250, 60, 25, $ES_RIGHT) $r5Qnt = GUICtrlCreateCombo("", 412, 252, 60, 25) GUICtrlSetData($r5Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r5Qnt, $GUI_DISABLE) $r5Sold = GUICtrlCreateCheckbox("", 500, 250, 25, 25) GUICtrlCreateLabel("Item 6", 5, 283, 40, 25, $SS_LEFT) $r6Pos = GUICtrlCreateCombo("", 50, 282, 116, 25) $r6Name = _GUICtrlEdit_Create($guiAdd, "", 176, 280, 156, 25, $ES_LEFT) $r6Val = _GUICtrlEdit_Create($guiAdd, "", 342, 280, 60, 25, $ES_RIGHT) $r6Qnt = GUICtrlCreateCombo("", 412, 282, 60, 25) GUICtrlSetData($r6Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r6Qnt, $GUI_DISABLE) $r6Sold = GUICtrlCreateCheckbox("", 500, 280, 25, 25) GUICtrlCreateLabel("Item 7", 5, 313, 40, 25, $SS_LEFT) $r7Pos = GUICtrlCreateCombo("", 50, 312, 116, 25) $r7Name = _GUICtrlEdit_Create($guiAdd, "", 176, 310, 156, 25, $ES_LEFT) $r7Val = _GUICtrlEdit_Create($guiAdd, "", 342, 310, 60, 25, $ES_RIGHT) $r7Qnt = GUICtrlCreateCombo("", 412, 312, 60, 25) GUICtrlSetData($r7Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r7Qnt, $GUI_DISABLE) $r7Sold = GUICtrlCreateCheckbox("", 500, 310, 25, 25) GUICtrlCreateLabel("Item 8", 5, 343, 40, 25, $SS_LEFT) $r8Pos = GUICtrlCreateCombo("", 50, 342, 116, 25) $r8Name = _GUICtrlEdit_Create($guiAdd, "", 176, 340, 156, 25, $ES_LEFT) $r8Val = _GUICtrlEdit_Create($guiAdd, "", 342, 340, 60, 25, $ES_RIGHT) $r8Qnt = GUICtrlCreateCombo("", 412, 342, 60, 25) GUICtrlSetData($r8Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r8Qnt, $GUI_DISABLE) $r8Sold = GUICtrlCreateCheckbox("", 500, 340, 25, 25) GUICtrlCreateLabel("Item 9", 5, 373, 40, 25, $SS_LEFT) $r9Pos = GUICtrlCreateCombo("", 50, 372, 116, 25) $r9Name = _GUICtrlEdit_Create($guiAdd, "", 176, 370, 156, 25, $ES_LEFT) $r9Val = _GUICtrlEdit_Create($guiAdd, "", 342, 370, 60, 25, $ES_RIGHT) $r9Qnt = GUICtrlCreateCombo("", 412, 372, 60, 25) GUICtrlSetData($r9Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r9Qnt, $GUI_DISABLE) $r9Sold = GUICtrlCreateCheckbox("", 500, 370, 25, 25) GUICtrlCreateLabel("Item 10", 5, 403, 40, 25, $SS_LEFT) $r10Pos = GUICtrlCreateCombo("", 50, 402, 116, 25) $r10Name = _GUICtrlEdit_Create($guiAdd, "", 176, 400, 156, 25, $ES_LEFT) $r10Val = _GUICtrlEdit_Create($guiAdd, "", 342, 400, 60, 25, $ES_RIGHT) $r10Qnt = GUICtrlCreateCombo("", 412, 402, 60, 25) GUICtrlSetData($r10Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r10Qnt, $GUI_DISABLE) $r10Sold = GUICtrlCreateCheckbox("", 500, 400, 25, 25) GUICtrlCreateLabel("Item 11", 5, 433, 40, 25, $SS_LEFT) $r11Pos = GUICtrlCreateCombo("", 50, 432, 116, 25) $r11Name = _GUICtrlEdit_Create($guiAdd, "", 176, 430, 156, 25, $ES_LEFT) $r11Val = _GUICtrlEdit_Create($guiAdd, "", 342, 430, 60, 25, $ES_RIGHT) $r11Qnt = GUICtrlCreateCombo("", 412, 432, 60, 25) GUICtrlSetData($r11Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r11Qnt, $GUI_DISABLE) $r11Sold = GUICtrlCreateCheckbox("", 500, 430, 25, 25) GUICtrlCreateLabel("Item 12", 5, 463, 40, 25, $SS_LEFT) $r12Pos = GUICtrlCreateCombo("", 50, 462, 116, 25) $r12Name = _GUICtrlEdit_Create($guiAdd, "", 176, 460, 156, 25, $ES_LEFT) $r12Val = _GUICtrlEdit_Create($guiAdd, "", 342, 460, 60, 25, $ES_RIGHT) $r12Qnt = GUICtrlCreateCombo("", 412, 462, 60, 25) GUICtrlSetData($r12Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r12Qnt, $GUI_DISABLE) $r12Sold = GUICtrlCreateCheckbox("", 500, 460, 25, 25) GUICtrlCreateLabel("Item 13", 5, 493, 40, 25, $SS_LEFT) $r13Pos = GUICtrlCreateCombo("", 50, 492, 116, 25) $r13Name = _GUICtrlEdit_Create($guiAdd, "", 176, 490, 156, 25, $ES_LEFT) $r13Val = _GUICtrlEdit_Create($guiAdd, "", 342, 490, 60, 25, $ES_RIGHT) $r13Qnt = GUICtrlCreateCombo("", 412, 492, 60, 25) GUICtrlSetData($r13Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r13Qnt, $GUI_DISABLE) $r13Sold = GUICtrlCreateCheckbox("", 500, 490, 25, 25) GUICtrlCreateLabel("Item 14", 5, 523, 40, 25, $SS_LEFT) $r14Pos = GUICtrlCreateCombo("", 50, 522, 116, 25) $r14Name = _GUICtrlEdit_Create($guiAdd, "", 176, 520, 156, 25, $ES_LEFT) $r14Val = _GUICtrlEdit_Create($guiAdd, "", 342, 520, 60, 25, $ES_RIGHT) $r14Qnt = GUICtrlCreateCombo("", 412, 522, 60, 25) GUICtrlSetData($r14Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r14Qnt, $GUI_DISABLE) $r14Sold = GUICtrlCreateCheckbox("", 500, 520, 25, 25) GUICtrlCreateLabel("Item 15", 5, 553, 40, 25, $SS_LEFT) $r15Pos = GUICtrlCreateCombo("", 50, 552, 116, 25) $r15Name = _GUICtrlEdit_Create($guiAdd, "", 176, 550, 156, 25, $ES_LEFT) $r15Val = _GUICtrlEdit_Create($guiAdd, "", 342, 550, 60, 25, $ES_RIGHT) $r15Qnt = GUICtrlCreateCombo("", 412, 552, 60, 25) GUICtrlSetData($r15Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r15Qnt, $GUI_DISABLE) $r15Sold = GUICtrlCreateCheckbox("", 500, 550, 25, 25) GUICtrlCreateLabel("Item 16", 5, 583, 40, 25, $SS_LEFT) $r16Pos = GUICtrlCreateCombo("", 50, 582, 116, 25) $r16Name = _GUICtrlEdit_Create($guiAdd, "", 176, 580, 156, 25, $ES_LEFT) $r16Val = _GUICtrlEdit_Create($guiAdd, "", 342, 580, 60, 25, $ES_RIGHT) $r16Qnt = GUICtrlCreateCombo("", 412, 582, 60, 25) GUICtrlSetData($r16Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r16Qnt, $GUI_DISABLE) $r16Sold = GUICtrlCreateCheckbox("", 500, 580, 25, 25) GUICtrlCreateLabel("Item 17", 5, 613, 40, 25, $SS_LEFT) $r17Pos = GUICtrlCreateCombo("", 50, 612, 116, 25) $r17Name = _GUICtrlEdit_Create($guiAdd, "", 176, 610, 156, 25, $ES_LEFT) $r17Val = _GUICtrlEdit_Create($guiAdd, "", 342, 610, 60, 25, $ES_RIGHT) $r17Qnt = GUICtrlCreateCombo("", 412, 612, 60, 25) GUICtrlSetData($r17Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r17Qnt, $GUI_DISABLE) $r17Sold = GUICtrlCreateCheckbox("", 500, 610, 25, 25) GUICtrlCreateLabel("Item 18", 5, 643, 40, 25, $SS_LEFT) $r18Pos = GUICtrlCreateCombo("", 50, 642, 116, 25) $r18Name = _GUICtrlEdit_Create($guiAdd, "", 176, 640, 156, 25, $ES_LEFT) $r18Val = _GUICtrlEdit_Create($guiAdd, "", 342, 640, 60, 25, $ES_RIGHT) $r18Qnt = GUICtrlCreateCombo("", 412, 642, 60, 25) GUICtrlSetData($r18Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r18Qnt, $GUI_DISABLE) $r18Sold = GUICtrlCreateCheckbox("", 500, 640, 25, 25) GUICtrlCreateLabel("Item 19", 5, 673, 40, 25, $SS_LEFT) $r19Pos = GUICtrlCreateCombo("", 50, 672, 116, 25) $r19Name = _GUICtrlEdit_Create($guiAdd, "", 176, 670, 156, 25, $ES_LEFT) $r19Val = _GUICtrlEdit_Create($guiAdd, "", 342, 670, 60, 25, $ES_RIGHT) $r19Qnt = GUICtrlCreateCombo("", 412, 672, 60, 25) GUICtrlSetData($r19Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r19Qnt, $GUI_DISABLE) $r19Sold = GUICtrlCreateCheckbox("", 500, 670, 25, 25) GUICtrlCreateLabel("Item 20", 5, 703, 40, 25, $SS_LEFT) $r20Pos = GUICtrlCreateCombo("", 50, 702, 116, 25) $r20Name = _GUICtrlEdit_Create($guiAdd, "", 176, 700, 156, 25, $ES_LEFT) $r20Val = _GUICtrlEdit_Create($guiAdd, "", 342, 700, 60, 25, $ES_RIGHT) $r20Qnt = GUICtrlCreateCombo("", 412, 702, 60, 25) GUICtrlSetData($r20Qnt, "0|1|2|3|4|5|6|7|8|9|10", "0") GUICtrlSetState($r20Qnt, $GUI_DISABLE) $r20Sold = GUICtrlCreateCheckbox("", 500, 700, 25, 25) $bAccept = GUICtrlCreateButton("Accept", 835, 728, 60, 25) $bCancel = GUICtrlCreateButton("Cancel", 915, 728, 60, 25) ;Position description assigned based on the six Machine Types For $x = 0 To UBound($TypeArray, $UBOUND_ROWS) - 1 If $machType = $TypeArray[$x][0] Then $SKLHVPOS = $TypeArray[$x][1] Next ;remove empty position description entries from $SKLHVPOS $CArray = _StringBetween($SKLHVPOS, "|", "|") For $x = 0 To UBound($CArray) - 1 If StringStripWS($CArray[$x], 3) <> "" Then ReDim $SKLArray[UBound($SKLArray) + 1] $SKLArray[$Inc] = $CArray[$x] $Inc += 1 EndIf Next $SKLHVPOS = "|" For $x = 0 To UBound($SKLArray) - 1 $SKLHVPOS &= $SKLArray[$x] & "|" Next ;assign $SKLHVPOS to position combo boxes GUICtrlSetData($r1Pos, $SKLHVPOS, "") GUICtrlSetData($r2Pos, $SKLHVPOS, "") GUICtrlSetData($r3Pos, $SKLHVPOS, "") GUICtrlSetData($r4Pos, $SKLHVPOS, "") GUICtrlSetData($r5Pos, $SKLHVPOS, "") GUICtrlSetData($r6Pos, $SKLHVPOS, "") GUICtrlSetData($r7Pos, $SKLHVPOS, "") GUICtrlSetData($r8Pos, $SKLHVPOS, "") GUICtrlSetData($r9Pos, $SKLHVPOS, "") GUICtrlSetData($r10Pos, $SKLHVPOS, "") GUICtrlSetData($r11Pos, $SKLHVPOS, "") GUICtrlSetData($r12Pos, $SKLHVPOS, "") GUICtrlSetData($r13Pos, $SKLHVPOS, "") GUICtrlSetData($r14Pos, $SKLHVPOS, "") GUICtrlSetData($r15Pos, $SKLHVPOS, "") GUICtrlSetData($r16Pos, $SKLHVPOS, "") GUICtrlSetData($r17Pos, $SKLHVPOS, "") GUICtrlSetData($r18Pos, $SKLHVPOS, "") GUICtrlSetData($r19Pos, $SKLHVPOS, "") GUICtrlSetData($r20Pos, $SKLHVPOS, "") GUISetState(@SW_SHOW, $guiAdd) Do $msgA = GUIGetMsg() Switch $msgA Case $bAccept $rowErr = False $rErrAdd = "" ;check for valid counter $CTR = StringStripWS(_GUICtrlEdit_GetText($eCollCount), 8) If $CTR <> "" And Not StringIsDigit($CTR) Then $rErrAdd &= "Counter entry is not in an integer format." & Chr(59) $rowErr = True EndIf $OrdData = Chr(59) & GUICtrlRead($LTimeStamp) & Chr(59) & $CTR $NU = 0 ;Row 1 AddEditEntryTest(1, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r1Pos, $r1Name, $r1Qnt, $r1Val, $r1Sold, $NU) ;Row 2 AddEditEntryTest(2, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r2Pos, $r2Name, $r2Qnt, $r2Val, $r2Sold, $NU) ;Row 3 AddEditEntryTest(3, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r3Pos, $r3Name, $r3Qnt, $r3Val, $r3Sold, $NU) ;Row 4 AddEditEntryTest(4, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r4Pos, $r4Name, $r4Qnt, $r4Val, $r4Sold, $NU) ;Row 5 AddEditEntryTest(5, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r5Pos, $r5Name, $r5Qnt, $r5Val, $r5Sold, $NU) ;Row 6 AddEditEntryTest(6, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r6Pos, $r6Name, $r6Qnt, $r6Val, $r6Sold, $NU) ;Row 7 AddEditEntryTest(7, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r7Pos, $r7Name, $r7Qnt, $r7Val, $r7Sold, $NU) ;Row 8 AddEditEntryTest(8, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r8Pos, $r8Name, $r8Qnt, $r8Val, $r8Sold, $NU) ;Row 9 AddEditEntryTest(9, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r9Pos, $r9Name, $r9Qnt, $r9Val, $r9Sold, $NU) ;Row 10 AddEditEntryTest(10, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r10Pos, $r10Name, $r10Qnt, $r10Val, $r10Sold, $NU) ;Row 11 AddEditEntryTest(11, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r11Pos, $r11Name, $r11Qnt, $r11Val, $r11Sold, $NU) ;Row 12 AddEditEntryTest(12, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r12Pos, $r12Name, $r12Qnt, $r12Val, $r12Sold, $NU) ;Row 13 AddEditEntryTest(13, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r13Pos, $r13Name, $r13Qnt, $r13Val, $r13Sold, $NU) ;Row 14 AddEditEntryTest(14, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r14Pos, $r14Name, $r14Qnt, $r14Val, $r14Sold, $NU) ;Row 15 AddEditEntryTest(15, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r15Pos, $r15Name, $r15Qnt, $r15Val, $r15Sold, $NU) ;Row 16 AddEditEntryTest(16, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r16Pos, $r16Name, $r16Qnt, $r16Val, $r16Sold, $NU) ;Row 17 AddEditEntryTest(17, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r17Pos, $r17Name, $r17Qnt, $r17Val, $r17Sold, $NU) ;Row 18 AddEditEntryTest(18, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r18Pos, $r18Name, $r18Qnt, $r18Val, $r18Sold, $NU) ;Row 19 AddEditEntryTest(19, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r19Pos, $r19Name, $r19Qnt, $r19Val, $r19Sold, $NU) ;Row 20 AddEditEntryTest(20, $SKLHVPOS, $rErrAdd, $rowErr, $OrdData, $r20Pos, $r20Name, $r20Qnt, $r20Val, $r20Sold, $NU) ;Errors listbox If $NU < 20 Then If Not $rowErr Then $filepath = @ScriptDir & "\Databases\" & $machID & "\" & GUICtrlRead($LTimeStamp) $fileh = FileOpen($filepath, 10) If $fileh = -1 Then MsgBox($MB_TASKMODAL, " File Open Error ", "The '" & GUICtrlRead($LTimeStamp) & "' timestamp data file could not be opened." & _ @CRLF & "@error = " & @error & ", @extended = " & @extended) Else If FileWrite($fileh, StringTrimLeft($OrdData, 1)) = 0 Then MsgBox($MB_TASKMODAL, " File Write Error ", "Error in writing to '" & GUICtrlRead($LTimeStamp) & _ " timestamp data file." & @CRLF & "@error = " & @error & ", @extended = " & @extended) EndIf FileClose($fileh) Else ;display Add New Orders error list box GUISetStyle(-1, $WS_EX_TOPMOST, $guiAdd) GUISetState(@SW_DISABLE, $guiAdd) $guiErr = GUICreate("Add New Order Errors", 450, 940, 1200, 80, BitOR($WS_SYSMENU, $WS_THICKFRAME)) GUICtrlSetFont(GUICtrlCreateLabel("Errors", 6, 14, 438, 30, $SS_CENTER), 12, 500, 1, "Arial Bold", 5) _GUICtrlEdit_Create($guiErr, $rErrAdd, 6, 40, 438, 820, _ BitOR($ES_MULTILINE, $ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_LEFT, $ES_READONLY)) $bErrorClose = GUICtrlCreateButton("Close", 190, 870, 60, 30) GUISetState(@SW_SHOW, $guiErr) While 1 $msgErr = GUIGetMsg() If $msgErr = $bErrorClose Or $msgErr = $GUI_EVENT_CLOSE Then GUIDelete($guiErr) ExitLoop EndIf WEnd GUISetState(@SW_ENABLE, $guiAdd) GUISetStyle(-1, -1, $guiAdd) EndIf Else MsgBox($MB_TASKMODAL, "Order Not Added", "All Positions are selected to " & @CRLF & @CRLF & _ "NOTE: If only is available in all of the Item Position drop down boxes, ensure that you have assigned designated Position descriptions for this " & _ "machine type. Use the Utilities menu's 'Designate High Value Machine Types' function to designate machine type Position description names.") $rowErr = True EndIf If Not $rowErr Then ExitLoop Case $r1Sold If $NM_CLICK Then __SoldChkSetQnt($r1Sold, $r1Qnt) Case $r2Sold If $NM_CLICK Then __SoldChkSetQnt($r2Sold, $r2Qnt) Case $r3Sold If $NM_CLICK Then __SoldChkSetQnt($r3Sold, $r3Qnt) Case $r4Sold If $NM_CLICK Then __SoldChkSetQnt($r4Sold, $r4Qnt) Case $r5Sold If $NM_CLICK Then __SoldChkSetQnt($r5Sold, $r5Qnt) Case $r6Sold If $NM_CLICK Then __SoldChkSetQnt($r6Sold, $r6Qnt) Case $r7Sold If $NM_CLICK Then __SoldChkSetQnt($r7Sold, $r7Qnt) Case $r8Sold If $NM_CLICK Then __SoldChkSetQnt($r8Sold, $r8Qnt) Case $r9Sold If $NM_CLICK Then __SoldChkSetQnt($r9Sold, $r9Qnt) Case $r10Sold If $NM_CLICK Then __SoldChkSetQnt($r10Sold, $r10Qnt) Case $r11Sold If $NM_CLICK Then __SoldChkSetQnt($r11Sold, $r11Qnt) Case $r12Sold If $NM_CLICK Then __SoldChkSetQnt($r12Sold, $r12Qnt) Case $r13Sold If $NM_CLICK Then __SoldChkSetQnt($r13Sold, $r13Qnt) Case $r14Sold If $NM_CLICK Then __SoldChkSetQnt($r14Sold, $r14Qnt) Case $r15Sold If $NM_CLICK Then __SoldChkSetQnt($r15Sold, $r15Qnt) Case $r16Sold If $NM_CLICK Then __SoldChkSetQnt($r16Sold, $r16Qnt) Case $r17Sold If $NM_CLICK Then __SoldChkSetQnt($r17Sold, $r17Qnt) Case $r18Sold If $NM_CLICK Then __SoldChkSetQnt($r18Sold, $r18Qnt) Case $r19Sold If $NM_CLICK Then __SoldChkSetQnt($r19Sold, $r19Qnt) Case $r20Sold If $NM_CLICK Then __SoldChkSetQnt($r20Sold, $r20Qnt) Case $bCancel GUIDelete($guiAdd) Return True EndSwitch Until $msgA = $GUI_EVENT_CLOSE GUIDelete($guiAdd) EndFunc ;==>AddNewOrders Func ClearHVEditFields(ByRef $r1, ByRef $r2, ByRef $r3, ByRef $r4, ByRef $r5, ByRef $r6, ByRef $r7, ByRef $r8, ByRef $r9, ByRef $r10, ByRef $r11, ByRef $r12, ByRef $r13, _ ByRef $r14, ByRef $r15, ByRef $r16, ByRef $r17, ByRef $r18, ByRef $r19, ByRef $r20) _GUICtrlEdit_SetText($r1, "") _GUICtrlEdit_SetText($r2, "") _GUICtrlEdit_SetText($r3, "") _GUICtrlEdit_SetText($r4, "") _GUICtrlEdit_SetText($r5, "") _GUICtrlEdit_SetText($r6, "") _GUICtrlEdit_SetText($r7, "") _GUICtrlEdit_SetText($r8, "") _GUICtrlEdit_SetText($r9, "") _GUICtrlEdit_SetText($r10, "") _GUICtrlEdit_SetText($r11, "") _GUICtrlEdit_SetText($r12, "") _GUICtrlEdit_SetText($r13, "") _GUICtrlEdit_SetText($r14, "") _GUICtrlEdit_SetText($r15, "") _GUICtrlEdit_SetText($r16, "") _GUICtrlEdit_SetText($r17, "") _GUICtrlEdit_SetText($r18, "") _GUICtrlEdit_SetText($r19, "") _GUICtrlEdit_SetText($r20, "") EndFunc ;==>ClearHVEditFields ;clear data fields prior to field data updating Func ClearMainDataFields(ByRef $ELTCOG, ByRef $ELTCOGPC, ByRef $eSerialNo, ByRef $eMachType, ByRef $eMachDesc, ByRef $eInstallDate, ByRef $eClientNo, ByRef $eClientName, _ ByRef $eCity, ByRef $eState, ByRef $LbCollDates, ByRef $LvPrevDate, ByRef $LvSelDate, ByRef $LvFlwDate, ByRef $LPicTitle, ByRef $LPrevTS, ByRef $LSelTS, _ ByRef $LFlwTS, ByRef $EPrevCNT, ByRef $ESelCNT, ByRef $EFlwCNT, ByRef $pictMT) GUICtrlSetData($eSerialNo, "") GUICtrlSetData($eMachType, "") GUICtrlSetData($eMachDesc, "") GUICtrlSetData($eInstallDate, "") GUICtrlSetData($eClientNo, "") GUICtrlSetData($eClientName, "") GUICtrlSetData($eCity, "") GUICtrlSetData($eState, "") GUICtrlSetData($LPicTitle, "") $pictMT = GUICtrlCreatePic($defPic, 1052, 50, 360, 360) GUICtrlSetImage($pictMT, $defPic) GUICtrlSetData($ELTCOG, "") GUICtrlSetData($ELTCOGPC, "") _GUICtrlListBox_ResetContent($LbCollDates) GUICtrlSetData($LPrevTS, "") GUICtrlSetData($LSelTS, "") GUICtrlSetData($LFlwTS, "") GUICtrlSetData($EPrevCNT, "") GUICtrlSetData($ESelCNT, "") GUICtrlSetData($EFlwCNT, "") _GUICtrlListView_DeleteAllItems($LvPrevDate) _GUICtrlListView_DeleteAllItems($LvSelDate) _GUICtrlListView_DeleteAllItems($LvFlwDate) EndFunc ;==>ClearMainDataFields ;disable controls during program actions Func DisableControls(ByRef $ELTRev, ByRef $bInputClose, ByRef $iMachID, ByRef $bFindID, ByRef $bUpLbDate, ByRef $bDownLbDate, ByRef $bFlwLvDate, ByRef $bPrevLvDate, ByRef $bAddNewOrder, _ ByRef $bEditSelOrder, ByRef $bDelSelOrder, ByRef $bArrShow, ByRef $bCalc, ByRef $LbCollDates, ByRef $clrMID, ByRef $clrRev, ByRef $bLatest, ByRef $bOrdForm) GUICtrlSetState($iMachID, $GUI_DISABLE) GUICtrlSetState($bInputClose, $GUI_DISABLE) GUICtrlSetState($bFindID, $GUI_DISABLE) GUICtrlSetState($bUpLbDate, $GUI_DISABLE) GUICtrlSetState($bDownLbDate, $GUI_DISABLE) GUICtrlSetState($bFlwLvDate, $GUI_DISABLE) GUICtrlSetState($bPrevLvDate, $GUI_DISABLE) GUICtrlSetState($bAddNewOrder, $GUI_DISABLE) GUICtrlSetState($bEditSelOrder, $GUI_DISABLE) GUICtrlSetState($bDelSelOrder, $GUI_DISABLE) GUICtrlSetState($bArrShow, $GUI_DISABLE) GUICtrlSetState($ELTRev, $GUI_DISABLE) GUICtrlSetState($bCalc, $GUI_DISABLE) GUICtrlSetState($LbCollDates, $GUI_DISABLE) GUICtrlSetState($clrMID, $GUI_DISABLE) GUICtrlSetState($clrRev, $GUI_DISABLE) GUICtrlSetState($bLatest, $GUI_DISABLE) GUICtrlSetState($bOrdForm, $GUI_DISABLE) EndFunc ;==>DisableControls ;display Mach ID Data Func DisplayMachIDArrayData(ByRef $DArray, $iMachID, ByRef $eSerialNo, ByRef $eMachType, ByRef $eMachDesc, ByRef $eInstallDate, ByRef $eClientNo, ByRef $eClientName, _ ByRef $eCity, ByRef $eState, ByRef $LPicTitle, ByRef $pictMT) Local $tDir, $tMachID Local $aIndex $tMachID = GUICtrlRead($iMachID) $aIndex = _ArraySearch($DArray, $tMachID, 0, 0, 0, 0, 1, 0, 0) If @error Then GUICtrlSetData($LPicTitle, "< MACHINE TYPE UNKNOWN >") GUICtrlDelete($pictMT) $pictMT = GUICtrlCreatePic($defPic, 1052, 50, 360, 360) GUICtrlSetImage($pictMT, $defPic) MsgBox($MB_TASKMODAL, "Machine ID Data Retrieval", "No Machine ID Match Found In Currently Imported Machine Placement By Route for Machine ID: " & $tMachID) GUICtrlSetState($iMachID, $GUI_FOCUS) Else GUICtrlSetData($eSerialNo, StringStripWS($DArray[$aIndex][3], 3)) GUICtrlSetData($eMachType, StringStripWS($DArray[$aIndex][4], 3)) GUICtrlSetData($eMachDesc, StringStripWS($DArray[$aIndex][5], 3)) GUICtrlSetData($eInstallDate, StringStripWS($DArray[$aIndex][6], 3)) GUICtrlSetData($eClientNo, StringStripWS($DArray[$aIndex][7], 3)) GUICtrlSetData($eClientName, StringStripWS($DArray[$aIndex][8], 3)) GUICtrlSetData($eCity, StringStripWS($DArray[$aIndex][10], 3)) GUICtrlSetData($eState, StringStripWS($DArray[$aIndex][12], 3)) GUICtrlSetData($LPicTitle, StringStripWS($DArray[$aIndex][4], 3)) If StringStripWS($DArray[$aIndex][4], 3) = "" Then GUICtrlSetData($LPicTitle, "< MACHINE TYPE UNKNOWN >") $pictMT = GUICtrlCreatePic($defPic, 1052, 50, 360, 360) GUICtrlSetImage($pictMT, $defPic) Else $tDir = @ScriptDir & "\Images\" & StringStripWS($DArray[$aIndex][4], 3) & ".jpg" If FileExists($tDir) Then $pictMT = GUICtrlCreatePic($tDir, 1052, 50, 360, 360) GUICtrlSetImage($pictMT, $tDir) Else GUICtrlSetData($LPicTitle, StringStripWS($DArray[$aIndex][4], 3) & " --- NO PICTURE AVAILABLE") $pictMT = GUICtrlCreatePic($defPic, 1052, 50, 360, 360) GUICtrlSetImage($pictMT, $defPic) EndIf EndIf EndIf EndFunc ;==>DisplayMachIDArrayData ;edit selected timestamp listbox orders Func EditSelOrder($machID, $machType, $LbTxtSel, $TypeArray, $pictMT) Local $guiEdit, $guiErr Local $msgA, $msgErr Local $bCancel, $bAccept, $bErrorClose Local $LPic Local $eCollCount, $Inc Local $PicDir Local $r1Pos, $r2Pos, $r3Pos, $r4Pos, $r5Pos, $r6Pos, $r7Pos, $r8Pos, $r9Pos, $r10Pos, $r11Pos, $r12Pos, $r13Pos, $r14Pos, $r15Pos, $r16Pos, $r17Pos, $r18Pos, $r19Pos, $r20Pos Local $r1Name, $r2Name, $r3Name, $r4Name, $r5Name, $r6Name, $r7Name, $r8Name, $r9Name, $r10Name Local $r11Name, $r12Name, $r13Name, $r14Name, $r15Name, $r16Name, $r17Name, $r18Name, $r19Name, $r20Name Local $r1Val, $r2Val, $r3Val, $r4Val, $r5Val, $r6Val, $r7Val, $r8Val, $r9Val, $r10Val, $r11Val, $r12Val, $r13Val, $r14Val, $r15Val, $r16Val, $r17Val, $r18Val, $r19Val, $r20Val Local $r1Qnt, $r2Qnt, $r3Qnt, $r4Qnt, $r5Qnt, $r6Qnt, $r7Qnt, $r8Qnt, $r9Qnt, $r10Qnt, $r11Qnt, $r12Qnt, $r13Qnt, $r14Qnt, $r15Qnt, $r16Qnt, $r17Qnt, $r18Qnt, $r19Qnt, $r20Qnt Local $r1Sold, $r2Sold, $r3Sold, $r4Sold, $r5Sold, $r6Sold, $r7Sold, $r8Sold, $r9Sold, $r10Sold, $r11Sold, $r12Sold, $r13Sold, $r14Sold, $r15Sold, $r16Sold, $r17Sold, $r18Sold, $r19Sold, $r20Sold Local $SKL1, $SKL2, $SKL3, $SKL4, $SKL5, $SKL6, $SKL7, $SKL8, $SKL9, $SKL10, $SKL11, $SKL12, $SKL13, $SKL14, $SKL15, $SKL16, $SKL17, $SKL18, $SKL19, $SKL20 Local $MachIDPath, $rErrAdd Local $fileh, $filepath Local $OrdData Local $rowErr, $CTR, $NU Local $SKLHVPOS Local $mArray, $CArray, $SKLArray[0] Local $readStr $guiEdit = GUICreate("Edit Order", 1000, 800, 150, 150, BitOR($WS_SYSMENU, $WS_MINIMIZEBOX), -1) GUICtrlSetFont(GUICtrlCreateLabel($LbTxtSel, 20, 5, 390, 25, $SS_CENTER), 11, 500, 1, "Arial Bold", 5) GUICtrlCreateGroup("", 10, 23, 403, 46) GUICtrlSetFont(GUICtrlCreateLabel("Machine ID: " & $machID, 20, 40, 155, 25, $SS_LEFT), 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Order Counter: ", 215, 40, 110, 25, $SS_RIGHT), 10, 500, 1, "Arial Bold", 5) $eCollCount = _GUICtrlEdit_Create($guiEdit, "", 330, 37, 70, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Position", 50, 105, 116, 25, $SS_CENTER), 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Item Name", 176, 105, 156, 25, $SS_CENTER), 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Item Value", 342, 90, 60, 50, $SS_CENTER), 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Quantity Sold", 402, 90, 80, 50, $SS_CENTER), 10, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Sold", 476, 105, 60, 25, $SS_CENTER), 10, 500, 1, "Arial Bold", 5) ;Picture of Mach ID product position $LPic = GUICtrlCreateLabel($machType, 550, 25, 390, 20, $SS_CENTER) GUICtrlSetFont($LPic, 10, 700, -1, "Arial Bold", 5) $PicDir = @ScriptDir & "\Images\" & $machType & ".jpg" If $machType = "" Then GUICtrlSetData($LPic, "< MACHINE TYPE UNKNOWN >") $pictMT = GUICtrlCreatePic($defPic, 580, 50, 360, 360) GUICtrlSetImage($pictMT, $defPic) Else If FileExists($PicDir) Then $pictMT = GUICtrlCreatePic($PicDir, 580, 50, 360, 360) GUICtrlSetImage($pictMT, $PicDir) Else GUICtrlSetData($LPic, $machType & " --- NO PICTURE AVAILABLE") $pictMT = GUICtrlCreatePic($defPic, 580, 50, 360, 360) GUICtrlSetImage($pictMT, $defPic) EndIf EndIf ;create empty edit controls and labels GUICtrlCreateLabel("Item 1", 5, 133, 40, 25, $SS_LEFT) $r1Pos = GUICtrlCreateCombo("", 50, 132, 116, 25) $r1Name = _GUICtrlEdit_Create($guiEdit, "", 176, 130, 156, 25, $ES_LEFT) $r1Val = _GUICtrlEdit_Create($guiEdit, "", 342, 130, 60, 25, $ES_RIGHT) $r1Qnt = GUICtrlCreateCombo("", 412, 132, 60, 25) GUICtrlSetState($r1Qnt, $GUI_DISABLE) $r1Sold = GUICtrlCreateCheckbox("", 500, 130, 25, 25) GUICtrlCreateLabel("Item 2", 5, 163, 40, 25, $SS_LEFT) $r2Pos = GUICtrlCreateCombo("", 50, 162, 116, 25) $r2Name = _GUICtrlEdit_Create($guiEdit, "", 176, 160, 156, 25, $ES_LEFT) $r2Val = _GUICtrlEdit_Create($guiEdit, "", 342, 160, 60, 25, $ES_RIGHT) $r2Qnt = GUICtrlCreateCombo("", 412, 162, 60, 25) GUICtrlSetState($r2Qnt, $GUI_DISABLE) $r2Sold = GUICtrlCreateCheckbox("", 500, 160, 25, 25) GUICtrlCreateLabel("Item 3", 5, 193, 40, 25, $SS_LEFT) $r3Pos = GUICtrlCreateCombo("", 50, 192, 116, 25) $r3Name = _GUICtrlEdit_Create($guiEdit, "", 176, 190, 156, 25, $ES_LEFT) $r3Val = _GUICtrlEdit_Create($guiEdit, "", 342, 190, 60, 25, $ES_RIGHT) $r3Qnt = GUICtrlCreateCombo("", 412, 192, 60, 25) GUICtrlSetState($r3Qnt, $GUI_DISABLE) $r3Sold = GUICtrlCreateCheckbox("", 500, 190, 25, 25) GUICtrlCreateLabel("Item 4", 5, 223, 40, 25, $SS_LEFT) $r4Pos = GUICtrlCreateCombo("", 50, 222, 116, 25) $r4Name = _GUICtrlEdit_Create($guiEdit, "", 176, 220, 156, 25, $ES_LEFT) $r4Val = _GUICtrlEdit_Create($guiEdit, "", 342, 220, 60, 25, $ES_RIGHT) $r4Qnt = GUICtrlCreateCombo("", 412, 222, 60, 25) GUICtrlSetState($r4Qnt, $GUI_DISABLE) $r4Sold = GUICtrlCreateCheckbox("", 500, 220, 25, 25) GUICtrlCreateLabel("Item 5", 5, 253, 40, 25, $SS_LEFT) $r5Pos = GUICtrlCreateCombo("", 50, 252, 116, 25) $r5Name = _GUICtrlEdit_Create($guiEdit, "", 176, 250, 156, 25, $ES_LEFT) $r5Val = _GUICtrlEdit_Create($guiEdit, "", 342, 250, 60, 25, $ES_RIGHT) $r5Qnt = GUICtrlCreateCombo("", 412, 252, 60, 25) GUICtrlSetState($r5Qnt, $GUI_DISABLE) $r5Sold = GUICtrlCreateCheckbox("", 500, 250, 25, 25) GUICtrlCreateLabel("Item 6", 5, 283, 40, 25, $SS_LEFT) $r6Pos = GUICtrlCreateCombo("", 50, 282, 116, 25) $r6Name = _GUICtrlEdit_Create($guiEdit, "", 176, 280, 156, 25, $ES_LEFT) $r6Val = _GUICtrlEdit_Create($guiEdit, "", 342, 280, 60, 25, $ES_RIGHT) $r6Qnt = GUICtrlCreateCombo("", 412, 282, 60, 25) GUICtrlSetState($r6Qnt, $GUI_DISABLE) $r6Sold = GUICtrlCreateCheckbox("", 500, 280, 25, 25) GUICtrlCreateLabel("Item 7", 5, 313, 40, 25, $SS_LEFT) $r7Pos = GUICtrlCreateCombo("", 50, 312, 116, 25) $r7Name = _GUICtrlEdit_Create($guiEdit, "", 176, 310, 156, 25, $ES_LEFT) $r7Val = _GUICtrlEdit_Create($guiEdit, "", 342, 310, 60, 25, $ES_RIGHT) $r7Qnt = GUICtrlCreateCombo("", 412, 312, 60, 25) GUICtrlSetState($r7Qnt, $GUI_DISABLE) $r7Sold = GUICtrlCreateCheckbox("", 500, 310, 25, 25) GUICtrlCreateLabel("Item 8", 5, 343, 40, 25, $SS_LEFT) $r8Pos = GUICtrlCreateCombo("", 50, 342, 116, 25) $r8Name = _GUICtrlEdit_Create($guiEdit, "", 176, 340, 156, 25, $ES_LEFT) $r8Val = _GUICtrlEdit_Create($guiEdit, "", 342, 340, 60, 25, $ES_RIGHT) $r8Qnt = GUICtrlCreateCombo("", 412, 342, 60, 25) GUICtrlSetState($r8Qnt, $GUI_DISABLE) $r8Sold = GUICtrlCreateCheckbox("", 500, 340, 25, 25) GUICtrlCreateLabel("Item 9", 5, 373, 40, 25, $SS_LEFT) $r9Pos = GUICtrlCreateCombo("", 50, 372, 116, 25) $r9Name = _GUICtrlEdit_Create($guiEdit, "", 176, 370, 156, 25, $ES_LEFT) $r9Val = _GUICtrlEdit_Create($guiEdit, "", 342, 370, 60, 25, $ES_RIGHT) $r9Qnt = GUICtrlCreateCombo("", 412, 372, 60, 25) GUICtrlSetState($r9Qnt, $GUI_DISABLE) $r9Sold = GUICtrlCreateCheckbox("", 500, 370, 25, 25) GUICtrlCreateLabel("Item 10", 5, 403, 40, 25, $SS_LEFT) $r10Pos = GUICtrlCreateCombo("", 50, 402, 116, 25) $r10Name = _GUICtrlEdit_Create($guiEdit, "", 176, 400, 156, 25, $ES_LEFT) $r10Val = _GUICtrlEdit_Create($guiEdit, "", 342, 400, 60, 25, $ES_RIGHT) $r10Qnt = GUICtrlCreateCombo("", 412, 402, 60, 25) GUICtrlSetState($r10Qnt, $GUI_DISABLE) $r10Sold = GUICtrlCreateCheckbox("", 500, 400, 25, 25) GUICtrlCreateLabel("Item 11", 5, 433, 40, 25, $SS_LEFT) $r11Pos = GUICtrlCreateCombo("", 50, 432, 116, 25) $r11Name = _GUICtrlEdit_Create($guiEdit, "", 176, 430, 156, 25, $ES_LEFT) $r11Val = _GUICtrlEdit_Create($guiEdit, "", 342, 430, 60, 25, $ES_RIGHT) $r11Qnt = GUICtrlCreateCombo("", 412, 432, 60, 25) GUICtrlSetState($r11Qnt, $GUI_DISABLE) $r11Sold = GUICtrlCreateCheckbox("", 500, 430, 25, 25) GUICtrlCreateLabel("Item 12", 5, 463, 40, 25, $SS_LEFT) $r12Pos = GUICtrlCreateCombo("", 50, 462, 116, 25) $r12Name = _GUICtrlEdit_Create($guiEdit, "", 176, 460, 156, 25, $ES_LEFT) $r12Val = _GUICtrlEdit_Create($guiEdit, "", 342, 460, 60, 25, $ES_RIGHT) $r12Qnt = GUICtrlCreateCombo("", 412, 462, 60, 25) GUICtrlSetState($r12Qnt, $GUI_DISABLE) $r12Sold = GUICtrlCreateCheckbox("", 500, 460, 25, 25) GUICtrlCreateLabel("Item 13", 5, 493, 40, 25, $SS_LEFT) $r13Pos = GUICtrlCreateCombo("", 50, 492, 116, 25) $r13Name = _GUICtrlEdit_Create($guiEdit, "", 176, 490, 156, 25, $ES_LEFT) $r13Val = _GUICtrlEdit_Create($guiEdit, "", 342, 490, 60, 25, $ES_RIGHT) $r13Qnt = GUICtrlCreateCombo("", 412, 492, 60, 25) GUICtrlSetState($r13Qnt, $GUI_DISABLE) $r13Sold = GUICtrlCreateCheckbox("", 500, 490, 25, 25) GUICtrlCreateLabel("Item 14", 5, 523, 40, 25, $SS_LEFT) $r14Pos = GUICtrlCreateCombo("", 50, 522, 116, 25) $r14Name = _GUICtrlEdit_Create($guiEdit, "", 176, 520, 156, 25, $ES_LEFT) $r14Val = _GUICtrlEdit_Create($guiEdit, "", 342, 520, 60, 25, $ES_RIGHT) $r14Qnt = GUICtrlCreateCombo("", 412, 522, 60, 25) GUICtrlSetState($r14Qnt, $GUI_DISABLE) $r14Sold = GUICtrlCreateCheckbox("", 500, 520, 25, 25) GUICtrlCreateLabel("Item 15", 5, 553, 40, 25, $SS_LEFT) $r15Pos = GUICtrlCreateCombo("", 50, 552, 116, 25) $r15Name = _GUICtrlEdit_Create($guiEdit, "", 176, 550, 156, 25, $ES_LEFT) $r15Val = _GUICtrlEdit_Create($guiEdit, "", 342, 550, 60, 25, $ES_RIGHT) $r15Qnt = GUICtrlCreateCombo("", 412, 552, 60, 25) GUICtrlSetState($r15Qnt, $GUI_DISABLE) $r15Sold = GUICtrlCreateCheckbox("", 500, 550, 25, 25) GUICtrlCreateLabel("Item 16", 5, 583, 40, 25, $SS_LEFT) $r16Pos = GUICtrlCreateCombo("", 50, 582, 116, 25) $r16Name = _GUICtrlEdit_Create($guiEdit, "", 176, 580, 156, 25, $ES_LEFT) $r16Val = _GUICtrlEdit_Create($guiEdit, "", 342, 580, 60, 25, $ES_RIGHT) $r16Qnt = GUICtrlCreateCombo("", 412, 582, 60, 25) GUICtrlSetState($r16Qnt, $GUI_DISABLE) $r16Sold = GUICtrlCreateCheckbox("", 500, 580, 25, 25) GUICtrlCreateLabel("Item 17", 5, 613, 40, 25, $SS_LEFT) $r17Pos = GUICtrlCreateCombo("", 50, 612, 116, 25) $r17Name = _GUICtrlEdit_Create($guiEdit, "", 176, 610, 156, 25, $ES_LEFT) $r17Val = _GUICtrlEdit_Create($guiEdit, "", 342, 610, 60, 25, $ES_RIGHT) $r17Qnt = GUICtrlCreateCombo("", 412, 612, 60, 25) GUICtrlSetState($r17Qnt, $GUI_DISABLE) $r17Sold = GUICtrlCreateCheckbox("", 500, 610, 25, 25) GUICtrlCreateLabel("Item 18", 5, 643, 40, 25, $SS_LEFT) $r18Pos = GUICtrlCreateCombo("", 50, 642, 116, 25) $r18Name = _GUICtrlEdit_Create($guiEdit, "", 176, 640, 156, 25, $ES_LEFT) $r18Val = _GUICtrlEdit_Create($guiEdit, "", 342, 640, 60, 25, $ES_RIGHT) $r18Qnt = GUICtrlCreateCombo("", 412, 642, 60, 25) GUICtrlSetState($r18Qnt, $GUI_DISABLE) $r18Sold = GUICtrlCreateCheckbox("", 500, 640, 25, 25) GUICtrlCreateLabel("Item 19", 5, 673, 40, 25, $SS_LEFT) $r19Pos = GUICtrlCreateCombo("", 50, 672, 116, 25) $r19Name = _GUICtrlEdit_Create($guiEdit, "", 176, 670, 156, 25, $ES_LEFT) $r19Val = _GUICtrlEdit_Create($guiEdit, "", 342, 670, 60, 25, $ES_RIGHT) $r19Qnt = GUICtrlCreateCombo("", 412, 672, 60, 25) GUICtrlSetState($r19Qnt, $GUI_DISABLE) $r19Sold = GUICtrlCreateCheckbox("", 500, 670, 25, 25) GUICtrlCreateLabel("Item 20", 5, 703, 40, 25, $SS_LEFT) $r20Pos = GUICtrlCreateCombo("", 50, 702, 116, 25) $r20Name = _GUICtrlEdit_Create($guiEdit, "", 176, 700, 156, 25, $ES_LEFT) $r20Val = _GUICtrlEdit_Create($guiEdit, "", 342, 700, 60, 25, $ES_RIGHT) $r20Qnt = GUICtrlCreateCombo("", 412, 702, 60, 25) GUICtrlSetState($r20Qnt, $GUI_DISABLE) $r20Sold = GUICtrlCreateCheckbox("", 500, 700, 25, 25) $bAccept = GUICtrlCreateButton("Accept", 835, 728, 60, 25) $bCancel = GUICtrlCreateButton("Cancel", 915, 728, 60, 25) ;Position description assigned based on the six Machine Types For $x = 0 To UBound($TypeArray, $UBOUND_ROWS) - 1 If $machType = $TypeArray[$x][0] Then $SKLHVPOS = $TypeArray[$x][1] Next ;remove empty position description entries from $SKLHVPOS $CArray = _StringBetween($SKLHVPOS, "|", "|") For $x = 0 To UBound($CArray) - 1 If StringStripWS($CArray[$x], 3) <> "" Then ReDim $SKLArray[UBound($SKLArray) + 1] $SKLArray[$Inc] = $CArray[$x] $Inc += 1 EndIf Next $SKLHVPOS = "|" For $x = 0 To UBound($SKLArray) - 1 $SKLHVPOS &= $SKLArray[$x] & "|" Next ;set fields from MachID Timestamp file $filepath = @ScriptDir & "\Databases\" & $machID & "\" & $LbTxtSel If FileExists($filepath) Then $fileh = FileOpen($filepath) If $fileh = -1 Then MsgBox($MB_TASKMODAL, "File Open Error", "The database file " & $LbTxtSel & " could not be opened." & @CRLF & "@error = " & @error & ", @extended = " & @extended) FileClose($fileh) Else $readStr = FileRead($fileh) If $readStr = 1 Then MsgBox($MB_TASKMODAL, "File Read Error", "The database file " & $LbTxtSel & " could not be read." & @CRLF & "@error = " & @error & ", @extended = " & @extended) FileClose($fileh) Else FileClose($fileh) $mArray = StringSplit($readStr, ";", 3) If @error Then $mArray = StringToASCIIArray("") Else ;import timestamp counter value _GUICtrlEdit_SetText($eCollCount, $mArray[1]) ;import timestamp position $SKL1 = $SKLHVPOS __ImpTSPos($mArray[2], $r1Pos, $SKL1) $SKL2 = $SKLHVPOS __ImpTSPos($mArray[7], $r2Pos, $SKL2) $SKL3 = $SKLHVPOS __ImpTSPos($mArray[12], $r3Pos, $SKL3) $SKL4 = $SKLHVPOS __ImpTSPos($mArray[17], $r4Pos, $SKL4) $SKL5 = $SKLHVPOS __ImpTSPos($mArray[22], $r5Pos, $SKL5) $SKL6 = $SKLHVPOS __ImpTSPos($mArray[27], $r6Pos, $SKL6) $SKL7 = $SKLHVPOS __ImpTSPos($mArray[32], $r7Pos, $SKL7) $SKL8 = $SKLHVPOS __ImpTSPos($mArray[37], $r8Pos, $SKL8) $SKL9 = $SKLHVPOS __ImpTSPos($mArray[42], $r9Pos, $SKL9) $SKL10 = $SKLHVPOS __ImpTSPos($mArray[47], $r10Pos, $SKL10) $SKL11 = $SKLHVPOS __ImpTSPos($mArray[52], $r11Pos, $SKL11) $SKL12 = $SKLHVPOS __ImpTSPos($mArray[57], $r12Pos, $SKL12) $SKL13 = $SKLHVPOS __ImpTSPos($mArray[62], $r13Pos, $SKL13) $SKL14 = $SKLHVPOS __ImpTSPos($mArray[67], $r14Pos, $SKL14) $SKL15 = $SKLHVPOS __ImpTSPos($mArray[72], $r15Pos, $SKL15) $SKL16 = $SKLHVPOS __ImpTSPos($mArray[77], $r16Pos, $SKL16) $SKL17 = $SKLHVPOS __ImpTSPos($mArray[82], $r17Pos, $SKL17) $SKL18 = $SKLHVPOS __ImpTSPos($mArray[87], $r18Pos, $SKL18) $SKL19 = $SKLHVPOS __ImpTSPos($mArray[92], $r19Pos, $SKL19) $SKL20 = $SKLHVPOS __ImpTSPos($mArray[97], $r20Pos, $SKL20) ;import timestamp Item Names _GUICtrlEdit_SetText($r1Name, $mArray[3]) _GUICtrlEdit_SetText($r2Name, $mArray[8]) _GUICtrlEdit_SetText($r3Name, $mArray[13]) _GUICtrlEdit_SetText($r4Name, $mArray[18]) _GUICtrlEdit_SetText($r5Name, $mArray[23]) _GUICtrlEdit_SetText($r6Name, $mArray[28]) _GUICtrlEdit_SetText($r7Name, $mArray[33]) _GUICtrlEdit_SetText($r8Name, $mArray[38]) _GUICtrlEdit_SetText($r9Name, $mArray[43]) _GUICtrlEdit_SetText($r10Name, $mArray[48]) _GUICtrlEdit_SetText($r11Name, $mArray[53]) _GUICtrlEdit_SetText($r12Name, $mArray[58]) _GUICtrlEdit_SetText($r13Name, $mArray[63]) _GUICtrlEdit_SetText($r14Name, $mArray[68]) _GUICtrlEdit_SetText($r15Name, $mArray[73]) _GUICtrlEdit_SetText($r16Name, $mArray[78]) _GUICtrlEdit_SetText($r17Name, $mArray[83]) _GUICtrlEdit_SetText($r18Name, $mArray[88]) _GUICtrlEdit_SetText($r19Name, $mArray[93]) _GUICtrlEdit_SetText($r20Name, $mArray[98]) ;import timestamp Item Values __ValFormat($mArray[4], $r1Val) __ValFormat($mArray[9], $r2Val) __ValFormat($mArray[14], $r3Val) __ValFormat($mArray[19], $r4Val) __ValFormat($mArray[24], $r5Val) __ValFormat($mArray[29], $r6Val) __ValFormat($mArray[34], $r7Val) __ValFormat($mArray[39], $r8Val) __ValFormat($mArray[44], $r9Val) __ValFormat($mArray[49], $r10Val) __ValFormat($mArray[54], $r11Val) __ValFormat($mArray[59], $r12Val) __ValFormat($mArray[64], $r13Val) __ValFormat($mArray[69], $r14Val) __ValFormat($mArray[74], $r15Val) __ValFormat($mArray[79], $r16Val) __ValFormat($mArray[84], $r17Val) __ValFormat($mArray[89], $r18Val) __ValFormat($mArray[94], $r19Val) __ValFormat($mArray[99], $r20Val) ;import timestamp Qnt Sold If $mArray[5] = "" Then $mArray[5] = 0 GUICtrlSetData($r1Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[5]) If $mArray[10] = "" Then $mArray[10] = 0 GUICtrlSetData($r2Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[10]) If $mArray[15] = "" Then $mArray[15] = 0 GUICtrlSetData($r3Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[15]) If $mArray[20] = "" Then $mArray[20] = 0 GUICtrlSetData($r4Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[20]) If $mArray[25] = "" Then $mArray[25] = 0 GUICtrlSetData($r5Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[25]) If $mArray[30] = "" Then $mArray[30] = 0 GUICtrlSetData($r6Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[30]) If $mArray[35] = "" Then $mArray[35] = 0 GUICtrlSetData($r7Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[35]) If $mArray[40] = "" Then $mArray[40] = 0 GUICtrlSetData($r8Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[40]) If $mArray[45] = "" Then $mArray[45] = 0 GUICtrlSetData($r9Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[45]) If $mArray[50] = "" Then $mArray[50] = 0 GUICtrlSetData($r10Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[50]) If $mArray[55] = "" Then $mArray[55] = 0 GUICtrlSetData($r11Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[55]) If $mArray[60] = "" Then $mArray[60] = 0 GUICtrlSetData($r12Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[60]) If $mArray[65] = "" Then $mArray[65] = 0 GUICtrlSetData($r13Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[65]) If $mArray[70] = "" Then $mArray[70] = 0 GUICtrlSetData($r14Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[70]) If $mArray[75] = "" Then $mArray[75] = 0 GUICtrlSetData($r15Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[75]) If $mArray[80] = "" Then $mArray[80] = 0 GUICtrlSetData($r16Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[80]) If $mArray[85] = "" Then $mArray[85] = 0 GUICtrlSetData($r17Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[85]) If $mArray[90] = "" Then $mArray[90] = 0 GUICtrlSetData($r18Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[90]) If $mArray[95] = "" Then $mArray[95] = 0 GUICtrlSetData($r19Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[95]) If $mArray[100] = "" Then $mArray[100] = 0 GUICtrlSetData($r20Qnt, "0|1|2|3|4|5|6|7|8|9|10", $mArray[100]) ;import Sold checkbox state __EditCBState($mArray[6], $r1Sold, $r1Qnt) __EditCBState($mArray[11], $r2Sold, $r2Qnt) __EditCBState($mArray[16], $r3Sold, $r3Qnt) __EditCBState($mArray[21], $r4Sold, $r4Qnt) __EditCBState($mArray[26], $r5Sold, $r5Qnt) __EditCBState($mArray[31], $r6Sold, $r6Qnt) __EditCBState($mArray[36], $r7Sold, $r7Qnt) __EditCBState($mArray[41], $r8Sold, $r8Qnt) __EditCBState($mArray[46], $r9Sold, $r9Qnt) __EditCBState($mArray[51], $r10Sold, $r10Qnt) __EditCBState($mArray[56], $r11Sold, $r11Qnt) __EditCBState($mArray[61], $r12Sold, $r12Qnt) __EditCBState($mArray[66], $r13Sold, $r13Qnt) __EditCBState($mArray[71], $r14Sold, $r14Qnt) __EditCBState($mArray[76], $r15Sold, $r15Qnt) __EditCBState($mArray[81], $r16Sold, $r16Qnt) __EditCBState($mArray[86], $r17Sold, $r17Qnt) __EditCBState($mArray[91], $r18Sold, $r18Qnt) __EditCBState($mArray[96], $r19Sold, $r19Qnt) __EditCBState($mArray[101], $r20Sold, $r20Qnt) EndIf EndIf EndIf EndIf GUISetState(@SW_SHOW, $guiEdit) Do $msgA = GUIGetMsg() Switch $msgA Case $bAccept $rowErr = False $rErrAdd = "" ;check for valid counter $CTR = StringStripWS(_GUICtrlEdit_GetText($eCollCount), 8) If $CTR <> "" And Not StringIsDigit($CTR) Then $rErrAdd &= "Counter entry not in an integer format." & @CRLF $rowErr = True EndIf $OrdData = Chr(59) & $LbTxtSel & Chr(59) & $CTR $NU = 0 ;Row 1 AddEditEntryTest(1, $SKL1, $rErrAdd, $rowErr, $OrdData, $r1Pos, $r1Name, $r1Qnt, $r1Val, $r1Sold, $NU) ;Row 2 AddEditEntryTest(2, $SKL2, $rErrAdd, $rowErr, $OrdData, $r2Pos, $r2Name, $r2Qnt, $r2Val, $r2Sold, $NU) ;Row 3 AddEditEntryTest(3, $SKL3, $rErrAdd, $rowErr, $OrdData, $r3Pos, $r3Name, $r3Qnt, $r3Val, $r3Sold, $NU) ;Row 4 AddEditEntryTest(4, $SKL4, $rErrAdd, $rowErr, $OrdData, $r4Pos, $r4Name, $r4Qnt, $r4Val, $r4Sold, $NU) ;Row 5 AddEditEntryTest(5, $SKL5, $rErrAdd, $rowErr, $OrdData, $r5Pos, $r5Name, $r5Qnt, $r5Val, $r5Sold, $NU) ;Row 6 AddEditEntryTest(6, $SKL6, $rErrAdd, $rowErr, $OrdData, $r6Pos, $r6Name, $r6Qnt, $r6Val, $r6Sold, $NU) ;Row 7 AddEditEntryTest(7, $SKL7, $rErrAdd, $rowErr, $OrdData, $r7Pos, $r7Name, $r7Qnt, $r7Val, $r7Sold, $NU) ;Row 8 AddEditEntryTest(8, $SKL8, $rErrAdd, $rowErr, $OrdData, $r8Pos, $r8Name, $r8Qnt, $r8Val, $r8Sold, $NU) ;Row 9 AddEditEntryTest(9, $SKL9, $rErrAdd, $rowErr, $OrdData, $r9Pos, $r9Name, $r9Qnt, $r9Val, $r9Sold, $NU) ;Row 10 AddEditEntryTest(10, $SKL10, $rErrAdd, $rowErr, $OrdData, $r10Pos, $r10Name, $r10Qnt, $r10Val, $r10Sold, $NU) ;Row 11 AddEditEntryTest(11, $SKL11, $rErrAdd, $rowErr, $OrdData, $r11Pos, $r11Name, $r11Qnt, $r11Val, $r11Sold, $NU) ;Row 12 AddEditEntryTest(12, $SKL12, $rErrAdd, $rowErr, $OrdData, $r12Pos, $r12Name, $r12Qnt, $r12Val, $r12Sold, $NU) ;Row 13 AddEditEntryTest(13, $SKL13, $rErrAdd, $rowErr, $OrdData, $r13Pos, $r13Name, $r13Qnt, $r13Val, $r13Sold, $NU) ;Row 14 AddEditEntryTest(14, $SKL14, $rErrAdd, $rowErr, $OrdData, $r14Pos, $r14Name, $r14Qnt, $r14Val, $r14Sold, $NU) ;Row 15 AddEditEntryTest(15, $SKL15, $rErrAdd, $rowErr, $OrdData, $r15Pos, $r15Name, $r15Qnt, $r15Val, $r15Sold, $NU) ;Row 16 AddEditEntryTest(16, $SKL16, $rErrAdd, $rowErr, $OrdData, $r16Pos, $r16Name, $r16Qnt, $r16Val, $r16Sold, $NU) ;Row 17 AddEditEntryTest(17, $SKL17, $rErrAdd, $rowErr, $OrdData, $r17Pos, $r17Name, $r17Qnt, $r17Val, $r17Sold, $NU) ;Row 18 AddEditEntryTest(18, $SKL18, $rErrAdd, $rowErr, $OrdData, $r18Pos, $r18Name, $r18Qnt, $r18Val, $r18Sold, $NU) ;Row 19 AddEditEntryTest(19, $SKL19, $rErrAdd, $rowErr, $OrdData, $r19Pos, $r19Name, $r19Qnt, $r19Val, $r19Sold, $NU) ;Row 20 AddEditEntryTest(20, $SKL20, $rErrAdd, $rowErr, $OrdData, $r20Pos, $r20Name, $r20Qnt, $r20Val, $r20Sold, $NU) ;Errors listbox If $NU < 20 Then If Not $rowErr Then $MachIDPath = @ScriptDir & "\Databases\" & $machID & "\" & $LbTxtSel $fileh = FileOpen($MachIDPath, 10) If $fileh = -1 Then MsgBox($MB_TASKMODAL, " File Open Error ", "The '" & $filepath & "' file could not be opened." & @CRLF & "@error = " & @error & ", @extended = " & @extended) Else If FileWrite($fileh, StringTrimLeft($OrdData, 1)) = 0 Then MsgBox($MB_TASKMODAL, " File Write Error ", "Error in writing to '" & $machID & " data file." & _ @CRLF & "@error = " & @error & ", @extended = " & @extended) EndIf FileClose($fileh) Else ;display Add New Orders error list box GUISetStyle(-1, $WS_EX_TOPMOST, $guiEdit) GUISetState(@SW_DISABLE, $guiEdit) $guiErr = GUICreate("Editing Order Errors", 450, 940, 1200, 80, BitOR($WS_SYSMENU, $WS_THICKFRAME)) GUICtrlSetFont(GUICtrlCreateLabel("Errors", 6, 14, 438, 30, $SS_CENTER), 12, 500, 1, "Arial Bold", 5) _GUICtrlEdit_Create($guiErr, $rErrAdd, 6, 40, 438, 820, _ BitOR($ES_MULTILINE, $ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_LEFT, $ES_READONLY)) $bErrorClose = GUICtrlCreateButton("Close", 190, 870, 60, 30) GUISetState(@SW_SHOW, $guiErr) While 1 $msgErr = GUIGetMsg() If $msgErr = $bErrorClose Or $msgErr = $GUI_EVENT_CLOSE Then GUIDelete($guiErr) ExitLoop EndIf WEnd GUISetState(@SW_ENABLE, $guiEdit) GUISetStyle(-1, -1, $guiEdit) EndIf Else MsgBox($MB_TASKMODAL, "Order Not Modified", "All Positions are selected to ") $rowErr = True EndIf If Not $rowErr Then ExitLoop Case $r1Sold If $NM_CLICK Then __SoldChkSetQnt($r1Sold, $r1Qnt) Case $r2Sold If $NM_CLICK Then __SoldChkSetQnt($r2Sold, $r2Qnt) Case $r3Sold If $NM_CLICK Then __SoldChkSetQnt($r3Sold, $r3Qnt) Case $r4Sold If $NM_CLICK Then __SoldChkSetQnt($r4Sold, $r4Qnt) Case $r5Sold If $NM_CLICK Then __SoldChkSetQnt($r5Sold, $r5Qnt) Case $r6Sold If $NM_CLICK Then __SoldChkSetQnt($r6Sold, $r6Qnt) Case $r7Sold If $NM_CLICK Then __SoldChkSetQnt($r7Sold, $r7Qnt) Case $r8Sold If $NM_CLICK Then __SoldChkSetQnt($r8Sold, $r8Qnt) Case $r9Sold If $NM_CLICK Then __SoldChkSetQnt($r9Sold, $r9Qnt) Case $r10Sold If $NM_CLICK Then __SoldChkSetQnt($r10Sold, $r10Qnt) Case $r11Sold If $NM_CLICK Then __SoldChkSetQnt($r11Sold, $r11Qnt) Case $r12Sold If $NM_CLICK Then __SoldChkSetQnt($r12Sold, $r12Qnt) Case $r13Sold If $NM_CLICK Then __SoldChkSetQnt($r13Sold, $r13Qnt) Case $r14Sold If $NM_CLICK Then __SoldChkSetQnt($r14Sold, $r14Qnt) Case $r15Sold If $NM_CLICK Then __SoldChkSetQnt($r15Sold, $r15Qnt) Case $r16Sold If $NM_CLICK Then __SoldChkSetQnt($r16Sold, $r16Qnt) Case $r17Sold If $NM_CLICK Then __SoldChkSetQnt($r17Sold, $r17Qnt) Case $r18Sold If $NM_CLICK Then __SoldChkSetQnt($r18Sold, $r18Qnt) Case $r19Sold If $NM_CLICK Then __SoldChkSetQnt($r19Sold, $r19Qnt) Case $r20Sold If $NM_CLICK Then __SoldChkSetQnt($r20Sold, $r20Qnt) Case $bCancel GUIDelete($guiEdit) Return True EndSwitch Until $msgA = $GUI_EVENT_CLOSE GUIDelete($guiEdit) EndFunc ;==>EditSelOrder ;re-enable controls following program actions Func EnableControls(ByRef $ELTRev, ByRef $bInputClose, ByRef $iMachID, ByRef $bFindID, ByRef $bUpLbDate, ByRef $bDownLbDate, ByRef $bFlwLvDate, ByRef $bPrevLvDate, ByRef $bAddNewOrder, _ ByRef $bEditSelOrder, ByRef $bDelSelOrder, ByRef $bArrShow, ByRef $bCalc, ByRef $LbCollDates, ByRef $clrMID, ByRef $clrRev, ByRef $bLatest, ByRef $bOrdForm) GUICtrlSetState($iMachID, $GUI_ENABLE) GUICtrlSetState($bInputClose, $GUI_ENABLE) GUICtrlSetState($bFindID, $GUI_ENABLE) GUICtrlSetState($bUpLbDate, $GUI_ENABLE) GUICtrlSetState($bDownLbDate, $GUI_ENABLE) GUICtrlSetState($bFlwLvDate, $GUI_ENABLE) GUICtrlSetState($bPrevLvDate, $GUI_ENABLE) GUICtrlSetState($bAddNewOrder, $GUI_ENABLE) GUICtrlSetState($bEditSelOrder, $GUI_ENABLE) GUICtrlSetState($bDelSelOrder, $GUI_ENABLE) GUICtrlSetState($bArrShow, $GUI_ENABLE) GUICtrlSetState($ELTRev, $GUI_ENABLE) GUICtrlSetState($bCalc, $GUI_ENABLE) GUICtrlSetState($LbCollDates, $GUI_ENABLE) GUICtrlSetState($clrMID, $GUI_ENABLE) GUICtrlSetState($clrRev, $GUI_ENABLE) GUICtrlSetState($bLatest, $GUI_ENABLE) GUICtrlSetState($bOrdForm, $GUI_ENABLE) EndFunc ;==>EnableControls Func FindDups($DupArr) Local $xCnt Local $FDArr[0] ;remove blank lines For $x = 0 To UBound($DupArr) - 1 If $DupArr[$x] <> "" Then ReDim $FDArr[UBound($FDArr) + 1] $FDArr[$xCnt] = $DupArr[$x] $xCnt += 1 EndIf Next ;find duplicate entries For $x = 0 To UBound($FDArr) - 2 For $y = ($x + 1) To UBound($FDArr) - 1 If StringUpper($FDArr[$x]) = StringUpper($FDArr[$y]) Then MsgBox($MB_TASKMODAL, "Duplicate Position Entries", "Description " & $x + 1 & " and Description " & $y + 1 & " Positions entries are the same." & @CRLF & @CRLF & _ "A Machine Type's Position Descriptions must be unique from the other Position Descriptions of that Machine Type.") Return True EndIf Next Next Return False EndFunc ;==>FindDups Func LoadHV_Array(ByRef $TypeArray) _FileReadToArray($HVTypesLoc, $TypeArray, $FRTA_NOCOUNT, ";") If @error Then MsgBox($MB_TASKMODAL, "File Access Error", "Error locating, opening or reading the HVTypes.csv file." & @CRLF & "Creating a new empty HVTypes.csv file." & _ "@error = " & @error & ", @extended = " & @extended) Return False Else Return True EndIf EndFunc ;==>LoadHV_Array ;Load Machine Placement By Route Values in an array Func LoadMPBR_Array(ByRef $DArray, ByRef $LmpbrDate) _FileReadToArray($MPBRLoc, $DArray, $FRTA_NOCOUNT, ";") If @error Then MsgBox($MB_TASKMODAL, "File Open Error", "Error locating or opening the machine placement by route.csv file." & @CRLF & "@error = " & @error & ", @extended = " & @extended) Return False Else GUICtrlSetData($LmpbrDate, "Location Info Current " & $DArray[4][0]) Return True EndIf EndFunc ;==>LoadMPBR_Array ;designate HV Machine Types Func SelHVMachTypes($DArray, ByRef $TypeArray) Local $AllAvailTypesArray, $AllNotInTypeArray[1], $gPosArray Local $guiHVmain, $LstbAvailTypes, $LstbCurrTypes, $LPic, $pictMT Local $bHVClose, $bHVAccept, $bAdd, $bRemove Local $r1, $r2, $r3, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r11, $r12, $r13, $r14, $r15, $r16, $r17, $r18, $r19, $r20 Local $rw1, $rw2, $rw3, $rw4, $rw5, $rw6, $rw7, $rw8, $rw9, $rw10, $rw11, $rw12, $rw13, $rw14, $rw15, $rw16, $rw17, $rw18, $rw19, $rw20 Local $Index, $gPosArrMax Local $msgMT Local $ans Local $LstbAvailSelLast, $LstbCurrSelLast, $getPosTxt, $mach_Type, $PicDir ;create a sorted array of all available machine types, eliminating all duplicates. $AllAvailTypesArray = _ArrayUnique($DArray, 4, 0, 0, 0) _ArraySort($AllAvailTypesArray, 0, 0, 0, 1) If StringStripWS($AllAvailTypesArray[0], 3) = "" Then $AllAvailTypesArray = _ArrayExtract($AllAvailTypesArray, 1, UBound($AllAvailTypesArray) - 1) ;create an array of all Machine types in $AllAvailTypesArray that are not in $TypeArray ReDim $AllNotInTypeArray[UBound($AllAvailTypesArray)] For $x = 0 To UBound($AllAvailTypesArray) - 1 $AllNotInTypeArray[$x] = $AllAvailTypesArray[$x] Next For $z = 0 To UBound($TypeArray) - 1 $Index = _ArrayBinarySearch($AllNotInTypeArray, $TypeArray[$z][0], 0, 0, 0) If $Index <> -1 Then _ArrayDelete($AllNotInTypeArray, $Index) Next $guiHVmain = GUICreate("Designate High Value Machines and Change Position Descriptions", 1120, 970, -1, -1, BitOR($WS_SYSMENU, $WS_MINIMIZEBOX), -1) $bHVAccept = GUICtrlCreateButton("Accept", 939, 900, 65, 25, $BS_DEFPUSHBUTTON) $bHVClose = GUICtrlCreateButton("Close", 1029, 900, 65, 25) ;listbox of all available Machine Types not currently designated as high value machines GUICtrlSetFont(GUICtrlCreateLabel("Available Machine Types Not Currently High Value", 8, 20, 300, 25, $SS_CENTER), 9, 500, 1, "Arial Bold", 5) $LstbAvailTypes = GUICtrlCreateList("", 30, 50, 220, 826, BitOR($WS_BORDER, $WS_VSCROLL, $LBS_NOTIFY, $LBS_SORT)) _GUICtrlListBox_BeginUpdate($LstbAvailTypes) For $x In $AllNotInTypeArray _GUICtrlListBox_AddString($LstbAvailTypes, $x) Next _GUICtrlListBox_EndUpdate($LstbAvailTypes) ;listbox of all currently designated high value machines GUICtrlSetFont(GUICtrlCreateLabel("Machine Types Currently Designated High Value", 375, 20, 300, 25, $SS_CENTER), 9, 500, 1, "Arial Bold", 5) $LstbCurrTypes = GUICtrlCreateList("", 435, 50, 184, 160, BitOR($WS_BORDER, $WS_VSCROLL, $LBS_NOTIFY, $LBS_SORT)) For $x = 0 To UBound($TypeArray) - 1 If $TypeArray[$x][0] <> "DUMMY TYPE" Then _GUICtrlListBox_AddString($LstbCurrTypes, $TypeArray[$x][0]) Next $bAdd = GUICtrlCreateButton("Add", 278, 60, 65, 25) $bRemove = GUICtrlCreateButton("Remove", 342, 165, 65, 25) GUICtrlSetImage(GUICtrlCreatePic(@ScriptDir & "\Images\right1.gif", 375, 57, 32, 32), @ScriptDir & "\Images\right1.gif") GUICtrlSetImage(GUICtrlCreatePic(@ScriptDir & "\Images\left1.gif", 278, 163, 32, 32), @ScriptDir & "\Images\left1.gif") GUICtrlSetFont(GUICtrlCreateGroup(" Position Descriptions for Selected HV Machine ", 344, 222, 320, 652, -1, $WS_EX_DLGMODALFRAME), 9, 500, 1, "Arial Bold", 5) GUICtrlSetFont(GUICtrlCreateLabel("Description 1", 370, 263, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r1 = _GUICtrlEdit_Create($guiHVmain, "", 476, 258, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 2", 370, 293, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r2 = _GUICtrlEdit_Create($guiHVmain, "", 476, 288, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 3", 370, 323, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r3 = _GUICtrlEdit_Create($guiHVmain, "", 476, 318, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 4", 370, 353, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r4 = _GUICtrlEdit_Create($guiHVmain, "", 476, 348, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 5", 370, 383, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r5 = _GUICtrlEdit_Create($guiHVmain, "", 476, 378, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 6", 370, 413, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r6 = _GUICtrlEdit_Create($guiHVmain, "", 476, 408, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 7", 370, 443, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r7 = _GUICtrlEdit_Create($guiHVmain, "", 476, 438, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 8", 370, 473, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r8 = _GUICtrlEdit_Create($guiHVmain, "", 476, 468, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 9", 370, 503, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r9 = _GUICtrlEdit_Create($guiHVmain, "", 476, 498, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 10", 370, 533, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r10 = _GUICtrlEdit_Create($guiHVmain, "", 476, 528, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 11", 370, 563, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r11 = _GUICtrlEdit_Create($guiHVmain, "", 476, 558, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 12", 370, 593, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r12 = _GUICtrlEdit_Create($guiHVmain, "", 476, 588, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 13", 370, 623, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r13 = _GUICtrlEdit_Create($guiHVmain, "", 476, 618, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 14", 370, 653, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r14 = _GUICtrlEdit_Create($guiHVmain, "", 476, 648, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 15", 370, 683, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r15 = _GUICtrlEdit_Create($guiHVmain, "", 476, 678, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 16", 370, 713, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r16 = _GUICtrlEdit_Create($guiHVmain, "", 476, 708, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 17", 370, 743, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r17 = _GUICtrlEdit_Create($guiHVmain, "", 476, 738, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 18", 370, 773, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r18 = _GUICtrlEdit_Create($guiHVmain, "", 476, 768, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 19", 370, 803, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r19 = _GUICtrlEdit_Create($guiHVmain, "", 476, 798, 156, 25, $ES_LEFT) GUICtrlSetFont(GUICtrlCreateLabel("Description 20", 370, 833, 90, 25, $SS_LEFT), 9, 500, 1, "Arial Bold", 5) $r20 = _GUICtrlEdit_Create($guiHVmain, "", 476, 828, 156, 25, $ES_LEFT) GUISetState(@SW_SHOW, $guiHVmain) If _GUICtrlListBox_GetCount($LstbAvailTypes) > 0 Then _GUICtrlListBox_ClickItem($LstbAvailTypes, 0, "left", False) If _GUICtrlListBox_GetCount($LstbCurrTypes) > 0 Then _GUICtrlListBox_ClickItem($LstbCurrTypes, 0, "left", False) Do $msgMT = GUIGetMsg() Switch $msgMT ;add new selected type in $LstbAvialTypes listbox to $TypeArray and remove from a$AllNotInTypeArray. Update listboxes from updated $AllNotInTypeArray and $TypeArray. Case $bAdd If _GUICtrlListBox_GetCount($LstbAvailTypes) > 0 Then $LstbAvailSelLast = _GUICtrlListBox_GetText($LstbAvailTypes, _GUICtrlListBox_GetCurSel($LstbAvailTypes)) $Index = _ArrayBinarySearch($AllNotInTypeArray, $LstbAvailSelLast, 0, 0, 0) _ArrayDelete($AllNotInTypeArray, $Index) ReDim $TypeArray[UBound($TypeArray, $UBOUND_ROWS) + 1][2] $TypeArray[UBound($TypeArray, $UBOUND_ROWS) - 1][0] = $LstbAvailSelLast $TypeArray[UBound($TypeArray, $UBOUND_ROWS) - 1][1] = "||" _ArraySort($TypeArray, 0, 0) _GUICtrlListBox_BeginUpdate($LstbAvailTypes) _GUICtrlListBox_ResetContent($LstbAvailTypes) For $x In $AllNotInTypeArray _GUICtrlListBox_AddString($LstbAvailTypes, $x) Next _GUICtrlListBox_EndUpdate($LstbAvailTypes) _GUICtrlListBox_BeginUpdate($LstbCurrTypes) _GUICtrlListBox_ResetContent($LstbCurrTypes) For $x = 0 To UBound($TypeArray) - 1 If $TypeArray[$x][0] <> "DUMMY TYPE" Then _GUICtrlListBox_AddString($LstbCurrTypes, $TypeArray[$x][0]) Next $Index = _GUICtrlListBox_FindString($LstbCurrTypes, $LstbAvailSelLast) _GUICtrlListBox_SetCurSel($LstbCurrTypes, $Index) _GUICtrlListBox_EndUpdate($LstbCurrTypes) _GUICtrlListBox_ClickItem($LstbCurrTypes, $Index, "left", False, 1) GUICtrlSetState($LstbCurrTypes, $GUI_FOCUS) EndIf ;remove selected HV type in $LstbCurrTypes listbox from $TypeArray and add to $AllNotInTypeArray. Update listboxes from updated $AllNotInTypeArray and $TypeArray Case $bRemove If _GUICtrlListBox_GetCount($LstbCurrTypes) > 0 Then $LstbCurrSelLast = _GUICtrlListBox_GetText($LstbCurrTypes, _GUICtrlListBox_GetCurSel($LstbCurrTypes)) $ans = MsgBox($MB_TASKMODAL + $MB_YESNO, "MACHINE TYPE DELETION", "Are you sure that you want to REMOVE the " & @CRLF & @CRLF & _ " " & $LstbCurrSelLast & @CRLF & @CRLF & " Machine Type from the list of designated High Value Machines?") If $ans = $IDYES Then $Index = _ArrayBinarySearch($TypeArray, $LstbCurrSelLast, 0, 0, 0) _ArrayDelete($TypeArray, $Index) _GUICtrlListBox_ResetContent($LstbCurrTypes) For $x = 0 To UBound($TypeArray) - 1 If $TypeArray[$x][0] <> "DUMMY TYPE" Then _GUICtrlListBox_AddString($LstbCurrTypes, $TypeArray[$x][0]) Next ReDim $AllNotInTypeArray[UBound($AllNotInTypeArray) + 1] $AllNotInTypeArray[UBound($AllNotInTypeArray) - 1] = $LstbCurrSelLast _ArraySort($AllNotInTypeArray, 0, 0) _GUICtrlListBox_BeginUpdate($LstbAvailTypes) _GUICtrlListBox_ResetContent($LstbAvailTypes) For $x In $AllNotInTypeArray _GUICtrlListBox_AddString($LstbAvailTypes, $x) Next _GUICtrlListBox_EndUpdate($LstbAvailTypes) $LstbCurrSelLast = "" If _GUICtrlListBox_GetCount($LstbCurrTypes) > 0 Then If $Index > 0 Then _GUICtrlListBox_SetCurSel($LstbCurrTypes, $Index - 1) _GUICtrlListBox_ClickItem($LstbCurrTypes, $Index - 1, "left", False, 1) Else _GUICtrlListBox_SetCurSel($LstbCurrTypes, 0) _GUICtrlListBox_ClickItem($LstbCurrTypes, 0, "left", False, 1) EndIf EndIf Else $LstbCurrSelLast = "" EndIf GUICtrlSetState($LstbCurrTypes, $GUI_FOCUS) Else MsgBox($MB_TASKMODAL, "Deletion Error", "You must have at least one entry in the High Value Machine listbox.") EndIf Case $LstbCurrTypes If $NM_CLICK And _GUICtrlListBox_GetCount($LstbCurrTypes) > 0 Then ;Picture of Mach ID product positions $mach_Type = _GUICtrlListBox_GetText($LstbCurrTypes, _GUICtrlListBox_GetCurSel($LstbCurrTypes)) $LPic = GUICtrlCreateLabel($mach_Type, 690, 25, 390, 20, $SS_CENTER) GUICtrlSetFont($LPic, 10, 700, -1, "Arial Bold", 5) $PicDir = @ScriptDir & "\Images\" & $mach_Type & ".jpg" If $mach_Type = "" Then GUICtrlSetData($LPic, "< MACHINE TYPE UNKNOWN >") $pictMT = GUICtrlCreatePic($defPic, 720, 50, 360, 360) GUICtrlSetImage($pictMT, $defPic) Else If FileExists($PicDir) Then $pictMT = GUICtrlCreatePic($PicDir, 720, 50, 360, 360) GUICtrlSetImage($pictMT, $PicDir) Else GUICtrlSetData($LPic, $mach_Type & " --- NO PICTURE AVAILABLE") $pictMT = GUICtrlCreatePic($defPic, 720, 50, 360, 360) GUICtrlSetImage($pictMT, $defPic) EndIf EndIf If $LstbCurrSelLast <> "" And ($LstbCurrSelLast <> _GUICtrlListBox_GetText($LstbCurrTypes, _GUICtrlListBox_GetCurSel($LstbCurrTypes))) Then ;gather edit control fields for $LstbCurrSelLast type in $TypeArra $getPosTxt = "||" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r1), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r2), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r3), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r4), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r5), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r6), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r7), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r8), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r9), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r10), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r11), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r12), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r13), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r14), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r15), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r16), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r17), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r18), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r19), 3) & "|" $getPosTxt &= StringStripWS(_GUICtrlEdit_GetText($r20), 3) & "|" $Index = _ArrayBinarySearch($TypeArray, $LstbCurrSelLast, 0, 0, 0) $TypeArray[$Index][1] = $getPosTxt EndIf ClearHVEditFields($r1, $r2, $r3, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r11, $r12, $r13, $r14, $r15, $r16, $r17, $r18, $r19, $r20) $LstbCurrSelLast = _GUICtrlListBox_GetText($LstbCurrTypes, _GUICtrlListBox_GetCurSel($LstbCurrTypes)) ;import position data from $TypeArray for selected listbox type $Index = _ArrayBinarySearch($TypeArray, $LstbCurrSelLast, 0, 0, 0) ;extract | separated text in $TypeArray[$Index][1] $gPosArray = _StringBetween($TypeArray[$Index][1], "|", "|") $gPosArrMax = UBound($gPosArray) - 1 If $gPosArrMax >= 1 Then _GUICtrlEdit_SetText($r1, $gPosArray[1]) If $gPosArrMax >= 2 Then _GUICtrlEdit_SetText($r2, $gPosArray[2]) If $gPosArrMax >= 3 Then _GUICtrlEdit_SetText($r3, $gPosArray[3]) If $gPosArrMax >= 4 Then _GUICtrlEdit_SetText($r4, $gPosArray[4]) If $gPosArrMax >= 5 Then _GUICtrlEdit_SetText($r5, $gPosArray[5]) If $gPosArrMax >= 6 Then _GUICtrlEdit_SetText($r6, $gPosArray[6]) If $gPosArrMax >= 7 Then _GUICtrlEdit_SetText($r7, $gPosArray[7]) If $gPosArrMax >= 8 Then _GUICtrlEdit_SetText($r8, $gPosArray[8]) If $gPosArrMax >= 9 Then _GUICtrlEdit_SetText($r9, $gPosArray[9]) If $gPosArrMax >= 10 Then _GUICtrlEdit_SetText($r10, $gPosArray[10]) If $gPosArrMax >= 11 Then _GUICtrlEdit_SetText($r11, $gPosArray[11]) If $gPosArrMax >= 12 Then _GUICtrlEdit_SetText($r12, $gPosArray[12]) If $gPosArrMax >= 13 Then _GUICtrlEdit_SetText($r13, $gPosArray[13]) If $gPosArrMax >= 14 Then _GUICtrlEdit_SetText($r14, $gPosArray[14]) If $gPosArrMax >= 15 Then _GUICtrlEdit_SetText($r15, $gPosArray[15]) If $gPosArrMax >= 16 Then _GUICtrlEdit_SetText($r16, $gPosArray[16]) If $gPosArrMax >= 17 Then _GUICtrlEdit_SetText($r17, $gPosArray[17]) If $gPosArrMax >= 18 Then _GUICtrlEdit_SetText($r18, $gPosArray[18]) If $gPosArrMax >= 19 Then _GUICtrlEdit_SetText($r19, $gPosArray[19]) If $gPosArrMax >= 20 Then _GUICtrlEdit_SetText($r20, $gPosArray[20]) EndIf Case $bHVAccept $rw1 = StringStripWS(_GUICtrlEdit_GetText($r1), 3) $rw2 = StringStripWS(_GUICtrlEdit_GetText($r2), 3) $rw3 = StringStripWS(_GUICtrlEdit_GetText($r3), 3) $rw4 = StringStripWS(_GUICtrlEdit_GetText($r4), 3) $rw5 = StringStripWS(_GUICtrlEdit_GetText($r5), 3) $rw6 = StringStripWS(_GUICtrlEdit_GetText($r6), 3) $rw7 = StringStripWS(_GUICtrlEdit_GetText($r7), 3) $rw8 = StringStripWS(_GUICtrlEdit_GetText($r8), 3) $rw9 = StringStripWS(_GUICtrlEdit_GetText($r9), 3) $rw10 = StringStripWS(_GUICtrlEdit_GetText($r10), 3) $rw11 = StringStripWS(_GUICtrlEdit_GetText($r11), 3) $rw12 = StringStripWS(_GUICtrlEdit_GetText($r12), 3) $rw13 = StringStripWS(_GUICtrlEdit_GetText($r13), 3) $rw14 = StringStripWS(_GUICtrlEdit_GetText($r14), 3) $rw15 = StringStripWS(_GUICtrlEdit_GetText($r15), 3) $rw16 = StringStripWS(_GUICtrlEdit_GetText($r16), 3) $rw17 = StringStripWS(_GUICtrlEdit_GetText($r17), 3) $rw18 = StringStripWS(_GUICtrlEdit_GetText($r18), 3) $rw19 = StringStripWS(_GUICtrlEdit_GetText($r19), 3) $rw20 = StringStripWS(_GUICtrlEdit_GetText($r20), 3) Local $DupArray[] = [$rw1, $rw2, $rw3, $rw4, $rw5, $rw6, $rw7, $rw8, $rw9, $rw10, $rw11, $rw12, $rw13, $rw14, $rw15, $rw16, $rw17, $rw18, $rw19, $rw20] If Not FindDups($DupArray) Then $LstbCurrSelLast = _GUICtrlListBox_GetText($LstbCurrTypes, _GUICtrlListBox_GetCurSel($LstbCurrTypes)) $getPosTxt = "||" $getPosTxt &= StringStripWS($rw1, 3) & "|" $getPosTxt &= StringStripWS($rw2, 3) & "|" $getPosTxt &= StringStripWS($rw3, 3) & "|" $getPosTxt &= StringStripWS($rw4, 3) & "|" $getPosTxt &= StringStripWS($rw5, 3) & "|" $getPosTxt &= StringStripWS($rw6, 3) & "|" $getPosTxt &= StringStripWS($rw7, 3) & "|" $getPosTxt &= StringStripWS($rw8, 3) & "|" $getPosTxt &= StringStripWS($rw9, 3) & "|" $getPosTxt &= StringStripWS($rw10, 3) & "|" $getPosTxt &= StringStripWS($rw11, 3) & "|" $getPosTxt &= StringStripWS($rw12, 3) & "|" $getPosTxt &= StringStripWS($rw13, 3) & "|" $getPosTxt &= StringStripWS($rw14, 3) & "|" $getPosTxt &= StringStripWS($rw15, 3) & "|" $getPosTxt &= StringStripWS($rw16, 3) & "|" $getPosTxt &= StringStripWS($rw17, 3) & "|" $getPosTxt &= StringStripWS($rw18, 3) & "|" $getPosTxt &= StringStripWS($rw19, 3) & "|" $getPosTxt &= StringStripWS($rw20, 3) & "|" $Index = _ArrayBinarySearch($TypeArray, $LstbCurrSelLast, 0, 0, 0) $TypeArray[$Index][1] = $getPosTxt ;before clearing edit control fields, save any possible position description changes for previously selected HV listbox type If Not _FileWriteFromArray($HVTypesLoc, $TypeArray, 0, Default, ";") Then _ MsgBox($MB_TASKMODAL, "File Write Error", "The " & $HVTypesLoc & " database file could not be written to." & @CRLF & "@error = " & @error & ", @extended = " & @extended) ExitLoop EndIf Case $bHVClose ExitLoop EndSwitch Until $msgMT = $GUI_EVENT_CLOSE GUIDelete($guiHVmain) EndFunc ;==>SelHVMachTypes ;show selected Order Timestamps in Selected Order listview, along with any previous and following timestamp orders Func ShowSelOrder(ByRef $LbCollDates, ByRef $LvPrevDate, ByRef $LvSelDate, ByRef $LvFlwDate, ByRef $LPrevTS, ByRef $EPrevCNT, ByRef $LSelTS, ByRef $ESelCNT, ByRef $LFlwTS, _ ByRef $EFlwCNT, $iMachID, ByRef $ELTCOG) Local $LbCTxt, $LbSelIndex, $LbMaxIndex, $txtStrng Local $hfile Local $txtArr, $LbPrevIndex, $LbFlwIndex, $COGSum Local $fname ;clear all data controls _GUICtrlListView_DeleteAllItems($LvSelDate) _GUICtrlListView_DeleteAllItems($LvPrevDate) _GUICtrlListView_DeleteAllItems($LvFlwDate) GUICtrlSetData($LPrevTS, "") GUICtrlSetData($EPrevCNT, "") GUICtrlSetData($LSelTS, "") GUICtrlSetData($ESelCNT, "") GUICtrlSetData($LFlwTS, "") GUICtrlSetData($EFlwCNT, "") ;Last index of listbox $LbMaxIndex = _GUICtrlListBox_GetCount($LbCollDates) - 1 ;Order dates listbox index of currently selected timestamp $LbSelIndex = _GUICtrlListBox_GetCurSel($LbCollDates) ;text of selected listbox timestamp $LbCTxt = _GUICtrlListBox_GetText($LbCollDates, $LbSelIndex) $fname = @ScriptDir & "\Databases\" & GUICtrlRead($iMachID) & "\" & $LbCTxt ;open $iMachID db file, select most recent timestamp file and display in Selected, Prev and Following listviews If FileExists($fname) Then $hfile = FileOpen($fname) If $hfile = -1 Then MsgBox($MB_TASKMODAL, "File Open Error", "The database file " & $fname & " could not be opened." & @CRLF & "@error = " & @error & ", @extended = " & @extended) FileClose($hfile) Else $txtStrng = FileRead($hfile) If $txtStrng = 1 Then MsgBox($MB_TASKMODAL, "File Read Error", "The database file " & $fname & " could not be read." & @CRLF & "@error = " & @error & ", @extended = " & @extended) FileClose($hfile) Else FileClose($hfile) $txtArr = StringSplit($txtStrng, ";", 3) If @error Then $txtArr = StringToASCIIArray("") Else ;import timestamp to Select timestamp label GUICtrlSetData($LSelTS, $txtArr[0]) ;import index contents to Selected counter GUICtrlSetData($ESelCNT, $txtArr[1]) ;import Select listview items _GUICtrlListView_BeginUpdate($LvSelDate) For $x = 1 To 20 _GUICtrlListView_AddItem($LvSelDate, $txtArr[($x * 5) - 3]) _GUICtrlListView_AddSubItem($LvSelDate, $x - 1, $txtArr[($x * 5) - 2], 1) If $txtArr[($x * 5) - 2] = "" Then _GUICtrlListView_AddSubItem($LvSelDate, $x - 1, $txtArr[($x * 5) - 1], 2) Else _GUICtrlListView_AddSubItem($LvSelDate, $x - 1, "$" & $txtArr[($x * 5) - 1], 2) EndIf If $txtArr[($x * 5) + 1] = 1 Then _GUICtrlListView_AddSubItem($LvSelDate, $x - 1, $txtArr[$x * 5], 3) Else _GUICtrlListView_AddSubItem($LvSelDate, $x - 1, "", 3) EndIf Next _GUICtrlListView_EndUpdate($LvSelDate) EndIf EndIf EndIf ;if exist, import the previous date index contents to Prev listview columns If _GUICtrlListBox_GetCurSel($LbCollDates) > 0 Then $LbPrevIndex = _GUICtrlListBox_GetCurSel($LbCollDates) - 1 $LbCTxt = _GUICtrlListBox_GetText($LbCollDates, $LbPrevIndex) $fname = @ScriptDir & "\Databases\" & GUICtrlRead($iMachID) & "\" & $LbCTxt If FileExists($fname) Then $hfile = FileOpen($fname) If $hfile = -1 Then MsgBox($MB_TASKMODAL, "File Open Error", "The database file " & $fname & " could not be opened." & @CRLF & "@error = " & @error & ", @extended = " & @extended) FileClose($hfile) Else $txtStrng = FileRead($hfile) If $txtStrng = 1 Then MsgBox($MB_TASKMODAL, "File Read Error", "The database file " & $fname & " could not be read." & @CRLF & "@error = " & @error & ", @extended = " & @extended) FileClose($hfile) Else FileClose($hfile) $txtArr = StringSplit($txtStrng, ";", 3) If @error Then $txtArr = StringToASCIIArray("") Else ;import timestamp to Previous timestamp label GUICtrlSetData($LPrevTS, $txtArr[0]) ;import index contents to Previous counter GUICtrlSetData($EPrevCNT, $txtArr[1]) ;import Previous listview items _GUICtrlListView_BeginUpdate($LvPrevDate) For $x = 1 To 20 _GUICtrlListView_AddItem($LvPrevDate, $txtArr[($x * 5) - 3]) _GUICtrlListView_AddSubItem($LvPrevDate, $x - 1, $txtArr[($x * 5) - 2], 1) If $txtArr[($x * 5) - 2] = "" Then _GUICtrlListView_AddSubItem($LvPrevDate, $x - 1, $txtArr[($x * 5) - 1], 2) Else _GUICtrlListView_AddSubItem($LvPrevDate, $x - 1, "$" & $txtArr[($x * 5) - 1], 2) EndIf If $txtArr[($x * 5) + 1] = 1 Then _GUICtrlListView_AddSubItem($LvPrevDate, $x - 1, $txtArr[($x * 5)], 3) Else _GUICtrlListView_AddSubItem($LvPrevDate, $x - 1, "", 3) EndIf Next _GUICtrlListView_EndUpdate($LvPrevDate) EndIf EndIf EndIf EndIf EndIf ;if exist, import the following date index contents to Following listview columns If _GUICtrlListBox_GetCurSel($LbCollDates) < $LbMaxIndex Then $LbFlwIndex = _GUICtrlListBox_GetCurSel($LbCollDates) + 1 $LbCTxt = _GUICtrlListBox_GetText($LbCollDates, $LbFlwIndex) $fname = @ScriptDir & "\Databases\" & GUICtrlRead($iMachID) & "\" & $LbCTxt If FileExists($fname) Then $hfile = FileOpen($fname) If $hfile = -1 Then MsgBox($MB_TASKMODAL, "File Open Error", "The database file " & $fname & " could not be opened." & @CRLF & "@error = " & @error & ", @extended = " & @extended) FileClose($hfile) Else $txtStrng = FileRead($hfile) If $txtStrng = 1 Then MsgBox($MB_TASKMODAL, "File Read Error", "The database file " & $fname & " could not be read." & @CRLF & "@error = " & @error & ", @extended = " & @extended) FileClose($hfile) Else FileClose($hfile) $txtArr = StringSplit($txtStrng, ";", 3) If @error Then $txtArr = StringToASCIIArray("") Else ;import timestamp to Previous timestamp label GUICtrlSetData($LFlwTS, $txtArr[0]) ;import index contents to Previous counter GUICtrlSetData($EFlwCNT, $txtArr[1]) ;import Previous listview items _GUICtrlListView_BeginUpdate($LvFlwDate) For $x = 1 To 20 _GUICtrlListView_AddItem($LvFlwDate, $txtArr[($x * 5) - 3]) _GUICtrlListView_AddSubItem($LvFlwDate, $x - 1, $txtArr[($x * 5) - 2], 1) If $txtArr[($x * 5) - 2] = "" Then _GUICtrlListView_AddSubItem($LvFlwDate, $x - 1, $txtArr[($x * 5) - 1], 2) Else _GUICtrlListView_AddSubItem($LvFlwDate, $x - 1, "$" & $txtArr[($x * 5) - 1], 2) EndIf If $txtArr[($x * 5) + 1] = 1 Then _GUICtrlListView_AddSubItem($LvFlwDate, $x - 1, $txtArr[($x * 5)], 3) Else _GUICtrlListView_AddSubItem($LvFlwDate, $x - 1, "", 3) EndIf Next _GUICtrlListView_EndUpdate($LvFlwDate) EndIf EndIf EndIf EndIf EndIf ;Sum the whole Mach ID database file Item Value values that are checked Sold (value 1), then set the Lifetime COG edit field to the sum $COGSum = 0 For $z = 0 To _GUICtrlListBox_GetCount($LbCollDates) - 1 ;open each timestamp file, read the item value if Sold is 1 $fname = @ScriptDir & "\Databases\" & GUICtrlRead($iMachID) & "\" & _GUICtrlListBox_GetText($LbCollDates, $z) If FileExists($fname) Then $hfile = FileOpen($fname) If $hfile = -1 Then MsgBox($MB_TASKMODAL, "File Open Error", "The database file " & $fname & " could not be opened." & @CRLF & "@error = " & @error & ", @extended = " & @extended) FileClose($hfile) Else $txtStrng = FileRead($hfile) If $txtStrng = 1 Then MsgBox($MB_TASKMODAL, "File Read Error", "The database file " & $fname & " could not be read." & @CRLF & "@error = " & @error & ", @extended = " & @extended) FileClose($hfile) Else FileClose($hfile) $txtArr = StringSplit($txtStrng, ";", 3) If @error Then $txtArr = StringToASCIIArray("") Else For $y = 4 To UBound($txtArr) Step 5 If $txtArr[$y + 2] = 1 Then $COGSum += ($txtArr[$y] * $txtArr[$y + 1]) Next EndIf EndIf EndIf EndIf Next GUICtrlSetData($ELTCOG, "$" & StringFormat("%.2f", $COGSum)) Else MsgBox($MB_TASKMODAL, "File Open Error", "Error locating or opening Machine ID's " & GUICtrlRead($iMachID) & " " & $LbCTxt & " timestamp file." & _ @CRLF & "@error = " & @error & ", @extended = " & @extended) EndIf EndFunc ;==>ShowSelOrder ;Populate Custody Archive List Box with existent PDF files Func UpdateOrderFormsListbox(ByRef $oListbox) Local Const $filepath = @ScriptDir & "\Forms\" Local $OrdForms, $tOrdStr Local $HR Local $HRArray Local $FileExt, $suDrive, $suDir, $suFName, $suExt Local $XBol ;Find the existent key holder custody issuance form and load the file names into a text array $HR = FileFindFirstFile($filepath & "*.*") If @error = 1 Or $HR = -1 Then $HRArray = StringToASCIIArray("") $HR = "" Else While 1 $HRArray = StringToASCIIArray("") $OrdForms &= FileFindNextFile($HR) If @error Then $OrdForms = StringLeft($OrdForms, StringLen($OrdForms) - 1) ExitLoop Else $OrdForms &= ";" EndIf WEnd FileClose($HR) $HRArray = StringSplit($OrdForms, ";", 1) ;Quick Sort key holder array For $k = $HRArray[0] To 1 Step -1 For $m = 1 To $k - 1 Step 1 If StringLower(String($HRArray[$m])) > StringLower(String($HRArray[$m + 1])) Then $tOrdStr = $HRArray[$m + 1] $HRArray[$m + 1] = $HRArray[$m] $HRArray[$m] = $tOrdStr EndIf Next Next EndIf ;Populate the Key Holder List box _GUICtrlListBox_BeginUpdate($oListbox) _GUICtrlListBox_ResetContent($oListbox) If $HR <> "" Then For $x = 1 To UBound($HRArray) - 1 $FileExt = _PathSplit($HRArray[$x], $suDrive, $suDir, $suFName, $suExt)[4] If StringInStr(".gif .bmp .jpg .doc .xls .ods .odt .pdf .txt", $FileExt) > 0 Then _GUICtrlListBox_AddString($oListbox, StringUpper($HRArray[$x])) $XBol = True EndIf Next If $XBol Then _GUICtrlListBox_Sort($oListbox) _GUICtrlListBox_UpdateHScroll($oListbox) _GUICtrlListBox_SetTopIndex($oListbox, 0) _GUICtrlListBox_SetCurSel($oListbox, 0) EndIf EndIf _GUICtrlListBox_EndUpdate($oListbox) EndFunc ;==>UpdateOrderFormsListbox