Sign in to follow this  
Followers 0
strate

Drag & Drop

4 posts in this topic

In the script below I want to be able drag a printer name into the treeview above it. Then when its dropped on to a instance of "Printer Needs Selected!" the printer name is in the treeview. To get the treeview to state "Printer Needs Selected!" you must click on a label choice. I can do everything except get the drag & drop to work.

Any help would be greatly appreciated.

#include <GUIConstants.au3>
#Include <GuiStatusBar.au3>
#include <GuiTreeView.au3>
#include <Array.au3>
#Include <GuiList.au3>
#Include <File.au3>
#include <Date.au3>
#include <WindowsConstants.au3>


Global $INIFile = @ScriptDir & '\Label App.ini'
;~ Global $INIFile = 'G:\Packaging\Shared\Prod. Clerk Tools\Bulk Label App\Bulk Label App V2\Bulk.ini'
If Not FileExists($INIFile) Then
    MsgBox(4096,'Error','Unable to locate INI file. Program now closing.')
    Exit
EndIf

Global $LogFile = IniRead($INIFile,'Paths','Log','Error') & 'Label App User Log.txt'
Global $TempFile = @TempDir & '\Label App.txt'
Global $PrinterName = IniRead(IniRead($INIFile,'Paths','LabelView Label.ini File','ERROR'), 'Labelview', 'printer_name', '....') & ' on ' & IniRead(IniRead($INIFile,'Paths','LabelView Label.ini File','ERROR'), 'Labelview', 'port', '....')
_Log($LogFile,'Program Initializing - Printer name is '&$PrinterName)
Global $Kit_Weight, $Caution_Label
Local $OldSelectedLabelCount
Global Const $VK_NUMLOCK = 0x90
_Log($LogFile,'Program Initializing - Creating GUI')

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Labels", 882, 560, -1, -1)

Global $a_PartsRightEdge[3] = [100,230,-1]
Global $a_PartsText[3] = ["Ready...",'','']
$StatusBar1 = _GUICtrlStatusBarCreate ($Form1, $a_PartsRightEdge, $a_PartsText)

$Group1 = GUICtrlCreateGroup("Label Options", 16, 8, 201, 65)
GUICtrlSetColor(-1, 0x0000FF)
$KitSetup = GUICtrlCreateCheckbox("Kit Setup", 32, 26, 169, 20,$BS_PUSHLIKE)
$SingleLabel = GUICtrlCreateCheckbox("Single Label", 32, 45, 169, 20,$BS_PUSHLIKE)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Label Data", 16, 88, 201, 358)
GUICtrlSetColor(-1, 0x0000FF)
$Labe20 = GUICtrlCreateLabel("Sales Order Number:", 24, 112, 113, 16)
$SalesOrder = GUICtrlCreateInput("", 24, 128, 37, 21,$ES_NUMBER)
GUICtrlSetLimit($SalesOrder,5)
$Label3 = GUICtrlCreateLabel("Customer Part Number:", 24, 160, 113, 16)
$CustomerPartNumber = GUICtrlCreateInput("", 24, 176, 145, 21,$ES_UPPERCASE)
GUICtrlSetTip(-1, "Must be the same as found in QAD.")
$Label1 = GUICtrlCreateLabel("Kit Number:", 64, 208, 59, 16)
$Label2 = GUICtrlCreateLabel("TRW", 24, 209, 40, 16)
GUICtrlSetFont(-1, 11, 400, 0, "TRWLogo")
GUICtrlSetColor(-1, 0xFF0000)
$KitNumber = GUICtrlCreateInput("", 24, 224, 113, 21,$ES_UPPERCASE)
$Label4 = GUICtrlCreateLabel("Description:", 24, 256, 60, 16)
$Description = GUICtrlCreateButton("Click to enter description.", 24, 272, 145, 20, 0)
GUICtrlSetCursor ($Description, 0)
GUICtrlSetTip(-1, "Description is selected from user list.")
$Label5 = GUICtrlCreateLabel("Due Date:", 24, 304, 53, 16)
$DueDate = GUICtrlCreateInput("", 24, 320, 49, 21,$ES_NUMBER)
GUICtrlSetLimit($DueDate, 6)
$Label6 = GUICtrlCreateLabel("Quantity Requested:", 24, 352, 101, 16)
$QtyRequested = GUICtrlCreateInput("", 24, 368, 97, 21,$ES_NUMBER)
$Label7 = GUICtrlCreateLabel("Quantity Per Pallet:", 24, 400, 94, 16)
$QtyPerPallet = GUICtrlCreateInput("", 24, 416, 97, 21,$ES_NUMBER)
GUICtrlCreateGroup("", -99, -99, 1, 1)
;~ $Group3 = GUICtrlCreateGroup("Identification Labels", 240, 88, 201, 153)
;~ GUICtrlSetColor(-1, 0x0000FF)
;~ $Label8 = GUICtrlCreateLabel("Quantity on Label:", 256, 112, 90, 16)
;~ $IDQty = GUICtrlCreateInput("", 256, 128, 89, 21,$ES_NUMBER)
;~ $Label9 = GUICtrlCreateLabel("Number of labels with this quantity:", 256, 160, 167, 16)
;~ $IDQtyofLabels = GUICtrlCreateInput("", 256, 176, 89, 21,$ES_NUMBER)
;~ $IDAdd = GUICtrlCreateButton("Add", 256, 208, 89, 20, $BS_DEFPUSHBUTTON)
;~ GUICtrlCreateGroup("", -99, -99, 1, 1)
;~ GUICtrlSetCursor ($IDAdd, 0)
$IDTreeView     = GUICtrlCreateTreeView(664, 16, 201, 280, $TVS_NOSCROLL, $WS_EX_CLIENTEDGE)
$IDTreeView_0   = GUICtrlCreateTreeViewItem("Address Label", $IDTreeView)
$IDTreeView_1   = GUICtrlCreateTreeViewItem("", $IDTreeView_0)
$IDTreeView_2   = GUICtrlCreateTreeViewItem("Standard Label Data", $IDTreeView)
$IDTreeView_15  = GUICtrlCreateTreeViewItem("Sales Order", $IDTreeView_2)
$IDTreeView_16  = GUICtrlCreateTreeViewItem("", $IDTreeView_15)
$IDTreeView_5   = GUICtrlCreateTreeViewItem("Customer Part Number", $IDTreeView_2)
$IDTreeView_6   = GUICtrlCreateTreeViewItem("", $IDTreeView_5)
$IDTreeView_3   = GUICtrlCreateTreeViewItem("Kit Number", $IDTreeView_2)
$IDTreeView_4   = GUICtrlCreateTreeViewItem("", $IDTreeView_3)
$IDTreeView_7   = GUICtrlCreateTreeViewItem("Description", $IDTreeView_2)
$IDTreeView_8   = GUICtrlCreateTreeViewItem("", $IDTreeView_7)
$IDTreeView_9   = GUICtrlCreateTreeViewItem("Due Date", $IDTreeView_2)
$IDTreeView_10  = GUICtrlCreateTreeViewItem("", $IDTreeView_9)
$IDTreeView_11  = GUICtrlCreateTreeViewItem("Quantity Requested", $IDTreeView_2)
$IDTreeView_12  = GUICtrlCreateTreeViewItem("", $IDTreeView_11)
$IDTreeView_13  = GUICtrlCreateTreeViewItem("Quantity Per Pallet", $IDTreeView_2)
$IDTreeView_14  = GUICtrlCreateTreeViewItem("", $IDTreeView_13)
;~ $Group4 = GUICtrlCreateGroup("Address Labels", 240, 8, 201, 65)
;~ GUICtrlSetColor(-1, 0x0000FF)
;~ $GMAddressLabels = GUICtrlCreateCheckbox("GM Address Labels", 256, 26, 169, 20,$BS_PUSHLIKE)
;~ $NONGMAddressLabels = GUICtrlCreateCheckbox("Non-GM Address Labels", 256, 45, 169, 20,$BS_PUSHLIKE)
;~ GUICtrlCreateGroup("", -99, -99, 1, 1)
$List1 = GUICtrlCreateList("", 664, 308, 201, 123)
$LoadPrintJob = GUICtrlCreateButton("Load Print Job", 713, 445, 100, 20)
GUICtrlSetCursor ($LoadPrintJob, 0)
$Print = GUICtrlCreateButton("Print", 16, 464, 201, 25)
GUICtrlSetCursor ($Print, 0)
$Clear = GUICtrlCreateButton("Clear", 16, 500, 201, 25);, 0)
GUICtrlSetCursor ($Clear, 0)

#region ; Label Selection Controls
Dim $ADDRESS_SELECTION_GROUP_X      = 240
Dim $ADDRESS_SELECTION_GROUP_Y      = 10
Dim $ADDRESS_LABELS_GROUP           = GUICtrlCreateGroup("Address Labels", $ADDRESS_SELECTION_GROUP_X - 10, $ADDRESS_SELECTION_GROUP_Y, 165, 127)
Dim $ADDRESS_LIST                   = GUICtrlCreateList('', $ADDRESS_SELECTION_GROUP_X, $ADDRESS_SELECTION_GROUP_Y + 18, 145, 105,BitOR($WS_BORDER,$WS_VSCROLL,$LBS_DISABLENOSCROLL,$LBS_MULTIPLESEL))
GUICtrlSetData(-1,'GM Address Label|NON-GM Address Label','None')
Dim $PACKAGING_SELECTION_GROUP_X    = 240
Dim $PACKAGING_SELECTION_GROUP_Y    = 140
Dim $PACKAGING_LABELS_GROUP         = GUICtrlCreateGroup("Packaging Labels", $PACKAGING_SELECTION_GROUP_X - 10, $PACKAGING_SELECTION_GROUP_Y, 165, 127)
Dim $PACKAGING_LABELS_LIST          = GUICtrlCreateList('', $PACKAGING_SELECTION_GROUP_X, $PACKAGING_SELECTION_GROUP_Y + 18, 145, 105,BitOR($WS_BORDER,$WS_VSCROLL,$LBS_MULTIPLESEL,$LBS_DISABLENOSCROLL))
GUICtrlSetData(-1,'Unit Labels|Master Labels|GM Master','None')
Dim $MISC_SELECTION_GROUP_X         = 240
Dim $MISC_SELECTION_GROUP_Y         = 270
Dim $MISC_LABELS_GROUP              = GUICtrlCreateGroup("Misc. Labels", $MISC_SELECTION_GROUP_X - 10, $MISC_SELECTION_GROUP_Y, 165, 127)
Dim $MISC_LIST                      = GUICtrlCreateList('', $MISC_SELECTION_GROUP_X, $MISC_SELECTION_GROUP_Y + 18, 145, 105,BitOR($WS_BORDER,$WS_VSCROLL,$LBS_MULTIPLESEL,$LBS_DISABLENOSCROLL))
GUICtrlSetData(-1,'Audit Tag|4X6 Over Pack Label|5X3 Over Pack Label','None')
#endregion

;~ BitOr($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), 


;~ $PrinterTreeView = GUICtrlCreateTreeView(410, 16, 201, 280, $TVS_HASLINES, $WS_EX_CLIENTEDGE)
$PrinterTreeView = GUICtrlCreateTreeView(410, 16, 201, 280, BitOr($TVS_HASLINES,$TVS_SHOWSELALWAYS) , $WS_EX_CLIENTEDGE)
GUICtrlSetState(-1,$GUI_DROPACCEPTED)
$PrinterList = GUICtrlCreateList("",410,308,201,123)
GUICtrlSetData(-1,_Identify_Printers())
GUICtrlSetState(-1,$GUI_DROPACCEPTED)
GUICtrlSetState(-1,$GUI_DISABLE)
_GUICtrlTreeViewExpand($IDTreeView)

#EndRegion ### END Koda GUI section ###

_Log($LogFile,'Program Initializing - GUI Created')

$DataInputs = _ArrayCreate($SalesOrder,$KitNumber,$CustomerPartNumber,$Description,$DueDate,$QtyRequested,$QtyPerPallet)

_SetDisplayData()
;~ _EnableAddressLabelOptions(0)
_EnableLabelData(0)
;~ _EnableIDLabelData(0)
;~ _EnableListData(0)
_EnableTreeViewData(0)

_Log($LogFile,'Program Initializing - GUI controls set to a "fresh" state.')

#region  ; Check INI to decide whether or not to run LabelView
If IniRead($INIFile,'Settings','Run LabelView','Error') = 1 Then
    If WinExists('Command File Monitor') <> 1 Then
        _Log($LogFile,'Program Initializing - Opening Labelview Command File Monitor.')
        _OpenLabelView()
        Do
            Sleep(25)
        Until WinExists('Command File Monitor') = 1
        _Log($LogFile,'Program Initializing - Command File Monitor is ready.')
    EndIf
EndIf
#endregion

GUISetState(@SW_SHOW)
_Log($LogFile,'Program Initializing - Painting GUI.')
;_GUICtrlStatusBarSetText ($StatusBar1,"GUI Opened",1)
$ProgressBar1 = _GUICtrlStatusBarCreateProgress ( $StatusBar1,1)
GUICtrlSetColor($ProgressBar1,39950)



$OldInput = ''

;~ If Not FileExists(@DesktopDir & "\Bulk Label App V2.lnk") Then
;~  FileCreateShortcut (@ScriptFullPath, @DesktopDir & "\Bulk Label App V2.lnk")
;~ EndIf
;~ If Not FileExists(@ProgramsDir & "\Bulk Label App V2.lnk") Then
;~  FileCreateShortcut (@ScriptFullPath, @ProgramsDir & "\Bulk Label App V2.lnk")
;~ EndIf

$Inputs = _ArrayCreate('Edit1','Edit2','Edit3','Button6','Edit4','Edit5','Edit6','Edit7')
While 1
    _LabelSelectionUpdate()
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $PrinterTreeView
            MsgBox(262144,'Debug line ~180','Selection:' & @lf & '$PrinterTreeView' & @lf & @lf & 'Return:' & @lf & $PrinterTreeView & @lf & @lf & '@Error:' & @lf & @Error) ;### Debug MSGBOX
            
        
        
;~      Case $GMAddressLabels
;~          If GUICtrlRead($GMAddressLabels) = 1 Then
;~              GUICtrlSetState($NONGMAddressLabels,$GUI_UNCHECKED)
;~              GUICtrlSetData($IDTreeView_1,'GM')
;~              _SetDisplayData()
;~              _EnableLabelData(1)
;~              _Log($LogFile,'User Action: GM address label style.')
;~          Else
;~              GUICtrlSetState($NONGMAddressLabels,$GUI_CHECKED)
;~              GUICtrlSetData($IDTreeView_1,'NON-GM')
;~              _SetDisplayData()
;~              _EnableLabelData(1)
;~              _Log($LogFile,'User Action: NON GM address label style.')
;~          EndIf
;~      Case $NONGMAddressLabels
;~          If GUICtrlRead($NONGMAddressLabels) = 1 Then
;~              GUICtrlSetState($GMAddressLabels,$GUI_UNCHECKED)
;~              GUICtrlSetData($IDTreeView_1,'NON-GM')
;~              _SetDisplayData()
;~              _EnableLabelData(1)
;~              _Log($LogFile,'User Action: NON GM address label style.')
;~          Else
;~              GUICtrlSetState($GMAddressLabels,$GUI_CHECKED)
;~              GUICtrlSetData($IDTreeView_1,'GM')
;~              _SetDisplayData()
;~              _EnableLabelData(1)
;~              _Log($LogFile,'User Action: GM address label style.')
;~          EndIf
        Case $KitSetup
            If GUICtrlRead($KitSetup) = 1 Then
                GUICtrlSetState($SingleLabel,$GUI_UNCHECKED)
                _SetDisplayData()
                _EnableLabelData(1)
                GUICtrlSetData ($ProgressBar1,1)
;~              _EnableAddressLabelOptions(1)
                _Log($LogFile,'User Action: Full kit setup style of production run.')
            Else
                GUICtrlSetState($SingleLabel,$GUI_CHECKED)
                _SetDisplayData()
                _EnableLabelData(1)
                GUICtrlSetData ($ProgressBar1,1)
;~              _EnableAddressLabelOptions(1)
                _Log($LogFile,'User Action: Bpkg/Brec style of production run.')
            EndIf
        Case $SingleLabel
            If GUICtrlRead($SingleLabel) = 1 Then
                GUICtrlSetState($KitSetup,$GUI_UNCHECKED)
                _SetDisplayData()
                _EnableLabelData(1)
                GUICtrlSetData ($ProgressBar1,1)
;~              _EnableAddressLabelOptions(1)
                _Log($LogFile,'User Action: Bpkg/Brec style of production run.')
            Else
                GUICtrlSetState($KitSetup,$GUI_CHECKED)
                _SetDisplayData()
                _EnableLabelData(1)
                GUICtrlSetData ($ProgressBar1,1)
;~              _EnableAddressLabelOptions(1)
                _Log($LogFile,'User Action: Full kit setup style of production run.')
            EndIf
;~      Case $IDAdd
;~          _Log($LogFile,'User Action: ID labels, "Add" button.')
;~          Local $QtyPerLabel = GUICtrlRead($IDQty)
;~          Local $QtyofLabels = GUICtrlRead($IDQtyofLabels)
;~          If $QtyPerLabel = '' Or $QtyofLabels = '' Then
;~              _Log($LogFile,'User Error: ID labels, data incomplete.')
;~              ContinueLoop
;~          EndIf
;~          _EnableListData(1)
;~          If $QtyofLabels > 1 Then
;~              _GUICtrlListAddItem($List1, $QtyofLabels & ' labels at a quantity of ' & $QtyPerLabel)
;~              _Log($LogFile,'Program Action: '& $QtyofLabels & ' labels at a quantity of ' & $QtyPerLabel & ' added to list.')
;~          Else
;~              _GUICtrlListAddItem($List1, $QtyofLabels & ' label at a quantity of ' & $QtyPerLabel)
;~              _Log($LogFile,'Program Action: '& $QtyofLabels & ' label at a quantity of ' & $QtyPerLabel & ' added to list.')
;~          EndIf
;~          GUICtrlSetData($IDQty,'')
;~          GUICtrlSetData($IDQtyofLabels,'')
;~          GUICtrlSetState($IDQty,$GUI_FOCUS)
;~      Case $IDRemove
;~          _Log($LogFile,'User Action: ID label Remove button')
;~          _Log($LogFile,'Program Action: Removed ' & _GUICtrlListGetText($List1,_GUICtrlListSelectedIndex($List1)) & ' from the list.')
;~          _GUICtrlListDeleteItem($List1, _GUICtrlListSelectedIndex($List1))
        Case $Description
            _Log($LogFile,'User Action: Description button')
            HotKeySet('{ENTER}')
            _Description()
            GUICtrlSetState($DueDate,$GUI_FOCUS)
        Case $Clear
            _Log($LogFile,'User Action: Clear clicked.')
;~          _EnableAddressLabelOptions(0)
            _EnableLabelData(0)
;~          _EnableListData(0)
            _EnableTreeViewData(0)
;~          _EnableIDLabelData(0)
            _ClearAllInputs()
            _SetDisplayData()
            GUICtrlSetData($IDTreeView_1,'')
;~          GUICtrlSetState($NONGMAddressLabels,$GUI_UNCHECKED)
;~          GUICtrlSetState($GMAddressLabels,$GUI_UNCHECKED)
;~          GUICtrlSetState($BpkgBrec,$GUI_UNCHECKED)
;~          GUICtrlSetState($BulkESD,$GUI_UNCHECKED)
            _Log($LogFile,'Program Action: GUI controls set to a "fresh" state.')
            ;_GUICtrlStatusBarSetText ($StatusBar1,"Controls Reset",1)
        Case $Print
            _Log($LogFile,'User Action: Print clicked.')
            _Print()
            _Log($LogFile,'Program State: Program side of print process completed')
            ;_GUICtrlStatusBarSetText ($StatusBar1,"Printing complete inside the application.",1)
        Case $GUI_EVENT_CLOSE;, $Close
            _Log($LogFile,'User Action: Either "X" or "Close" button clicked.')
            Exit
        
        Case $PrinterList
            $s_Printer = _GUICtrlListGetSelItemsText($PrinterList)
;~          $s_Printer[1]
            
            
            
    EndSwitch
;~  If GUICtrlRead($SalesOrder) <> '' And GUICtrlRead($KitNumber) <> '' And GUICtrlRead($CustomerPartNumber) <> '' And GUICtrlRead($Description) <> 'Click to enter description.' And GUICtrlRead($DueDate) <> '' And GUICtrlRead($QtyRequested) <> '' And GUICtrlRead($QtyPerPallet) <> '' And GUICtrlGetState($IDQty) = 144 Then
;~      _EnableIDLabelData(1)
;~      _Log($LogFile,'Program Action: ID label controls enabled.')
;~  EndIf

;~  $Inputs = _ArrayCreate('Edit1','Edit2','Edit3','Button6','Edit4','Edit5','Edit6','Edit7')
    $NewInput = ControlGetFocus('Label')
    If $NewInput <> $OldInput Then
        If _ArraySearch($Inputs, $NewInput) <> -1 Then
            _SetDisplayData()
            $OldInput = $NewInput
        EndIf
    EndIf
    
    If StringInStr(ControlGetFocus($Form1),'Edit') Then
        HotKeySet('{ENTER}','_CatchEnterThenTab')
    ElseIf ControlGetFocus($Form1)='Button6' Then
        HotKeySet('{ENTER}')
        _Description()
    Else
        HotKeySet('{ENTER}')
    EndIf
    If @HOUR < 14 Then
        _Log($LogFile,'Program Action: Time is less than 14, running.')
        Exit
    EndIf
    
    If WinActive('Labels') Then _SetNumLock()
    
WEnd

Func _SetDisplayData()
    $Display = _ArrayCreate($IDTreeView_0,$IDTreeView_15,$IDTreeView_2,$IDTreeView_3,$IDTreeView_5,$IDTreeView_7,$IDTreeView_9,$IDTreeView_11,$IDTreeView_13)
    For $i = 1 To UBound($Display)-1
        _GUICtrlTreeViewSetIcon($IDTreeView, $Display[$i],  "shell32.dll", 50)
    Next

;~  $DataInputs = _ArrayCreate($SalesOrder,$KitNumber,$CustomerPartNumber,$Description,$DueDate,$QtyRequested,$QtyPerPallet)
    $TreeItems = _ArrayCreate($IDTreeView_16,$IDTreeView_4,$IDTreeView_6,$IDTreeView_8,$IDTreeView_10,$IDTreeView_12,$IDTreeView_14)
    For $i = 0 To UBound($DataInputs)-1
        If GUICtrlRead($DataInputs[$i]) = '' Or GUICtrlRead($DataInputs[$i]) = 'Click to enter description.' Then
            GUICtrlSetData($TreeItems[$i],'')
            _GUICtrlTreeViewSetIcon($IDTreeView, $TreeItems[$i],  "shell32.dll", 131)
        Else
            GUICtrlSetData($TreeItems[$i],GUICtrlRead($DataInputs[$i]))
            _GUICtrlTreeViewSetIcon($IDTreeView, $TreeItems[$i],  "shell32.dll", 208)
        EndIf
    Next
EndFunc
;~ Func _EnableAddressLabelOptions($View) ; 1=yes 0=no
;~  If $View = 1 Then
;~      GUICtrlSetState($NONGMAddressLabels,$GUI_ENABLE)
;~      GUICtrlSetState($GMAddressLabels,$GUI_ENABLE)
;~      _Log($LogFile,'Program Action: Enabled address label options.')
;~  EndIf
;~  If $View = 0 Then
;~      GUICtrlSetState($NONGMAddressLabels,$GUI_DISABLE)
;~      GUICtrlSetState($GMAddressLabels,$GUI_DISABLE)
;~      _Log($LogFile,'Program Action: Disabled address label options.')
;~  EndIf
;~ EndFunc
Func _EnableLabelData($View) ; 1=yes 0=no
    If $View = 1 Then
        GUICtrlSetState($SalesOrder,$GUI_ENABLE)
        GUICtrlSetState($KitNumber,$GUI_ENABLE)
        GUICtrlSetState($CustomerPartNumber,$GUI_ENABLE)
        GUICtrlSetState($Description,$GUI_ENABLE)
        GUICtrlSetState($DueDate,$GUI_ENABLE)
        GUICtrlSetState($QtyRequested,$GUI_ENABLE)
        GUICtrlSetState($QtyPerPallet,$GUI_ENABLE)
        _EnableTreeViewData(1)
        GUICtrlSetState($SalesOrder,$GUI_FOCUS)
        _Log($LogFile,'Program Action: Enabled Label data controls.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,"Enabled data controls.",1)
    EndIf
    If $View = 0 Then
        GUICtrlSetState($SalesOrder,$GUI_DISABLE)
        GUICtrlSetState($KitNumber,$GUI_DISABLE)
        GUICtrlSetState($CustomerPartNumber,$GUI_DISABLE)
        GUICtrlSetState($Description,$GUI_DISABLE)
        GUICtrlSetState($DueDate,$GUI_DISABLE)
        GUICtrlSetState($QtyRequested,$GUI_DISABLE)
        GUICtrlSetState($QtyPerPallet,$GUI_DISABLE)
        _EnableTreeViewData(0)
        _Log($LogFile,'Program Action: Disabled Label data controls.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,"Disabled data controls.",1)
    EndIf
EndFunc
;~ Func _EnableIDLabelData($View) ; 1=yes 0=no
;~  If $View = 1 Then
;~      GUICtrlSetState($IDQty,$GUI_ENABLE)
;~      GUICtrlSetState($IDQtyofLabels,$GUI_ENABLE)
;~      GUICtrlSetState($IDAdd,$GUI_ENABLE)
;~      GUICtrlSetState($Print,$GUI_ENABLE)
;~      GUICtrlSetState($Clear,$GUI_ENABLE)
;~      GUICtrlSetState($IDRemove,$GUI_ENABLE)
;~  EndIf
;~  If $View = 0 Then
;~      GUICtrlSetState($IDQty,$GUI_DISABLE)
;~      GUICtrlSetState($IDQtyofLabels,$GUI_DISABLE)
;~      GUICtrlSetState($IDAdd,$GUI_DISABLE)
;~      GUICtrlSetState($Print,$GUI_DISABLE)
;~      GUICtrlSetState($Clear,$GUI_DISABLE)
;~      GUICtrlSetState($IDRemove,$GUI_DISABLE)
;~  EndIf
;~ EndFunc
;~ Func _EnableListData($View) ; 1=yes 0=no
;~  If $View = 1 Then
;~      GUICtrlSetState($List1,$GUI_ENABLE)
;~      _Log($LogFile,'Program Action: Enabled ID label list.')
;~  EndIf
;~  If $View = 0 Then
;~      GUICtrlSetState($List1,$GUI_DISABLE)
;~      _Log($LogFile,'Program Action: Disabled ID label list.')
;~  EndIf
;~ EndFunc
Func _EnableTreeViewData($View) ; 1=yes 0=no
    If $View = 1 Then
        GUICtrlSetState($IDTreeView,$GUI_ENABLE)
        _Log($LogFile,'Program Action: Enabled Label data visual.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,"Enabled data tree.",1)
    EndIf
    If $View = 0 Then
        GUICtrlSetState($IDTreeView,$GUI_DISABLE)
        _Log($LogFile,'Program Action: Disabled Label data visual.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,"Disabled data tree.",1)
    EndIf
EndFunc
Func _Description()
    _ListViewGUI('Descriptions on File:',IniRead($INIFile, 'Paths', 'Description File', 'Error'))
    GUICtrlSetState($DueDate,$GUI_FOCUS)
EndFunc   ;==>_Description
Func _ListViewGUI($GUIName,$ListFileName)
    Local $s_FilePath
    Local $a_Description
    Local $ListData
    
    #region ; Ensure the file exists, if so open it.
    If $ListFileName = 'Error' Then
        MsgBox(4096,'Alert','Unable to load path to the description file from "'&$INIFile&'" file.')
        _Log($LogFile,'Unable to load path to the description file from "'&$INIFile&'" file.')
    EndIf
    $File = FileOpen($ListFileName,0)   ; Check if file opened for reading OK
    If $file = -1 Then
        MsgBox(0, "Error", "Unable to locate description file.")
        Exit
    EndIf
    #endregion
    
    #region ; Create description list
    While 1
        $line = FileReadLine($File)
        If @error = -1 Then ExitLoop
        $line = StringMid($line,2,StringLen($line)-2)
        $ListData = $ListData & $line & '|'
    Wend
    FileClose($file)
    _Log($LogFile,'Program Action: Description list created.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,"Description list created.",1)
    #endregion
    
    $Desc = GuiCreate("Description", 210, 335,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
    $Label__ListViewGUI     = GuiCtrlCreateLabel ($GUIName, 10, 10, 190, 20)
    $List__ListViewGUI      = GuiCtrlCreateList  ("", 10, 30, 190, 279)
    GUICtrlSetdata(-1,$ListData)
    $bOk__ListViewGUI       = GuiCtrlCreateButton("Ok"    , 10 , 305, 50, 20,$BS_DEFPUSHBUTTON )
    $bAdd__ListViewGUI      = GuiCtrlCreateButton("Add"   , 60 , 305, 50, 20)
    $bRemove__ListViewGUI   = GuiCtrlCreateButton("Remove", 110, 305, 50, 20)
    $bClose__ListViewGUI    = GuiCtrlCreateButton("Close" , 160, 305, 40, 20)
    GUICtrlSetState($List__ListViewGUI,$GUI_FOCUS)
    GuiSetState()
    WinSetOnTop($Desc,'',1)
    _Log($LogFile,'Program Action: Description GUI created.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,"Description GUI created.",1)
    While 1
        $msg = GuiGetMsg()
        Select
            Case $msg = $GUI_EVENT_CLOSE ; GUI Close
                _Log($LogFile,'User Action: Close "X" clicked.')
                WinSetOnTop("Description",'',0)
                GUIDelete()
                ExitLoop
            Case $msg = $bClose__ListViewGUI ;  Button Close
                _Log($LogFile,'User Action: Close button clicked.')
                WinSetOnTop("Description",'',0)
                GUIDelete()
                ExitLoop
            Case $msg = $bAdd__ListViewGUI ; Add Description
                _Log($LogFile,'User Action: "Add" button clicked.')
                WinSetOnTop("Description",'',0)
                While 1
                    $sDescription = InputBox('Description','Enter New Description:','','',200,130)
                    Select
                        Case @error = 1
                            _Log($LogFile,'User Action: "Cancel" button clicked.')
                            $sDescription = ''
                            ExitLoop
                        Case $sDescription = ''
                            _Log($LogFile,'User Action: "Continue" button clicked - Input field blank.')
                            ContinueLoop
                        Case @error = 0
                            $sDescription = StringUpper($sDescription)
                            FileWrite($ListFileName, '"' & $sDescription & '"' & @LF)
                            _Log($LogFile,'Program Action: '&$sDescription&' added to the description file')
                            ;_GUICtrlStatusBarSetText ($StatusBar1,$sDescription&' added to the description file.',1)
                            GUICtrlSetData($Description,$sDescription)
                            GUIDelete($Desc)
                            ExitLoop(2)
                    EndSelect
                WEnd
            Case $msg = $bOk__ListViewGUI ; Ok Selection
                _Log($LogFile,'User Action: "Ok" clicked')
                $sDescription = GUICtrlRead($List__ListViewGUI)
                If $sDescription = '' Then ContinueLoop
                WinSetOnTop("Description",'',0)
                GUIDelete($Desc)
                GUICtrlSetData($Description ,$sDescription)
                _Log($LogFile,'Program Action: '&$sDescription&' set on the description button.')
                ;_GUICtrlStatusBarSetText ($StatusBar1,$sDescription&' set on the description button.',1)
                ExitLoop
            Case $msg = $bRemove__ListViewGUI ; Remove Selection
                _Log($LogFile,'User Action: "Remove" clicked')
                _FileReadToArray($ListFileName,$a_Description)
                $sDescription = GUICtrlRead($List__ListViewGUI)
                If $sDescription = '' Then ContinueLoop
                $i_index = _ArraySearch($a_Description,'"'&$sDescription&'"')
                _ArrayDelete($a_Description,$i_index)
                FileDelete($ListFileName)
                _FileWriteFromArray($ListFileName,$a_Description,1)
                _Log($LogFile,'Program Action: '&$sDescription&' removed from the description file.')
                ;_GUICtrlStatusBarSetText ($StatusBar1,$sDescription&' removed from the description file.',1)
                WinSetOnTop("Description",'',0)
                MsgBox(4096,'Notice',$sDescription & ' removed from the list.')
                GUIDelete($Desc)
                ExitLoop
        EndSelect
    WEnd
EndFunc
Func _ClearAllInputs()
;~  $Inputs = _ArrayCreate($SalesOrder,$KitNumber,$CustomerPartNumber,$Description,$DueDate,$QtyRequested,$QtyPerPallet,$IDQty,$IDQtyofLabels)
    $Inputs = _ArrayCreate($SalesOrder,$KitNumber,$CustomerPartNumber,$Description,$DueDate,$QtyRequested,$QtyPerPallet)
    For $i = 0 To UBound($Inputs)-1
        If $i = 3 Then
            GUICtrlSetData($Inputs[$i],'Click to enter description.')
        Else
            GUICtrlSetData($Inputs[$i],'')
        EndIf
    Next
;~  GUICtrlSetData($List1,'')
EndFunc
Func _DataVerification()
    #region ; Sales Order Number
    Global $sSalesOrder = GUICtrlRead($SalesOrder)
    If $sSalesOrder = '' Then
        MsgBox(4096, 'Error', 'Sales order number is invalid.' & @CRLF & @CRLF & 'Only digit (0-9) characters.')
        SetError(1)
        _Log($LogFile,'Program Action: Sales Order number is invalid, '&$sSalesOrder&'.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Sales Order number is invalid, '&$sSalesOrder,1)
        Return
    EndIf
    If StringLen($sSalesOrder) <> 5 Then
        MsgBox(4096, 'Error', 'Sales order number is not valid length.' & @CRLF & @CRLF & 'Must be five (5) digits in length.')
        SetError(1)
        _Log($LogFile,'Program Action: Sales Order number is invalid, '&$sSalesOrder&'.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Sales Order number is invalid, '&$sSalesOrder,1)
        Return
    EndIf
    If StringIsDigit($sSalesOrder) = 0 Then
        MsgBox(4096, 'Error', 'Sales order number is invalid.' & @CRLF & @CRLF & 'Only digit (0-9) characters.')
        SetError(1)
        _Log($LogFile,'Program Action: Sales Order number is invalid, '&$sSalesOrder&'.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Sales Order number is invalid, '&$sSalesOrder,1)
        Return
    EndIf
    _Log($LogFile,'Program Action: Sales Order '&$sSalesOrder&' is okay.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Sales Order is valid, '&$sSalesOrder,1)
    #endregion

    #region ; Customer Part Number
    Global $sCustomerPartNumber = GUICtrlRead($CustomerPartNumber)
    If $sCustomerPartNumber = '' Then
        MsgBox(4096, 'Error', 'Customer part number is blank.')
        SetError(2)
        _Log($LogFile,'Program Action: Customer part number is blank.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Customer part number is blank.',1)
        Return
    EndIf
    _Log($LogFile,'Program Action: Customer part number '&$sCustomerPartNumber&' is okay.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Customer part number '&$sCustomerPartNumber&' is okay.',1)
    #endregion

    #region ; TRW Kit Number
    Global $sKitNumber = GUICtrlRead($KitNumber)
    If $sKitNumber = '' Then
        MsgBox(4096, 'Error', 'TRW kit number is blank.')
        SetError(3)
        _Log($LogFile,'Program Action: TRW kit number is blank.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'TRW kit number is blank.',1)
        Return
    EndIf

    If FileExists(IniRead($INIFile,'Paths','Process Sheets','Error') & '\' & $sKitNumber & '.xls') = 0 Then
        MsgBox(4096, 'Error', "Process sheet doesn't exist for this kit number." & @CRLF & @CRLF & 'Unable to print labels, see production clerk.')
        SetError(3)
        _Log($LogFile,'Program Action: No process sheet for TRW kit number '&$sKitNumber&'.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'No process sheet for TRW kit number '&$sKitNumber&'.',1)
        Return
    EndIf
    _Log($LogFile,'Program Action: TRW kit number '&$sKitNumber&' is okay.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'TRW kit number '&$sKitNumber&' is okay.',1)
    #endregion

    #region ; Description
    Global $sDescription = GUICtrlRead($Description)
    If $sDescription = 'Click to Choose Description' Then
        MsgBox(4096, 'Error', 'Description is incorrect.')
        SetError(4)
        _Log($LogFile,'Program Action: Description is incorrect.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Description is incorrect.',1)
        Return
    EndIf
    _Log($LogFile,'Program Action: Description '&$sDescription&' is okay.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Description '&$sDescription&' is okay.',1)
    #endregion

    #region ; Due Date
    Global $sDueDate = GUICtrlRead($DueDate)
    If $sDueDate = '' Then
        MsgBox(4096, 'Error', 'Due date is blank.' & @CRLF & @CRLF & 'Only digit (0-9) characters.')
        SetError(5)
        _Log($LogFile,'Program Action: Date is blank.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Date is blank.',1)
        Return
    EndIf
    If StringLen($sDueDate) <> 6 Then
        MsgBox(4096, 'Error', 'Due date is not valid length.' & @CRLF & @CRLF & 'Must be six (6) digits in length.' & @CRLF & 'Example: 071307')
        SetError(5)
        _Log($LogFile,'Program Action: Date '&$sDueDate&' is invalid length.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Date '&$sDueDate&' is invalid length.',1)
        Return
    EndIf
    If StringIsDigit($sDueDate) = 0 Then
        MsgBox(4096, 'Error', 'Due date is invalid.' & @CRLF & @CRLF & 'Only digit (0-9) characters.')
        SetError(5)
        _Log($LogFile,'Program Action: Date '&$sDueDate&' is bad format.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Date '&$sDueDate&' is bad format.',1)
        Return
    EndIf

    $MONTH = StringLeft($sDueDate, 2)
    $DAY = StringMid($sDueDate, 3, 2)
    $YEAR = '20' & StringRight($sDueDate, 2)

    If _DateIsValid($YEAR & "/" & $MONTH & "/" & $DAY) = 0 Then
        MsgBox(4096, 'Error', 'Due date is invalid.' & @CRLF & @CRLF & 'Either it is entered wrong, or' & @CRLF & 'the date is impossible.')
        SetError(5)
        _Log($LogFile,'Program Action: Date '&$sDueDate&' is not possible.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Date '&$sDueDate&' is not possible.',1)
        Return
    EndIf
    _Log($LogFile,'Program Action: Date '&$sDueDate&' is possible.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Date '&$sDueDate&' is possible.',1)
    #endregion

    #region ; Quantity Requested
    Global $sQtyRequested = GUICtrlRead($QtyRequested)
    If $sQtyRequested = '' Then
        MsgBox(4096, 'Error', 'Quantity requested is blank.' & @CRLF & @CRLF & 'Only digit (0-9) characters.')
        SetError(6)
        _Log($LogFile,'Program Action: Quantity requested is blank.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Quantity requested is blank.',1)
        Return
    EndIf
    If StringIsDigit($sQtyRequested) = 0 Then
        MsgBox(4096, 'Error', 'Quantity requested is invalid.' & @CRLF & @CRLF & 'Only digit (0-9) characters.')
        SetError(6)
        _Log($LogFile,'Program Action: Quantity requested '&$sQtyRequested&' is bad.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Quantity requested '&$sQtyRequested&' is bad.',1)
        Return
    EndIf
    _Log($LogFile,'Program Action: Quantity requested '&$sQtyRequested&' is okay.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Quantity requested '&$sQtyRequested&' is okay.',1)
    #endregion

    #region ; Quantity Per Full Pallet
    Global $sQtyPerPallet = GUICtrlRead($QtyPerPallet)
    If $sQtyPerPallet = '' Then
        MsgBox(4096, 'Error', 'Quantity per full pallet is blank.' & @CRLF & @CRLF & 'Only digit (0-9) characters.')
        SetError(7)
        _Log($LogFile,'Program Action: Quantity per full pallet is blank.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Quantity per full pallet is blank.',1)
        Return
    EndIf
    If StringIsDigit($sQtyPerPallet) = 0 Then
        MsgBox(4096, 'Error', 'Quantity per full pallet is invalid.' & @CRLF & @CRLF & 'Only digit (0-9) characters.')
        SetError(7)
        _Log($LogFile,'Program Action: Quantity per full pallet '&$sQtyRequested&' is bad.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Quantity per full pallet '&$sQtyRequested&' is bad.',1)
        Return
    EndIf
    _Log($LogFile,'Program Action: Quantity per full pallet ('&$sQtyRequested&') is okay.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Quantity per full pallet ('&$sQtyRequested&') is okay.',1)
    #endregion
    SetError(0)
    _Log($LogFile,'Program Action: Data verified okay.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Data verified okay.',1)
EndFunc   ;==>_DataVerification
Func _Print()
    Local $sAddress
    Local $sType
    
    #region ; Verify valid data entry. If invalid data exists it will prompt the user.
    _Log($LogFile,'Program Action: Data verification started.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Data verification started.',1)
    _DataVerification()
    If @error <> 0 Then
        Select
            Case @error = 1
                GUICtrlSetState($SalesOrder, $GUI_ENABLE)
                GUICtrlSetState($SalesOrder, $GUI_FOCUS)
                _Log($LogFile,'Program Action: Sales Order input brought to focus.')
                ;_GUICtrlStatusBarSetText ($StatusBar1,'Sales Order input brought to focus.',1)
                Return
            Case @error = 3
                GUICtrlSetState($KitNumber, $GUI_ENABLE)
                GUICtrlSetState($KitNumber, $GUI_FOCUS)
                _Log($LogFile,'Program Action: Kit number input brought to focus.')
                ;_GUICtrlStatusBarSetText ($StatusBar1,'Kit number input brought to focus.',1)
                Return
            Case @error = 2
                GUICtrlSetState($CustomerPartNumber, $GUI_ENABLE)
                GUICtrlSetState($CustomerPartNumber, $GUI_FOCUS)
                _Log($LogFile,'Program Action: Customer part number input brought to focus.')
                ;_GUICtrlStatusBarSetText ($StatusBar1,'Customer part number input brought to focus.',1)
                Return
            Case @error = 4
                GUICtrlSetState($Description, $GUI_ENABLE)
                GUICtrlSetState($Description, $GUI_FOCUS)
                _Log($LogFile,'Program Action: Description button brought to focus.')
                ;_GUICtrlStatusBarSetText ($StatusBar1,'Description button brought to focus.',1)
                Return
            Case @error = 5
                GUICtrlSetState($DueDate, $GUI_ENABLE)
                GUICtrlSetState($DueDate, $GUI_FOCUS)
                _Log($LogFile,'Program Action: Due date input brought to focus.')
                ;_GUICtrlStatusBarSetText ($StatusBar1,'Due date input brought to focus.',1)
                Return
            Case @error = 6
                GUICtrlSetState($QtyRequested, $GUI_ENABLE)
                GUICtrlSetState($QtyRequested, $GUI_FOCUS)
                _Log($LogFile,'Program Action: Quantity requested input brought to focus.')
                ;_GUICtrlStatusBarSetText ($StatusBar1,'Quantity requested input brought to focus.',1)
                Return
            Case @error = 7
                GUICtrlSetState($QtyPerPallet, $GUI_ENABLE)
                GUICtrlSetState($QtyPerPallet, $GUI_FOCUS)
                _Log($LogFile,'Program Action: Quantity per pallet input brought to focus.')
                ;_GUICtrlStatusBarSetText ($StatusBar1,'Quantity per pallet input brought to focus.',1)
                Return
        EndSelect
    EndIf
    #endregion

    #region ; Define Full and Partial Pallets
    Global $FULL_PALLETS = Int($sQtyRequested / $sQtyPerPallet)
    Global $PARTIAL = $sQtyRequested - ($sQtyPerPallet * $FULL_PALLETS)
    _Log($LogFile,'Program Action: Full and partial pallet calculated.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Full and partial pallet calculated.',1)
    #endregion
    
    #region ; Captailize Alpha Data
    $sCustomerPartNumber = StringUpper($sCustomerPartNumber)
    $sKitNumber = StringUpper($sKitNumber)
    $sDescription = StringUpper($sDescription)
    _Log($LogFile,'Program Action: Alphanumeric data capatilized.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Alphanumeric data capatilized.',1)
    #endregion
    
    #region ; Check/Write Kit Data
    IniReadSection(IniRead($INIFile,'Paths','Finished Kit Data','Error'),$sKitNumber & ',' & $sCustomerPartNumber)
    If @error Then
        IniWrite(IniRead($INIFile,'Paths','Finished Kit Data','Error'),$sKitNumber & ',' & $sCustomerPartNumber,'Description',$sDescription)
        If GUICtrlRead($BpkgBrec) = 1 Then
            $sType = 'Bpkg/Brec'
            _Log($LogFile,'Program Action: Bpkg/Brec added as finished kit type.')
        Else
            $sType = 'Bulk/ESD'
            _Log($LogFile,'Program Action: Bulk/ESD added as finished kit type.')
        EndIf
        IniWrite(IniRead($INIFile,'Paths','Finished Kit Data','Error'),$sKitNumber & ',' & $sCustomerPartNumber,'Type',$sType)
        If GUICtrlRead($NONGMAddressLabels) = 1 Then
            $sAddress = 'NON GM'
            _Log($LogFile,'Program Action: NON GM added as finished kit address label style.')
        Else
            $sAddress = 'GM'
            _Log($LogFile,'Program Action: GM added as finished kit address label style.')
        EndIf
        IniWrite(IniRead($INIFile,'Paths','Finished Kit Data','Error'),$sKitNumber & ',' & $sCustomerPartNumber,'Address Label Style',$sAddress)
        IniWrite(IniRead($INIFile,'Paths','Finished Kit Data','Error'),$sKitNumber & ',' & $sCustomerPartNumber,'Date & Time Entered',_NowCalc())
        
    EndIf
    #endregion
    
    #region ; Write Pallet Data
    For $i = 1 To $FULL_PALLETS
        If GUICtrlRead($BpkgBrec) = 1 Then ; Audit Tag
            _AuditTag(IniRead($INIFile,'Paths','Barcoded Audit Tag','Error'),$sQtyPerPallet)
            _Log($LogFile,'Program Action: Barcoded audit tag print job data added to temp file. Quantity on pallet: '&$sQtyPerPallet)
            ;_GUICtrlStatusBarSetText ($StatusBar1,'Barcoded audit tag print job data added to temp file. Quantity on pallet: '&$sQtyPerPallet,1)
        Else
            _AuditTag(IniRead($INIFile,'Paths','Plain Audit Tag','Error'),$sQtyPerPallet)
            _Log($LogFile,'Program Action: Plain audit tag print job data added to temp file. Quantity on pallet: '&$sQtyPerPallet)
            ;_GUICtrlStatusBarSetText ($StatusBar1,'Plain audit tag print job data added to temp file. Quantity on pallet: '&$sQtyPerPallet,1)
        EndIf
        If GUICtrlRead($NONGMAddressLabels) = 1 Then ; Address Label
            _NonGMShippingLabel('1',IniRead($INIFile,'Paths','NON GM Address Label','Error'),$sQtyPerPallet)
            _Log($LogFile,'Program Action: NON GM address label print job data added to temp file. Quantity on pallet: '&$sQtyPerPallet)
            ;_GUICtrlStatusBarSetText ($StatusBar1,'NON GM address label print job data added to temp file. Quantity on pallet: '&$sQtyPerPallet,1)
            _DCXShipCodeLabel($sSalesOrder)
        Else
            _GMShippingLabels('4',$sQtyPerPallet)
            _Log($LogFile,'Program Action: GM address label print job data added to temp file. Quantity on pallet: '&$sQtyPerPallet)
            ;_GUICtrlStatusBarSetText ($StatusBar1,'GM address label print job data added to temp file. Quantity on pallet: '&$sQtyPerPallet,1)
        EndIf
    Next
    
    If $PARTIAL <> 0 Then
        If GUICtrlRead($BpkgBrec) = 1 Then ; Audit Tag
            _AuditTag(IniRead($INIFile,'Paths','Barcoded Audit Tag','Error'),$PARTIAL)
            _Log($LogFile,'Program Action: Barcoded audit tag print job data added to temp file. Quantity on partial pallet: '&$PARTIAL)
            ;_GUICtrlStatusBarSetText ($StatusBar1,'Barcoded audit tag print job data added to temp file. Quantity on partial pallet: '&$PARTIAL,1)
        Else
            _AuditTag(IniRead($INIFile,'Paths','Plain Audit Tag','Error'),$PARTIAL)
            _Log($LogFile,'Program Action: Plain audit tag print job data added to temp file. Quantity on partial pallet: '&$PARTIAL)
            ;_GUICtrlStatusBarSetText ($StatusBar1,'Plain audit tag print job data added to temp file. Quantity on partial pallet: '&$PARTIAL,1)
        EndIf
        If GUICtrlRead($NONGMAddressLabels) = 1 Then
            _NonGMShippingLabel('1',IniRead($INIFile,'Paths','NON GM Address Label','Error'),$PARTIAL)
            _Log($LogFile,'Program Action: NON GM address label print job data added to temp file. Quantity on partial pallet: '&$PARTIAL)
            ;_GUICtrlStatusBarSetText ($StatusBar1,'NON GM address label print job data added to temp file. Quantity on partial pallet: '&$PARTIAL,1)
            _DCXShipCodeLabel($sSalesOrder)
        Else
            _GMShippingLabels('4',$PARTIAL)
            _Log($LogFile,'Program Action: GM address label print job data added to temp file. Quantity on partial pallet: '&$PARTIAL)
            ;_GUICtrlStatusBarSetText ($StatusBar1,'GM address label print job data added to temp file. Quantity on partial pallet: '&$PARTIAL,1)
        EndIf
    EndIf
    
    #endregion
    #region ; Write ID Label Data
;~  For $i = 0 To _GUICtrlListCount($List1) -1
;~      $value = _GUICtrlListGetText($List1, $i)
;~      $value = StringSplit($value,' ')
;~      If GUICtrlRead($NONGMAddressLabels) = 1 Then ; ID Labels
;~          _NonGMShippingLabel($value[1],IniRead($INIFile,'Paths','NON GM Bulk ID Label','Error'),$value[UBound($value)-1])
;~          _Log($LogFile,'Program Action: NON GM ID label print job data added to temp file. Quantity on pallet: '&$value[UBound($value)-1] &' Number of labels: '&$value[1])
;~      Else
;~          _GMShippingLabels($value[1],$value[UBound($value)-1])
;~          _Log($LogFile,'Program Action: GM ID label print job data added to temp file. Quantity on pallet: '&$value[UBound($value)-1] &' Number of labels: '&$value[1])
;~      EndIf
;~  Next
    #endregion
    
    FileCopy($TempFile,IniRead(IniRead($INIFile,'Paths','LabelView Label.ini File','ERROR'), 'Command File', 'Monitor Dir', '....') &'\Bulk.cmd')
    _Log($LogFile,'Program Action: Temp file copied to '&IniRead(IniRead($INIFile,'Paths','LabelView Label.ini File','ERROR'), 'Command File', 'Monitor Dir', '....') &'\Bulk.cmd')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Temp file copied to '&IniRead(IniRead($INIFile,'Paths','LabelView Label.ini File','ERROR'), 'Command File', 'Monitor Dir', '....') &'\Bulk.cmd',1)
    
    FileDelete($TempFile)
    _Log($LogFile,'Program Action: Temp file deleted.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'Temp file deleted.',1)
    _ClearAllInputs()
    _Log($LogFile,'Program Action: All inputs cleared.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'All inputs cleared.',1)
    
    GUICtrlSetState($BpkgBrec,$GUI_UNCHECKED)
    GUICtrlSetState($BulkESD,$GUI_UNCHECKED)
    GUICtrlSetState($NONGMAddressLabels,$GUI_UNCHECKED)
    GUICtrlSetState($GMAddressLabels,$GUI_UNCHECKED)
    _SetDisplayData()
;~  _EnableAddressLabelOptions(0)
    _EnableLabelData(0)
;~  _EnableIDLabelData(0)
;~  _EnableListData(0)
    _EnableTreeViewData(0)
    _Log($LogFile,'Program Action: GUI controls set to a "fresh" state.')
    ;_GUICtrlStatusBarSetText ($StatusBar1,'GUI controls reset.',1)
EndFunc
Func _AuditTag($Label,$QOP)
    $Caution_Label = Caution_label($sKitNumber,$sCustomerPartNumber,$sSalesOrder,$QOP)
    FileWriteLine($TempFile, 'LABELNAME = "' & $Label & '"' & @CRLF & _
            'Printer = "' & $PrinterName & '"' & @CRLF & _
            'SO = "' & $sSalesOrder & '"' & @CRLF & _
            'Cust = "' & $sCustomerPartNumber & '"' & @CRLF & _
            'text16 = "' & $sKitNumber & '"' & @CRLF & _
            'Desc = "' & $sDescription & '"' & @CRLF & _
            'Due = "' & $sDueDate & '"' & @CRLF & _
            'qop = "' & $QOP & '"' & @CRLF & _
            'QTY = "' & $sQtyRequested & '"' & @CRLF & _
            'PER = "' & $sQtyPerPallet & '"' & @CRLF & _
            'Partial = "' & $PARTIAL & '"' & @CRLF & _
            'FP = "' & $FULL_PALLETS & '"' & @CRLF & _
            'Full_Weight = "' & $Kit_Weight * $QOP + 50 & '"' & @CRLF & _
            'Current_Weight = "' & $Kit_Weight * $QOP + 50 & '"' & @CRLF & _
            'Caution_Label = "' & $Caution_Label & '"' & @CRLF & _
            'LABELQUANTITY =1')
EndFunc   ;==>_AuditTag
Func _DCXShipCodeLabel($sSalesOrder)
    Local $Ship_Code_Number = IniRead(IniRead($INIFile,'Paths','DCX Ship Code File','Error'), 'Ship Codes', $sSalesOrder, 'Error')
    If $Ship_Code_Number <> 'Error' Then
        FileWriteLine($TempFile, 'LABELNAME = "' & IniRead($INIFile,'Paths','DCX Ship Code Label','Error') & '"' & @CRLF & _
                'Printer = "' & $PrinterName & '"' & @CRLF & _
                'Text16 = "' & $Ship_Code_Number & '"' & @CRLF & _
                'LABELQUANTITY =1')
        _Log($LogFile,'Program Action: DCX ship code label print job data added to temp file. Code: '&$Ship_Code_Number)
        ;_GUICtrlStatusBarSetText ($StatusBar1,'DCX Ship code label.',1)
    EndIf
EndFunc   ;==>_DCXShipCodeLabel
Func _NonGMShippingLabel($qty,$Label,$QOP)
    FileWriteLine($TempFile, 'LABELNAME = "' & $Label & '"' & @CRLF & _
            'Printer = "' & $PrinterName & '"' & @CRLF & _
            'Text19 = "' & $sSalesOrder & '"' & @CRLF & _
            'Part = "' & $sCustomerPartNumber & '"' & @CRLF & _
            'kit = "' & $sKitNumber & '"' & @CRLF & _
            'text14 = "' & $sDescription & '"' & @CRLF & _
            'QTY = "' & $QOP & '"' & @CRLF & _
            'LABELQUANTITY ='&$qty)
EndFunc   ;==>_NonGMShippingLabel
Func _GMShippingLabels($qty,$QOP)
    FileWriteLine($TempFile, 'LabelName = "' & IniRead($INIFile,'Paths','GM Address Label','Error') & '"' & @CRLF & _
            'Printer = "' & $PrinterName & '"' & @CRLF & _
            'SO = "' & $sSalesOrder & '"' & @CRLF & _
            'Part = "' & $sCustomerPartNumber & '"' & @CRLF & _
            'text40 = "' & $sKitNumber & '"' & @CRLF & _
            'text38 = "' & $sDescription & '"' & @CRLF & _
            'QTY = "' & $QOP & '"' & @CRLF & _
            'LABELQUANTITY = '&$qty)
EndFunc   ;==>_GMShippingLabels
Func Caution_label($sKitNumber,$sCustomerPartNumber,$sSalesOrder,$QOP)
    Local $Sales_Order_Customer = IniRead(IniRead($INIFile,'Paths','Finished Kit Data', "ERROR"),$sKitNumber & ',' & $sCustomerPartNumber, 'Heavy Load Label', "ERROR")
    $Kit_Weight = IniRead(IniRead($INIFile,'Paths','Finished Kit Data', "ERROR"),$sKitNumber&','&$sCustomerPartNumber, "Weight", "ERROR")
    If $Sales_Order_Customer = 'ERROR' Then
        _Log($LogFile,'Program Action: Opening heavy load label GUI.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Opening heavy load label GUI.',1)
        _HeavyLoadLabelGUI($sKitNumber,$sCustomerPartNumber,IniRead($INIFile,'Paths','Finished Kit Data', "ERROR"))
    EndIf
    If $Kit_Weight = 'ERROR' Then
        _Log($LogFile,'Program Action: Opening kit weight GUI.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,'Opening kit weight GUI.',1)
        _KitWeightGUI($sKitNumber,$sCustomerPartNumber,IniRead($INIFile,'Paths','Finished Kit Data', "ERROR"))
    EndIf
    If $Kit_Weight * $QOP + 50 >= 800 Then
        Select
            Case $Sales_Order_Customer = "FORD"
                $Caution_Label = "Ford Heavy.bmp"
                _Log($LogFile,'Program Action: '&$Caution_Label&' selected as heavy load image.')
                ;_GUICtrlStatusBarSetText ($StatusBar1,$Caution_Label&' selected as heavy load image.',1)
                Return $Caution_Label
            Case Else
                $Caution_Label = "BonW Heavy.bmp"
                _Log($LogFile,'Program Action: '&$Caution_Label&' selected as heavy load image.')
                ;_GUICtrlStatusBarSetText ($StatusBar1,$Caution_Label&' selected as heavy load image.',1)
                Return $Caution_Label
        EndSelect
    Else
        $Caution_Label = "Nothing.bmp" ;Fake file
        _Log($LogFile,'Program Action: '&$Caution_Label&' selected as heavy load image.')
        ;_GUICtrlStatusBarSetText ($StatusBar1,$Caution_Label&' selected as heavy load image.',1)
        Return $Caution_Label
    EndIf
EndFunc   ;==>Caution_label
Func _CatchEnterThenTab()
    Send('{TAB}')
EndFunc
Func _OpenLabelView()
    $s_LabelViewExe = RegRead('HKEY_CLASSES_ROOT\Lblvw.Document\shell\open\command','')
    $s_LabelViewExe = StringSplit($s_LabelViewExe,' ')
    $LabelView_PID = Run($s_LabelViewExe[1] & " /cmdm " & IniRead(IniRead($INIFile,'Paths','LabelView Label.ini File','ERROR'), 'Command File', 'Monitor Dir', '....'))
    _Log($LogFile,'Program Initializing - Waiting on Command File Monitor to open.')
    WinWait('Command File Monitor')
    WinActivate($Form1)
    WinWaitActive($Form1)
EndFunc
Func _GetNumLock()
    Local $ret
    $ret = DllCall("user32.dll","long","GetKeyState","long",$VK_NUMLOCK)
    Return $ret[0]
EndFunc
Func _SetNumLock()
    If _GetNumLock() = 0 Then
        ConsoleWrite('@@ Debug(865) : _GetNumLock() = ' & _GetNumLock() & @lf & '>Error code: ' & @error & @lf) ;### Debug Console
        Do
            Send('{NUMLOCK}')
            Sleep(200)
        Until _GetNumLock() = 1
    EndIf
EndFunc
Func _LabelSelectionUpdate()
    Dim $a_ListBox[4]
    $a_ListBox[1] = $ADDRESS_LIST
    $a_ListBox[2] = $PACKAGING_LABELS_LIST
    $a_ListBox[3] = $MISC_LIST
    $SelectedLabelCount = 0
    For $i = 1 To 3
        $SelectedLabelCount += _GUICtrlListGetSelCount($a_ListBox[$i])
    Next
    If $SelectedLabelCount <> $OldSelectedLabelCount Then
        _GUICtrlTreeViewDeleteAllItems ( $PrinterTreeView )
        GUICtrlSetState($PrinterList,$GUI_DISABLE)
        GUICtrlSetData ( $PrinterList,'|'&_Identify_Printers())
        Dim $a_list
        Dim $PrinterTreeViewItem[1][1][1]
        For $i = 1 to 3
            $a_list = _GUICtrlListGetSelItemsText($a_ListBox[$i])
            ReDim $PrinterTreeViewItem[Ubound($PrinterTreeViewItem,1)+1][Ubound($PrinterTreeViewItem,2)+1][Ubound($PrinterTreeViewItem,3)+1]
            Select
                Case $i = 1
                    $PrinterTreeViewItem[1][1][1] = _GUICtrlTreeViewInsertItem($PrinterTreeView,'Address Labels')
                Case $i = 2
                    $PrinterTreeViewItem[2][1][1] = _GUICtrlTreeViewInsertItem($PrinterTreeView,'Packaging Labels')
                Case $i = 3
                    $PrinterTreeViewItem[3][1][1] = _GUICtrlTreeViewInsertItem($PrinterTreeView,'Misc. Labels')
            EndSelect
            For $ii = 1 To Ubound($a_list) -1
                ReDim $PrinterTreeViewItem[Ubound($PrinterTreeViewItem,1)][Ubound($PrinterTreeViewItem,2)+1][Ubound($PrinterTreeViewItem,3)]
                $PrinterTreeViewItem[Ubound($PrinterTreeViewItem,1)-1][Ubound($PrinterTreeViewItem,2)-1][Ubound($PrinterTreeViewItem,1)-1] = _GUICtrlTreeViewInsertItem($PrinterTreeView,$a_list[$ii],$PrinterTreeViewItem[$i][1][1])
                ReDim $PrinterTreeViewItem[Ubound($PrinterTreeViewItem,1)][Ubound($PrinterTreeViewItem,2)][Ubound($PrinterTreeViewItem,3)+1]
                $PrinterTreeViewItem[Ubound($PrinterTreeViewItem,1)-1][Ubound($PrinterTreeViewItem,2)-1][Ubound($PrinterTreeViewItem,1)-1] = _GUICtrlTreeViewInsertItem($PrinterTreeView,'Printer Needs Selected!',$PrinterTreeViewItem[Ubound($PrinterTreeViewItem,1)-1][Ubound($PrinterTreeViewItem,2)-1][Ubound($PrinterTreeViewItem,1)-1])
                _GUICtrlTreeViewExpand($PrinterTreeView)
                GUICtrlSetState($PrinterList,$GUI_ENABLE)
            Next
        Next
        $OldSelectedLabelCount = $SelectedLabelCount
    EndIf
EndFunc
 
 
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        ;;;;;;;;;;;;;;;;;;;;;;;;                 09/25/07                 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Func _Identify_Printers()
    Local $key, $default, $i = 1, $list, $name
    If @OSTYPE = "WIN32_WINDOWS" Then ;for 95/98/Me
        $key = "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Printers"
        $default = RegRead("HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\Print\Printers", "Default")
    Else;WIN_NT type   for NT/2000/XP/2003
        $key = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers"
        $default = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows", "Device")
        $default = StringLeft($default, StringInStr($default, ",") - 1);remove info after comma...
    EndIf
    
    ; ENUMERATE LOCAL PRINTERS
    While 1
        RegRead($key, "")
        If @error = 1 Then ExitLoop
        Local $name = RegEnumKey($key, $i)
        If @error Then ExitLoop
;~         Local $port = " on " & RegRead($key & "\" & $name, "Port")
;~         If StringReplace($name,",","\") = $default Then $port = ' * DEFAULT * ' & $port
;~         $list = $list & StringReplace($name,",","\") & $port & @CRLF
        $list = $list & StringReplace($name,",","\") & '|'
        $i = $i + 1
    WEnd
    
    If $list = "" Then $list = "No printers detected" & @CRLF
    Return $list
EndFunc   ;==>_Identify_Printers


#region ; Kit Weight INI
;~ $s_CustomerPartNumber = '04721820AE'
;~ $s_Kit = 136041
;~ $s_KitDataFile = 'C:\Testkitweight.ini'
;~ _KitWeightGUI($s_Kit,$s_CustomerPartNumber,$s_KitDataFile)

Func _KitWeightGUI($s_Kit,$s_CustomerPartNumber,$s_KitDataFile)
;~  #include <GUIConstants.au3>
;~  #include <Array.au3>
    Local $i_Weight
    Local $msg
    Local $Form1, $Label1, $Label2, $CtrlB_Continue ; GUI Controls
    
    #Region ### START Koda GUI section ### Form=
    $Kit_Setup = GUICreate("Kit Setup", 265, 128, -1, -1)
    $Label1 = GUICtrlCreateLabel("Kit "&$s_Kit&" is currently not on file.", 8, 8, 260, 17)
    $Label2 = GUICtrlCreateLabel("To create labels for this kit you must enter the weight of a finished kit. The weight should be on your process sheet already.", 8, 32, 245, 49)
    $CtrlI_Weight = GUICtrlCreateInput("", 8, 96, 49, 21)
    GUICtrlSetCursor ($CtrlI_Weight, 5)
    $CtrlB_Continue = GUICtrlCreateButton("Continue", 104, 96, 145, 23, $BS_DEFPUSHBUTTON)
    GUICtrlSetCursor ($CtrlB_Continue, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    WinSetOnTop($Kit_Setup,'',1)
    While 1
        Sleep(10)
        $msg = GUIGetMsg()
        Switch $msg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $CtrlB_Continue
                $i_Weight = GUICtrlRead($CtrlI_Weight)
                If StringIsDigit($i_Weight)Then
                    SetError(0)
                ElseIf StringRegExp($i_Weight,'[0123456789]*[.][0123456789]+') <> 0  Then
                    SetError(0)
                Else
                    SetError(1)
                EndIf
                If @error Then 
                    GUISetState(@SW_HIDE)
                    MsgBox(4096+48,'Error','Invalid format, only digits (0-9) are acceptable.')
                    GUICtrlSetData($CtrlI_Weight,'')
                    GUICtrlSetState($CtrlI_Weight,$GUI_FOCUS)
                    GUISetState(@SW_SHOW)
                    ContinueLoop
                Else
                    IniWrite($s_KitDataFile,$s_Kit&','&$s_CustomerPartNumber,'Weight',$i_Weight)
                    WinSetOnTop($Kit_Setup,'',0)
                    GUIDelete($Kit_Setup)
                    ExitLoop
                EndIf
        EndSwitch
    WEnd
    
EndFunc
#endregion
#region ; Customer Name - Sales Order Link INI
;~ #include <GUIConstants.au3>

;~ $s_CustomerPartNumber = '04721820AE'
;~ $s_Kit = 136041
;~ $s_KitDataFile = 'C:\Testkitdata.ini'

;~ _HeavyLoadLabelGUI($s_Kit,$s_CustomerPartNumber,$s_KitDataFile)

Func _HeavyLoadLabelGUI($s_Kit,$s_CustomerPartNumber,$s_KitDataFile)
    #Region ### START Koda GUI section ### Form=
    $Heavy_Load = GUICreate("Label Selection", 233, 388, -1, -1)
    $Label1 = GUICtrlCreateLabel("This sales order is currently not on file.", 16, 16, 183, 17)
    $Label2 = GUICtrlCreateLabel("Select the image below, that best suits the proper label, required for the customer.", 16, 40, 203, 33)
    $Pic1 = GUICtrlCreatePic("G:\Packaging\Labels\LVWIN70\PCX\Ford Heavy.bmp", 24, 88, 185, 137, BitOR($SS_NOTIFY,$WS_GROUP))
    GUICtrlSetCursor ($Pic1, 0)
    $Pic2 = GUICtrlCreatePic("G:\Packaging\Labels\LVWIN70\PCX\BonW Heavy.bmp", 24, 240, 185, 121, BitOR($SS_NOTIFY,$WS_GROUP))
    GUICtrlSetCursor ($Pic2, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    WinSetOnTop($Heavy_Load,'',1)
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $Pic1
                IniWrite($s_KitDataFile,$s_Kit&','&$s_CustomerPartNumber,'Heavy Load Label','Ford')
                ExitLoop
            Case $Pic2
                IniWrite($s_KitDataFile,$s_Kit&','&$s_CustomerPartNumber,'Heavy Load Label','Other')
                ExitLoop
        EndSwitch
    WEnd
    WinSetOnTop($Heavy_Load,'',0)
    GUIDelete($Heavy_Load)
EndFunc
#endregion
Func _Log($s_LogFile,$WhatToLog)
    Local $file = FileOpen($s_LogFile,1)
    FileWriteLine($file, _NowDate() & ' ' & _NowTime(5) & ' ' & $WhatToLog );& @CRLF)
    FileClose($file)
EndFunc

INI TreeViewA bus station is where a bus stops, a train station is where a train stops. Onmy desk I have a work station...

Share this post


Link to post
Share on other sites



I'm guessing this isn't possible?


INI TreeViewA bus station is where a bus stops, a train station is where a train stops. Onmy desk I have a work station...

Share this post


Link to post
Share on other sites

well i think its possible but it would be a work around is that ok?

Share this post


Link to post
Share on other sites

I'm open for anything, except that it has to be limitless.


INI TreeViewA bus station is where a bus stops, a train station is where a train stops. Onmy desk I have a work station...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0