Sign in to follow this  
Followers 0
trdunsworth

Is it possible

11 posts in this topic

I'm working on a program with a colleague. He wants to create a function which takes 3 parameters and then loop through two arrays which I think we can do well enough. However, we want this to be attached to a GUI form we've built so when the user clicks a button, it will invoke the function which then takes the local variables as the parameters for the function and executes it.

I know that GUICtrlSetOnEvent can't take parameters, but is there a way to get around this and make this work?

Share this post


Link to post
Share on other sites



Jfish is correct, but you're going to have to provide us with some sort of reproducer - even just the shell of your GUI - in order for us to be of assistance. Help us help you ;)


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <DateTimeConstants.au3>
#include <IE.au3>
#include <InetConstants.au3>
#include <StringConstants.au3>
#include <FileConstants.au3>
#include <Excel.au3>
#include <MsgBoxConstants.au3>

Opt('GUIOnEventMode', 1)

GUICreate("JCSO NCIC Entry", 1500, 900)

GUISetOnEvent($GUI_EVENT_CLOSE, 'GUIExit')

Global $sFont = "Calibri"

;LICENSE VARIABLES
Global $FLmke
Global $FLori
Global $FLlic
Global $FLlis
Global $FLliy
Global $FLlit
Global $FLdot
Global $FLoca
Global $FLnic
Global $FLlki
Global $FLlka
Global $FLnoa
Global $FLmis
Global $FLdor
Global $FLofc
Global $FLdoe
Global $FLop1
Global $FLdo2
Global $FLop2
Global $FLdom
Global $FLop3
Global $FLdoc
Global $FLop4

;Menu Creation
Local $filemenu = GUICtrlCreateMenu("&File")
Local $helpmenu = GUICtrlCreateMenu("?")
Local $openItem = GUICtrlCreateMenuItem("&Open", $filemenu)
Local $saveItem = GUICtrlCreateMenuItem("&Save", $filemenu)
Local $infoItem = GUICtrlCreateMenuItem("Info", $helpmenu)
Local $exitItem = GUICtrlCreateMenuItem("E&xit", $filemenu)

;Tab Creation
GUICtrlCreateTab(0,0,1500,880)

;Create the License Plate Tab
GUICtrlCreateTabItem("License Plate")

;Create the form labels
GUICtrlCreateLabel("Message Key (MKE)", 20, 40, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Originating Agency (ORI)", 20, 80, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("License Plate No. (LIC)", 20, 120, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("License Plate St. (LIS)", 20, 160, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Expiration Year (LIY)", 20, 200, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("License Plate Type (LIT)", 20, 240, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Date of Theft (DOT)", 20, 280, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Case Number (OCA)", 20, 320, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("NCIC Number (NIC)", 20, 360, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Linking Agency Id (LKI)", 20, 400, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Linking Case Number (LKA)", 20, 440, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Notify Originating Agency (NOA)", 20, 480, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Miscellaneous Info (MIS)", 20, 520, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("ENTRY & SECOND PARTY CHECK", 550, 40, 200, 75)
GUICtrlSetFont(-1, 10, 700, 6, $sFont, 5)
GUICtrlCreateLabel("", 500, 60, 200, 75)
GUICtrlCreateLabel("Date Received", 500, 80, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Date of Entry", 500, 160, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Date of Second Party Check", 500, 240, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Modify Date", 500, 320, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Clear, Cancel, or Locate Date", 500, 400, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Officer/Agency", 500, 120, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 200, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 280, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 360, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 440, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)

;Create the Input parameters
$FLmke = GUICtrlCreateCombo("", 225, 40, 200, 25)
$FLori = GUICtrlCreateInput("", 225, 80, 200, 25)
$FLlic = GUICtrlCreateInput("", 225, 120, 200, 25)
$FLlis = GUICtrlCreateCombo("", 225, 160, 200, 25)
$FLliy = GUICtrlCreateInput("", 225, 200, 200, 25)
$FLlit = GUICtrlCreateCombo("", 225, 240, 200, 25)
$FLdot = GUICtrlCreateDate("", 225, 280, 200, 25, $DTS_SHORTDATEFORMAT)
$FLoca = GUICtrlCreateInput("", 225, 320, 200, 25)
$FLnic = GUICtrlCreateInput("", 225, 360, 200, 25)
$FLlki = GUICtrlCreateInput("", 225, 400, 200, 25)
$FLlka = GUICtrlCreateInput("", 225, 440, 200, 25)
$FLnoa = GUICtrlCreateInput("", 225, 480, 200, 25)
$FLmis = GUICtrlCreateInput("", 225, 520, 200, 150)
$FLdor = GUICtrlCreateDate("", 675, 80, 200, 25, $DTS_SHORTDATEFORMAT)
$FLofc = GUICtrlCreateInput("", 675, 120, 200, 25)
$FLdoe = GUICtrlCreateDate("", 675, 160, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop1 = GUICtrlCreateInput("", 675, 200, 200, 25)
$FLdo2 = GUICtrlCreateDate("", 675, 240, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop2 = GUICtrlCreateInput("", 675, 280, 200, 25)
$FLdom = GUICtrlCreateDate("", 675, 320, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop3 = GUICtrlCreateInput("", 675, 360, 200, 25)
$FLdoc = GUICtrlCreateDate("", 675, 400, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop4 = GUICtrlCreateInput("", 675, 440, 200, 25)

Local $mke
Local $ori
Local $lic
Local $lis
Local $liy
Local $lit
Local $dot
Local $oca
Local $lki
Local $lka
Local $noa
Local $mis
Local $nic
Local $dor
Local $ofc
Local $doe
Local $op1
Local $do2
Local $op2
Local $dom
Local $op3
Local $doc
Local $op4

;Fill the Combo Box data
GUICtrlSetData($FLlis, $stateList)
GUICtrlSetData($FLlit, $ptList)
GUICtrlSetData($FLmke, $catList)

Local $oFileName = "StolenPlate"
Local $aInputVal[23] = [$mke, $ori, $lic, $lis, $liy, $lit, $dot, $oca, $lki, $lka, $noa, $mis, $nic, $dor, $ofc, $doe, $op1, $do2, $op2, $dom, $op3, $doc, $op4]
Local $aInputLoc[23] = ["C3","C5","C7","C9","C11","C13","C15","F3","F5","F7","F9","F11","F13","C21","F21","C22","F22","C23","F23","C24","F24","C25","F25"]

;Button 1
GUICtrlCreateButton("REJIS Entry", 1390, 760, 100, 30)
GUICtrlSetOnEvent(-1, 'PlateToRejis')

;Button 2
GUICtrlCreateButton("Print Preview", 1390, 800, 100, 30)
;GUICtrlSetOnEvent(-1, "TempForm")

Func TempForm($oFileName, $aInpulVal, $aInputLoc)
    ;****************************************************************************
    ; CREATE TEM FORM FROM CALLED DEFAULT FORM, RENAME, AND SAVE
    ;****************************************************************************
    Local $oTempFile = $oFileName&@ComputerName&@MDAY&@HOUR&@MIN&@SEC
    ;Create application object and open example workbook
    Local $oAppl = _Excel_Open(False)
    ;If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example", "Error creating the Excel application object.", & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    Local $oWorkbook = _Excel_BookOpen($oAppl, @ScriptDir & "\"&$oFileName&".xlsx")
    If @error Then
            MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example", "Error opening workbook '" & @ScriptDir & "\Forms\"&$oFileName&".xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            _Excel_Close($oAppl)
            Exit
    EndIf
    ;****************************************************************************
    ; SAVE THE WORKBOOK (xlsx) TO ANOTHER DIRECTORY AND OPEN
    ;****************************************************************************
    Local $sWorkbook = @ScriptDir&"\archive\"&$oTempFile&".xlsx"
    _Excel_BookSaveAs($oWorkbook, $sWorkbook)
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example 1", "Error saving workbook to '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_BookClose($oWorkBook)
    OpnWrt($oTempFile,$aInputVal,$aInputLoc)
EndFunc

Func OpnWrt($oFileName, $aInputVal, $aInputLoc)
    ; Create application object and open example workbook
    Local $oAppl = _Excel_Open()
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    Local $oWorkbook = _Excel_BookOpen($oAppl, @ScriptDir & "\archive\"&$oFileName&".xlsx")
    If @error Then
            MsgBox($MB_SYSTEMMODAL, "Open Temp Doc", "Error opening workbook '" & @ScriptDir & "\Forms\"&$oFileName&".xlsx'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            _Excel_Close($oAppl)
            Exit
    EndIf
    ;****************************************************************************
    ; WRITE DATA FROM GUI TO TEMP EXCEL DOC
    ;****************************************************************************
    For $a = 0 to UBound($aInputVal) -1
        _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aInputVal[$a], $aInputLoc[$a])
    Next
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeWrite Example 3", "Error writing to worksheet." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_BookSave($oWorkBook)
    $oAppl = _Excel_Open()
EndFunc

Ok, that's a bit long, but it's the shell of the GUI function. The PlateToRejis function works fine so is not included. I've wondered if we even need to put the parameters in the function or just let them get called as they are 

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

A working shell would be better  ... :D

I see two functions with three parameters:

TempForm($oFileName, $aInpulVal, $aInputLoc)
and 
OpnWrt($oFileName, $aInputVal, $aInputLoc)

You would need to tie one or both of them to the desired buttons and make sure the parameters being supplied have the appropriate scope so they can be read when called as part of the function. 

Edited by Jfish

Build your own poker game with AutoIt: pokerlogic.au3 | Learn To Program Using FREE Tools with AutoIt

Share this post


Link to post
Share on other sites

Sorry the whole thing is several hundred lines. So I was trying to edit for time purposes. I figured you wouldn't want to read some of the other stuff in there.  o:)

The second function is called in the first above it. (Not my code, I'm incorporating the other code and trying to finish off the wiring. 

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <DateTimeConstants.au3>
#include <IE.au3>
#include <InetConstants.au3>
#include <StringConstants.au3>
#include <FileConstants.au3>
#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Changes to OnEvent Mode
Opt('GUIOnEventMode', 1)
AutoItSetOption("WinTitleMatchMode",2)
AutoItSetOption("MouseCoordMode", 2)

GUICreate("JCSO NCIC Entry", 1500, 900)

GUISetOnEvent($GUI_EVENT_CLOSE, 'GUIExit')

GUISetIcon("icon.ico")
Global $sFont = "Calibri"

;LICENSE VARIABLES
Global $FLmke
Global $FLori
Global $FLlic
Global $FLlis
Global $FLliy
Global $FLlit
Global $FLdot
Global $FLoca
Global $FLnic
Global $FLlki
Global $FLlka
Global $FLnoa
Global $FLmis
Global $FLdor
Global $FLofc
Global $FLdoe
Global $FLop1
Global $FLdo2
Global $FLop2
Global $FLdom
Global $FLop3
Global $FLdoc
Global $FLop4

;MISSING PERSON VARIABLES
Global $FMmke
Global $FMori
Global $FMdlc
Global $FMoca
Global $FMmnp
Global $FMmpc
Global $FMnoa
Global $FMnam
Global $FMsex
Global $FMrac
Global $FMpob
Global $FMdob
Global $FMhgt
Global $FMwgt
Global $FMeye
Global $FMhai
Global $FMfbi
Global $FMskn
Global $FMsmt
Global $FMfpc
Global $FMmnu
Global $FMsoc
Global $FMdna
Global $FMdlo
Global $FMcmc
Global $FMctz
Global $FMbxr
Global $FMcrc
Global $FMvrx
Global $FMblt
Global $FMfpa
Global $FMoln
Global $FMols
Global $FMoly
Global $FMlic
Global $FMlis
Global $FMliy
Global $FMlit
Global $FMvin
Global $FMvyr
Global $FMvma
Global $FMvst
Global $FMvco
Global $FMlki
Global $FMlka
Global $FMjwl
Global $FMjwt
Global $FMmis
Global $FMnic
Global $FMdor
Global $FMdoe
Global $FMdo2
Global $FMdom
Global $FMdoc
Global $FMofc
Global $FMop1
Global $FMop2
Global $FMop3
Global $FMop4

;WARRANTS VARIABLES
Global $FWmke
Global $FWori
Global $FWnam
Global $FWsex
Global $FWrac
Global $FWpob
Global $FWdob
Global $FWhgt
Global $FWwgt
Global $FWeye
Global $FWhai
Global $FWfbi
Global $FWskn
Global $FWsmt
Global $FWfpc
Global $FWmnu
Global $FWsoc
Global $FWdna
Global $FWdno
Global $FWcmc
Global $FWctz
Global $FWetn
Global $FWoff
Global $FWdow
Global $FWoca
Global $FWwno
Global $FWcti
Global $FWnoa
Global $FWexl
Global $FWado
Global $FWlki
Global $FWlka
Global $FWoln
Global $FWols
Global $FWoly
Global $FWlic
Global $FWlis
Global $FWliy
Global $FWlit
Global $FWvin
Global $FWvyr
Global $FWvma
Global $FWvmo
Global $FWvst
Global $FWvco
Global $FWfnam
Global $FWfdob
Global $FWfsoc
Global $FWfmnu
Global $FWfoln
Global $FWfols
Global $FWfoly
Global $FWadd
Global $FWdda
Global $FWsnu
Global $FWsna
Global $FWcty
Global $FWsta
Global $FWzip
Global $FWcou
Global $FWmis
Global $FWocc
Global $FWnic
Global $FWdor
Global $FWdoe
Global $FWdo2
Global $FWdom
Global $FWdoc
Global $FWofc
Global $FWop1
Global $FWop2
Global $FWop3
Global $FWop4

; PROTECTION ORDER VARIABLES
Global $FPmke
Global $FPori
Global $FPnam
Global $FPsex
Global $FPrac
Global $FPpob
Global $FPdob
Global $FPhgt
Global $FPwgt
Global $FPeye
Global $FPhai
Global $FPfbi
Global $FPskn
Global $FPetn
Global $FPsmt
Global $FPfpc
Global $FPmnu
Global $FPsoc
Global $FPdna
Global $Fpdlo
Global $FPcmc
Global $FPctz
Global $FPpco
Global $FPbrd
Global $FPisd
Global $FPoca
Global $FPpno
Global $FPexp
Global $FPcti
Global $FPnoa
Global $FPoln
Global $FPols
Global $FPoly
Global $FPlic
Global $FPlis
Global $FPliy
Global $FPlit
Global $FPvin
Global $FPvyr
Global $FPvmo
Global $FPvst
Global $FPvco
Global $FPpnam
Global $FPpdob
Global $FPpsex
Global $FPprac
Global $FPpsoc
Global $FPmis
Global $FPnic
Global $FPdor
Global $FPdoe
Global $FPdo2
Global $FPdom
Global $FPdoc
Global $FPofc
Global $FPop1
Global $FPop2
Global $FPop3
Global $FPop4

; VEHICLE VARIABLES
Global $FVmke
Global $FVori
Global $FVdot
Global $FVoca
Global $FVoan
Global $FVopt
Global $FVlic
Global $FVlis
Global $FVliy
Global $FVlit
Global $FVvin
Global $FVvyr
Global $FVvma
Global $FVvmo
Global $FVvst
Global $FVvco
Global $FVnoa
Global $FVlki
Global $FVlka
Global $FVimn
Global $FVimt
Global $FVnic
Global $FVdor
Global $FVdoe
Global $FVdo2
Global $FVdom
Global $FVdoc
Global $FVofc
Global $FVop1
Global $FVop2
Global $FVop3
Global $FVop4

; DROP DOWN ARRAYS
Global $stateArray[66] = ["Alabama", "Alaska", "Alberta", "Arizona", "Arkansas", "British Columbia", "California", "Colorado", "Connecticut", "Delaware", "District of Columbia", "Florida", "Georgia", "Gov't Plate", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Manitoba", "Maryland", "Massachusets", "Mexico", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Brunswick", "Newfoundland & Labrador", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Northwest Territories", "Nova Scotia", "Ohio", "Oklahoma", "Ontario", "Oregon", "Pennsylvania", "Prince Edward Island", "Quebec", "Rhode Island", "Saskatchewan", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming", "Yukon Territory", "Other"]

Global $ptArray[29] = ["Passenger Car", "Personalized", "Ambulance", "Antique", "Apportioned", "Profession", "Legislator", "Justice", "Law Enforcement", "Handicapped", "Organization", "Motorcycle", "Truck-Tractor", "Trailer (all)", "Disabled Veteran", "Dealer (Auto)", "Doctor", "Amateur Radio", "College", "Temporary", "State Owned", "County", "Municipal", "Taxi", "U.S. Govt. Vehicle", "Truck", "Military Vehicle", "Manufacturer", "POW"]

Global $raceArray[7] = ["Alaskan Native", "American Indian", "Asian", "Black", "Pacific Islander", "Unkown", "White"]

Global $categoryArray[3] = ["Stolen/Missing Lic (All Issued) - 14", "Stolen/Missing Lic (Single Place) - 15", "Lost License/Tag - 16"]

Global $missingArray[8] = ["Catastrophe Victim", "Contact Witness Program", "Disappearance Involuntary", "Juvenile Other (13-17 yoa)", "Adult Other (specify in remarks)", "Physically or Mentally Disabled", "Physical Safety Endangered", "Walkaway"]

Global $sexArray[3] = ["Male", "Female", "Unknown"]

Global $eyeArray[10] = ["Black", "Blue", "Brown", "Green", "Grey", "Hazel", "Maroon", "Multi Color", "Pink", "Unknown"]

Global $hairArray[13] = ["Black", "Blond-Strawberry", "Blue", "Brown", "Green", "Grey", "Orange", "Pink", "Purple", "Red or Auburn", "Sandy", "White", "Unknown"]

Global $skinArray[13] = ["Albino", "Black", "Dark", "Dark Brown", "Fair", "Light", "Light Brown", "Medium Brown", "Medium", "Olive", "Ruddy", "Sallow", "Yellow"]

Global $extrArray[10] = ["Full Extradition - (1)", "Limited U.S Extradition - (2)", "Extradition - Surrounding States Only - (3)", "Extradition Limited Missouri Only - (4)", "Pending Extradition - (5)", "Intrastate (Entire State) - (S)", "Partial Intrastate - (P)", "Adjoining Counties - (C)", "Greater Metro Area(Local area) - (L)", "No Extradition - (N)"]

Global $cmcArray[16] = ["Alcoholic", "Allergies", "Armed and Dangerous", "Diabetic", "Epilepsy", "Escape Risk", "Explosives Expertise", "Heart Condition", "Hemophiliac", "Known to Abuse Drugs", "Martial Arts Expertise", "Medication Required", "Other - Enter Caution Description", "Sexually Violent Predator", "Suicidal", "Violent Tendencies"]

Global $rgbArray[34] = ["Amethyst (purple)", "Beige", "Black", "Blue", "Bronze", "Brown", "Burgundy (purple)", "Camouflage", "Chrome", "Copper", "Cream", "Dark Blue", "Gold", "Gray", "Green", "Dark Green", "Light Green", "Ivory", "Lavendar (purple)", "Light Blue", "Maroon", "Mauve (purple)", "Multicolored", "Orange", "Pink", "Purple", "Red", "Silver", "Tan", "Taupe (brown)", "Teal (green)", "Turquoise (blue)", "White", "Yellow"]

Global $vcatArray[8] = ["Failure To Return-41","Miscellaneous-45","Owner Forgot Where Parked-42","Repossessed-60","Stolen Vehicle-10","Wanted Felony-20","Wanted Misdemeanor-21","Wanted Ordinance-22"]

$stateList = ""
For $i = 0 To UBound($stateArray,1) -1
$stateList &= "|" & $stateArray[$i]
Next

$ptList = ""
For $j = 0 To UBound($ptArray,1) -1
$ptList &= "|" & $ptArray[$j]
Next

$raceList = ""
For $k = 0 to UBound($raceArray,1) -1
$raceList &= "|" & $raceArray[$k]
Next

$catList = ""
For $l = 0 to UBound($categoryArray,1) -1
$catList &= "|" & $categoryArray[$l]
Next

$missList = ""
For $m = 0 to UBound($missingArray,1) -1
$missList &= "|" & $missingArray[$m]
Next

$sexList = ""
For $n = 0 to UBound($sexArray,1) -1
$sexList &= "|" & $sexArray[$n]
Next

$eyeList = ""
For $o = 0 to UBound($eyeArray,1) -1
$eyeList &= "|" & $eyeArray[$o]
Next

$hairList = ""
For $p = 0 to UBound($hairArray, 1) -1
$hairList &= "|" & $hairArray[$p]
Next

$skinList = ""
For $q = 0 to UBound($skinArray, 1) -1
$skinList &= "|" & $skinArray[$q]
Next

$extrList = ""
For $r = 0 to UBound($extrArray, 1) -1
$extrList &= "|" & $extrArray[$r]
Next

$cmcList = ""
For $s = 0 to UBound($cmcArray, 1) -1
$cmcList &= "|" & $cmcArray[$s]
Next

$rgbList = ""
For $t = 0 to UBound($rgbArray, 1) -1
$rgbList &= "|" & $rgbArray[$t]
Next

$vcatList = ""
For $u = 0 to UBound($vcatArray, 1) -1
$vcatList &= "|" & $vcatArray[$u]
Next

;Menu Creation
Local $filemenu = GUICtrlCreateMenu("&File")
Local $helpmenu = GUICtrlCreateMenu("?")
Local $openItem = GUICtrlCreateMenuItem("&Open", $filemenu)
Local $saveItem = GUICtrlCreateMenuItem("&Save", $filemenu)
Local $infoItem = GUICtrlCreateMenuItem("Info", $helpmenu)
Local $exitItem = GUICtrlCreateMenuItem("E&xit", $filemenu)

;Tab Creation
GUICtrlCreateTab(0,0,1500,880)

;Create the License Plate Tab
GUICtrlCreateTabItem("License Plate")

;Create the form labels
GUICtrlCreateLabel("Message Key (MKE)", 20, 40, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Originating Agency (ORI)", 20, 80, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("License Plate No. (LIC)", 20, 120, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("License Plate St. (LIS)", 20, 160, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Expiration Year (LIY)", 20, 200, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("License Plate Type (LIT)", 20, 240, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Date of Theft (DOT)", 20, 280, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Case Number (OCA)", 20, 320, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("NCIC Number (NIC)", 20, 360, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Linking Agency Id (LKI)", 20, 400, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Linking Case Number (LKA)", 20, 440, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Notify Originating Agency (NOA)", 20, 480, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Miscellaneous Info (MIS)", 20, 520, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("ENTRY & SECOND PARTY CHECK", 550, 40, 200, 75)
GUICtrlSetFont(-1, 10, 700, 6, $sFont, 5)
GUICtrlCreateLabel("", 500, 60, 200, 75)
GUICtrlCreateLabel("Date Received", 500, 80, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Date of Entry", 500, 160, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Date of Second Party Check", 500, 240, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Modify Date", 500, 320, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Clear, Cancel, or Locate Date", 500, 400, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Officer/Agency", 500, 120, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 200, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 280, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 360, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 440, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)

;Create the Input parameters
$FLmke = GUICtrlCreateCombo("", 225, 40, 200, 25)
$FLori = GUICtrlCreateInput("", 225, 80, 200, 25)
$FLlic = GUICtrlCreateInput("", 225, 120, 200, 25)
$FLlis = GUICtrlCreateCombo("", 225, 160, 200, 25)
$FLliy = GUICtrlCreateInput("", 225, 200, 200, 25)
$FLlit = GUICtrlCreateCombo("", 225, 240, 200, 25)
$FLdot = GUICtrlCreateDate("", 225, 280, 200, 25, $DTS_SHORTDATEFORMAT)
$FLoca = GUICtrlCreateInput("", 225, 320, 200, 25)
$FLnic = GUICtrlCreateInput("", 225, 360, 200, 25)
$FLlki = GUICtrlCreateInput("", 225, 400, 200, 25)
$FLlka = GUICtrlCreateInput("", 225, 440, 200, 25)
$FLnoa = GUICtrlCreateInput("", 225, 480, 200, 25)
$FLmis = GUICtrlCreateInput("", 225, 520, 200, 150)
$FLdor = GUICtrlCreateDate("", 675, 80, 200, 25, $DTS_SHORTDATEFORMAT)
$FLofc = GUICtrlCreateInput("", 675, 120, 200, 25)
$FLdoe = GUICtrlCreateDate("", 675, 160, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop1 = GUICtrlCreateInput("", 675, 200, 200, 25)
$FLdo2 = GUICtrlCreateDate("", 675, 240, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop2 = GUICtrlCreateInput("", 675, 280, 200, 25)
$FLdom = GUICtrlCreateDate("", 675, 320, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop3 = GUICtrlCreateInput("", 675, 360, 200, 25)
$FLdoc = GUICtrlCreateDate("", 675, 400, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop4 = GUICtrlCreateInput("", 675, 440, 200, 25)

Local $mke
Local $ori
Local $lic
Local $lis
Local $liy
Local $lit
Local $dot
Local $oca
Local $lki
Local $lka
Local $noa
Local $mis
Local $nic
Local $dor
Local $ofc
Local $doe
Local $op1
Local $do2
Local $op2
Local $dom
Local $op3
Local $doc
Local $op4

;Fill the Combo Box data
GUICtrlSetData($FLlis, $stateList)
GUICtrlSetData($FLlit, $ptList)
GUICtrlSetData($FLmke, $catList)

Local $oFileName = "StolenPlate"
Local $aInputVal[23] = [$mke, $ori, $lic, $lis, $liy, $lit, $dot, $oca, $lki, $lka, $noa, $mis, $nic, $dor, $ofc, $doe, $op1, $do2, $op2, $dom, $op3, $doc, $op4]
Local $aInputLoc[23] = ["C3","C5","C7","C9","C11","C13","C15","F3","F5","F7","F9","F11","F13","C21","F21","C22","F22","C23","F23","C24","F24","C25","F25"]

;Button 1
GUICtrlCreateButton("REJIS Entry", 1390, 760, 100, 30)
GUICtrlSetOnEvent(-1, 'PlateToRejis')

;Button 2
GUICtrlCreateButton("Print Preview", 1390, 800, 100, 30)
;GUICtrlSetOnEvent(-1, "TempForm")

Func TempForm($oFileName, $aInpulVal, $aInputLoc)
    ;****************************************************************************
    ; CREATE TEM FORM FROM CALLED DEFAULT FORM, RENAME, AND SAVE
    ;****************************************************************************
    Local $oTempFile = $oFileName&@ComputerName&@MDAY&@HOUR&@MIN&@SEC
    ;Create application object and open example workbook
    Local $oAppl = _Excel_Open(False)
    ;If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example", "Error creating the Excel application object.", & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    Local $oWorkbook = _Excel_BookOpen($oAppl, @ScriptDir & "\"&$oFileName&".xlsx")
    If @error Then
            MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example", "Error opening workbook '" & @ScriptDir & "\Forms\"&$oFileName&".xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            _Excel_Close($oAppl)
            Exit
    EndIf
    ;****************************************************************************
    ; SAVE THE WORKBOOK (xlsx) TO ANOTHER DIRECTORY AND OPEN
    ;****************************************************************************
    Local $sWorkbook = @ScriptDir&"\archive\"&$oTempFile&".xlsx"
    _Excel_BookSaveAs($oWorkbook, $sWorkbook)
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example 1", "Error saving workbook to '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_BookClose($oWorkBook)
    OpnWrt($oTempFile,$aInputVal,$aInputLoc)
EndFunc

Func OpnWrt($oFileName, $aInputVal, $aInputLoc)
    ; Create application object and open example workbook
    Local $oAppl = _Excel_Open()
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    Local $oWorkbook = _Excel_BookOpen($oAppl, @ScriptDir & "\archive\"&$oFileName&".xlsx")
    If @error Then
            MsgBox($MB_SYSTEMMODAL, "Open Temp Doc", "Error opening workbook '" & @ScriptDir & "\Forms\"&$oFileName&".xlsx'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            _Excel_Close($oAppl)
            Exit
    EndIf
    ;****************************************************************************
    ; WRITE DATA FROM GUI TO TEMP EXCEL DOC
    ;****************************************************************************
    For $a = 0 to UBound($aInputVal) -1
        _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aInputVal[$a], $aInputLoc[$a])
    Next
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeWrite Example 3", "Error writing to worksheet." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_BookSave($oWorkBook)
    $oAppl = _Excel_Open()
EndFunc

Func PlateToRejis()
    Local $mke = GUICtrlRead($FLmke)
  Local $ori = GUICtrlRead($FLori)
  Local $lic = GUICtrlRead($FLlic)
  Local $lis = GUICtrlRead($FLlis)
  Local $liy = GUICtrlRead($FLliy)
  Local $lit = GUICtrlRead($FLlit)
  Local $dot = GUICtrlRead($FLdot)
  Local $oca = GUICtrlRead($FLoca)
  Local $nic = GUICtrlRead($FLnic)
  Local $lki = GUICtrlRead($FLlki)
  Local $lka = GUICtrlRead($FLlka)

  Local $noa = GUICtrlRead($FLnoa)
  Local $mis = GUICtrlRead($FLmis)
  Local $dor = GUICtrlRead($FLdor)
  Local $doe = GUICtrlRead($FLdoe)
  Local $op1 = GUICtrlRead($FLop1)
  Local $do2 = GUICtrlRead($FLdo2)
  Local $op2 = GUICtrlRead($FLop2)
  Local $dom = GUICtrlRead($FLdom)
  Local $op3 = GUICtrlRead($FLop3)
  Local $doc = GUICtrlRead($FLdoc)
  Local $op4 = GUICtrlRead($FLop4)
    If WinActivate("REJIS - HOME") = 0 Then
    MsgBox(0, "Error", "The REJIS Home Window is not open, please re-open it and re-submit the query")
    ;Exit
  EndIf
  WinActivate("REJIS - HOME")
  Local $oIE = _IEAttach("REJIS - HOME")
  Local $oIE_Frame = _IEFrameGetObjByName($oIE, "MENUFRAME")
  Local $oForm = _IEFormGetCollection($oIE_Frame, 0)
  Local $oSelect = _IEFormElementGetObjByName($oForm, "pages")
  _IEFormElementOptionSelect($oSelect, "Vehicle Enter Stolen License", 1, "byText")
  Sleep(2000)
  Local $oIE2 = _IEAttach("REJIS - Vehicle Enter Stolen License")
  Local $oIEFrame2 = _IEFrameGetObjByName($oIE2, "MAIN")
  Local $oIE_Frame2 = _IEFrameGetObjByName($oIEFrame2, "TOP")
  Local $oForm2 = _IEGetObjByName($oIE_Frame2, "inquiry")
  Local $oOri = _IEGetObjByName($oForm2, "ori")
  Local $oMke = _IEGetObjByName($oForm2, "category")
  Local $oLic = _IEGetObjByName($oForm2, "lic")
  Local $oLis = _IEGetObjByName($oForm2, "lic_state")
  Local $oLiy = _IEGetObjByName($oForm2, "lic_year")
  Local $oLit = _IEGetObjByName($oForm2, "veh_lic_type")
  Local $oDot1 = _IEGetObjByName($oForm2, "report_date_mm")
  Local $oDot2 = _IEGetObjByName($oForm2, "report_date_dd")
  Local $oDot3 = _IEGetObjByName($oForm2, "report_date_yy")
  Local $oComp1 = _IEGetObjByName($oForm2, "comp1")
  Local $oComp2 = _IEGetObjByName($oForm2, "comp2")
  Local $oMis = _IEGetObjByName($oForm2, "ncic_misc")
    Local $RptDate = StringSplit($dot,"/",0)
  _IEFormElementSetValue($oOri, $ori)
  _IEFormElementOptionSelect($oMke, $mke, 1, "byText")
  _IEFormElementSetValue($oLic, $lic)
  _IEFormElementOptionSelect($oLis, $lis, 1, "byText")
  _IEFormElementSetValue($oLiy, $liy)
  _IEFormElementOptionSelect($oLit, $lit, 1, "byText")
  _IEFormElementSetValue($oDot1, $RptDate[1])
  _IEFormElementSetValue($oDot2, $RptDate[2])
  _IEFormElementSetValue($oDot3, $RptDate[3])
  _IEFormElementSetValue($oComp1, StringLeft($oca, 2))
  _IEFormElementSetValue($oComp2, StringRight($oca, 6))
  _IEFormElementSetValue($oMis, $mis)
EndFunc

GUISetState(@SW_SHOW)

;OnEvent mode
While 1
  Sleep(500)
WEnd

Func GUIExit()
  Exit
EndFunc

That's the whole of it and where I'm running into the headache is Button 2 The print preview button. I get an error is I take out the comment in front of the GUICtrlSetOnEvent and I understand that, but it sounds like I should just take those parameters out of TempForm and just call it as is. (If I am understanding this correctly)

Share this post


Link to post
Share on other sites

I know your head must be spinning, there are things all over the place there lol.

Before I offer some constructive criticism on your setup, let me try to help with your main issue.

As you have noticed, you cannot pass parameters with an onevent method.

So you have to really just make the params you want global if they need to be accessed ( or static, but that's a different setup within a function ).

These three vars:

TempForm($oFileName, $aInpulVal, $aInputLoc) <--

Make those global and fill them where ever you normally would.

Then remove the params from that function so it's just:

TempForm()

----

To help you maintain your code, you should separate your work bits into separate include files, and try to keep everything as compartmentalized as possible.

If that code gets any bigger, and I am sure it will, it's going to be a mess to try and debug.

On that point, debugging I mean, put more debug code in there.

Personally, I'd rather have something fail with my own personal error codes that I can easily find and fix, than a hard crash in front of a client.

Good luck ;)

P.S.  Are you an attorney?

1 person likes this

[center]Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.[/center]

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

Instead of passing parameters, have you tried simply accessing the values you need directly: by assigning them to three Global variables. SmOke_N got there first. :)

Edited by czardas

Share this post


Link to post
Share on other sites

#10 ·  Posted (edited)

This "might" be a quick fix to your issues.  I changed the name of that array, removed on event mode, and wired the buttons to a new switch at the bottom.  The print preview button does stuff now - but I don't have your data to test ...

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <DateTimeConstants.au3>
#include <IE.au3>
#include <InetConstants.au3>
#include <StringConstants.au3>
#include <FileConstants.au3>
#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Changes to OnEvent Mode
;Opt('GUIOnEventMode', 1)
AutoItSetOption("WinTitleMatchMode",2)
AutoItSetOption("MouseCoordMode", 2)

GUICreate("JCSO NCIC Entry", 1500, 900)

GUISetOnEvent($GUI_EVENT_CLOSE, 'GUIExit')

GUISetIcon("icon.ico")
Global $sFont = "Calibri"

;LICENSE VARIABLES
Global $FLmke
Global $FLori
Global $FLlic
Global $FLlis
Global $FLliy
Global $FLlit
Global $FLdot
Global $FLoca
Global $FLnic
Global $FLlki
Global $FLlka
Global $FLnoa
Global $FLmis
Global $FLdor
Global $FLofc
Global $FLdoe
Global $FLop1
Global $FLdo2
Global $FLop2
Global $FLdom
Global $FLop3
Global $FLdoc
Global $FLop4

;MISSING PERSON VARIABLES
Global $FMmke
Global $FMori
Global $FMdlc
Global $FMoca
Global $FMmnp
Global $FMmpc
Global $FMnoa
Global $FMnam
Global $FMsex
Global $FMrac
Global $FMpob
Global $FMdob
Global $FMhgt
Global $FMwgt
Global $FMeye
Global $FMhai
Global $FMfbi
Global $FMskn
Global $FMsmt
Global $FMfpc
Global $FMmnu
Global $FMsoc
Global $FMdna
Global $FMdlo
Global $FMcmc
Global $FMctz
Global $FMbxr
Global $FMcrc
Global $FMvrx
Global $FMblt
Global $FMfpa
Global $FMoln
Global $FMols
Global $FMoly
Global $FMlic
Global $FMlis
Global $FMliy
Global $FMlit
Global $FMvin
Global $FMvyr
Global $FMvma
Global $FMvst
Global $FMvco
Global $FMlki
Global $FMlka
Global $FMjwl
Global $FMjwt
Global $FMmis
Global $FMnic
Global $FMdor
Global $FMdoe
Global $FMdo2
Global $FMdom
Global $FMdoc
Global $FMofc
Global $FMop1
Global $FMop2
Global $FMop3
Global $FMop4

;WARRANTS VARIABLES
Global $FWmke
Global $FWori
Global $FWnam
Global $FWsex
Global $FWrac
Global $FWpob
Global $FWdob
Global $FWhgt
Global $FWwgt
Global $FWeye
Global $FWhai
Global $FWfbi
Global $FWskn
Global $FWsmt
Global $FWfpc
Global $FWmnu
Global $FWsoc
Global $FWdna
Global $FWdno
Global $FWcmc
Global $FWctz
Global $FWetn
Global $FWoff
Global $FWdow
Global $FWoca
Global $FWwno
Global $FWcti
Global $FWnoa
Global $FWexl
Global $FWado
Global $FWlki
Global $FWlka
Global $FWoln
Global $FWols
Global $FWoly
Global $FWlic
Global $FWlis
Global $FWliy
Global $FWlit
Global $FWvin
Global $FWvyr
Global $FWvma
Global $FWvmo
Global $FWvst
Global $FWvco
Global $FWfnam
Global $FWfdob
Global $FWfsoc
Global $FWfmnu
Global $FWfoln
Global $FWfols
Global $FWfoly
Global $FWadd
Global $FWdda
Global $FWsnu
Global $FWsna
Global $FWcty
Global $FWsta
Global $FWzip
Global $FWcou
Global $FWmis
Global $FWocc
Global $FWnic
Global $FWdor
Global $FWdoe
Global $FWdo2
Global $FWdom
Global $FWdoc
Global $FWofc
Global $FWop1
Global $FWop2
Global $FWop3
Global $FWop4

; PROTECTION ORDER VARIABLES
Global $FPmke
Global $FPori
Global $FPnam
Global $FPsex
Global $FPrac
Global $FPpob
Global $FPdob
Global $FPhgt
Global $FPwgt
Global $FPeye
Global $FPhai
Global $FPfbi
Global $FPskn
Global $FPetn
Global $FPsmt
Global $FPfpc
Global $FPmnu
Global $FPsoc
Global $FPdna
Global $Fpdlo
Global $FPcmc
Global $FPctz
Global $FPpco
Global $FPbrd
Global $FPisd
Global $FPoca
Global $FPpno
Global $FPexp
Global $FPcti
Global $FPnoa
Global $FPoln
Global $FPols
Global $FPoly
Global $FPlic
Global $FPlis
Global $FPliy
Global $FPlit
Global $FPvin
Global $FPvyr
Global $FPvmo
Global $FPvst
Global $FPvco
Global $FPpnam
Global $FPpdob
Global $FPpsex
Global $FPprac
Global $FPpsoc
Global $FPmis
Global $FPnic
Global $FPdor
Global $FPdoe
Global $FPdo2
Global $FPdom
Global $FPdoc
Global $FPofc
Global $FPop1
Global $FPop2
Global $FPop3
Global $FPop4

; VEHICLE VARIABLES
Global $FVmke
Global $FVori
Global $FVdot
Global $FVoca
Global $FVoan
Global $FVopt
Global $FVlic
Global $FVlis
Global $FVliy
Global $FVlit
Global $FVvin
Global $FVvyr
Global $FVvma
Global $FVvmo
Global $FVvst
Global $FVvco
Global $FVnoa
Global $FVlki
Global $FVlka
Global $FVimn
Global $FVimt
Global $FVnic
Global $FVdor
Global $FVdoe
Global $FVdo2
Global $FVdom
Global $FVdoc
Global $FVofc
Global $FVop1
Global $FVop2
Global $FVop3
Global $FVop4

; DROP DOWN ARRAYS
Global $stateArray[66] = ["Alabama", "Alaska", "Alberta", "Arizona", "Arkansas", "British Columbia", "California", "Colorado", "Connecticut", "Delaware", "District of Columbia", "Florida", "Georgia", "Gov't Plate", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Manitoba", "Maryland", "Massachusets", "Mexico", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Brunswick", "Newfoundland & Labrador", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Northwest Territories", "Nova Scotia", "Ohio", "Oklahoma", "Ontario", "Oregon", "Pennsylvania", "Prince Edward Island", "Quebec", "Rhode Island", "Saskatchewan", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming", "Yukon Territory", "Other"]

Global $ptArray[29] = ["Passenger Car", "Personalized", "Ambulance", "Antique", "Apportioned", "Profession", "Legislator", "Justice", "Law Enforcement", "Handicapped", "Organization", "Motorcycle", "Truck-Tractor", "Trailer (all)", "Disabled Veteran", "Dealer (Auto)", "Doctor", "Amateur Radio", "College", "Temporary", "State Owned", "County", "Municipal", "Taxi", "U.S. Govt. Vehicle", "Truck", "Military Vehicle", "Manufacturer", "POW"]

Global $raceArray[7] = ["Alaskan Native", "American Indian", "Asian", "Black", "Pacific Islander", "Unkown", "White"]

Global $categoryArray[3] = ["Stolen/Missing Lic (All Issued) - 14", "Stolen/Missing Lic (Single Place) - 15", "Lost License/Tag - 16"]

Global $missingArray[8] = ["Catastrophe Victim", "Contact Witness Program", "Disappearance Involuntary", "Juvenile Other (13-17 yoa)", "Adult Other (specify in remarks)", "Physically or Mentally Disabled", "Physical Safety Endangered", "Walkaway"]

Global $sexArray[3] = ["Male", "Female", "Unknown"]

Global $eyeArray[10] = ["Black", "Blue", "Brown", "Green", "Grey", "Hazel", "Maroon", "Multi Color", "Pink", "Unknown"]

Global $hairArray[13] = ["Black", "Blond-Strawberry", "Blue", "Brown", "Green", "Grey", "Orange", "Pink", "Purple", "Red or Auburn", "Sandy", "White", "Unknown"]

Global $skinArray[13] = ["Albino", "Black", "Dark", "Dark Brown", "Fair", "Light", "Light Brown", "Medium Brown", "Medium", "Olive", "Ruddy", "Sallow", "Yellow"]

Global $extrArray[10] = ["Full Extradition - (1)", "Limited U.S Extradition - (2)", "Extradition - Surrounding States Only - (3)", "Extradition Limited Missouri Only - (4)", "Pending Extradition - (5)", "Intrastate (Entire State) - (S)", "Partial Intrastate - (P)", "Adjoining Counties - (C)", "Greater Metro Area(Local area) - (L)", "No Extradition - (N)"]

Global $cmcArray[16] = ["Alcoholic", "Allergies", "Armed and Dangerous", "Diabetic", "Epilepsy", "Escape Risk", "Explosives Expertise", "Heart Condition", "Hemophiliac", "Known to Abuse Drugs", "Martial Arts Expertise", "Medication Required", "Other - Enter Caution Description", "Sexually Violent Predator", "Suicidal", "Violent Tendencies"]

Global $rgbArray[34] = ["Amethyst (purple)", "Beige", "Black", "Blue", "Bronze", "Brown", "Burgundy (purple)", "Camouflage", "Chrome", "Copper", "Cream", "Dark Blue", "Gold", "Gray", "Green", "Dark Green", "Light Green", "Ivory", "Lavendar (purple)", "Light Blue", "Maroon", "Mauve (purple)", "Multicolored", "Orange", "Pink", "Purple", "Red", "Silver", "Tan", "Taupe (brown)", "Teal (green)", "Turquoise (blue)", "White", "Yellow"]

Global $vcatArray[8] = ["Failure To Return-41","Miscellaneous-45","Owner Forgot Where Parked-42","Repossessed-60","Stolen Vehicle-10","Wanted Felony-20","Wanted Misdemeanor-21","Wanted Ordinance-22"]

$stateList = ""
For $i = 0 To UBound($stateArray,1) -1
$stateList &= "|" & $stateArray[$i]
Next

$ptList = ""
For $j = 0 To UBound($ptArray,1) -1
$ptList &= "|" & $ptArray[$j]
Next

$raceList = ""
For $k = 0 to UBound($raceArray,1) -1
$raceList &= "|" & $raceArray[$k]
Next

$catList = ""
For $l = 0 to UBound($categoryArray,1) -1
$catList &= "|" & $categoryArray[$l]
Next

$missList = ""
For $m = 0 to UBound($missingArray,1) -1
$missList &= "|" & $missingArray[$m]
Next

$sexList = ""
For $n = 0 to UBound($sexArray,1) -1
$sexList &= "|" & $sexArray[$n]
Next

$eyeList = ""
For $o = 0 to UBound($eyeArray,1) -1
$eyeList &= "|" & $eyeArray[$o]
Next

$hairList = ""
For $p = 0 to UBound($hairArray, 1) -1
$hairList &= "|" & $hairArray[$p]
Next

$skinList = ""
For $q = 0 to UBound($skinArray, 1) -1
$skinList &= "|" & $skinArray[$q]
Next

$extrList = ""
For $r = 0 to UBound($extrArray, 1) -1
$extrList &= "|" & $extrArray[$r]
Next

$cmcList = ""
For $s = 0 to UBound($cmcArray, 1) -1
$cmcList &= "|" & $cmcArray[$s]
Next

$rgbList = ""
For $t = 0 to UBound($rgbArray, 1) -1
$rgbList &= "|" & $rgbArray[$t]
Next

$vcatList = ""
For $u = 0 to UBound($vcatArray, 1) -1
$vcatList &= "|" & $vcatArray[$u]
Next

;Menu Creation
Local $filemenu = GUICtrlCreateMenu("&File")
Local $helpmenu = GUICtrlCreateMenu("?")
Local $openItem = GUICtrlCreateMenuItem("&Open", $filemenu)
Local $saveItem = GUICtrlCreateMenuItem("&Save", $filemenu)
Local $infoItem = GUICtrlCreateMenuItem("Info", $helpmenu)
Local $exitItem = GUICtrlCreateMenuItem("E&xit", $filemenu)

;Tab Creation
GUICtrlCreateTab(0,0,1500,880)

;Create the License Plate Tab
GUICtrlCreateTabItem("License Plate")

;Create the form labels
GUICtrlCreateLabel("Message Key (MKE)", 20, 40, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Originating Agency (ORI)", 20, 80, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("License Plate No. (LIC)", 20, 120, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("License Plate St. (LIS)", 20, 160, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Expiration Year (LIY)", 20, 200, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("License Plate Type (LIT)", 20, 240, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Date of Theft (DOT)", 20, 280, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Case Number (OCA)", 20, 320, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("NCIC Number (NIC)", 20, 360, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Linking Agency Id (LKI)", 20, 400, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Linking Case Number (LKA)", 20, 440, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Notify Originating Agency (NOA)", 20, 480, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Miscellaneous Info (MIS)", 20, 520, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("ENTRY & SECOND PARTY CHECK", 550, 40, 200, 75)
GUICtrlSetFont(-1, 10, 700, 6, $sFont, 5)
GUICtrlCreateLabel("", 500, 60, 200, 75)
GUICtrlCreateLabel("Date Received", 500, 80, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Date of Entry", 500, 160, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Date of Second Party Check", 500, 240, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Modify Date", 500, 320, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Clear, Cancel, or Locate Date", 500, 400, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Officer/Agency", 500, 120, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 200, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 280, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 360, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)
GUICtrlCreateLabel("Operator", 500, 440, 200, 75)
GUICtrlSetFont(-1, 10, 700, 1, $sFont, 5)

;Create the Input parameters
$FLmke = GUICtrlCreateCombo("", 225, 40, 200, 25)
$FLori = GUICtrlCreateInput("", 225, 80, 200, 25)
$FLlic = GUICtrlCreateInput("", 225, 120, 200, 25)
$FLlis = GUICtrlCreateCombo("", 225, 160, 200, 25)
$FLliy = GUICtrlCreateInput("", 225, 200, 200, 25)
$FLlit = GUICtrlCreateCombo("", 225, 240, 200, 25)
$FLdot = GUICtrlCreateDate("", 225, 280, 200, 25, $DTS_SHORTDATEFORMAT)
$FLoca = GUICtrlCreateInput("", 225, 320, 200, 25)
$FLnic = GUICtrlCreateInput("", 225, 360, 200, 25)
$FLlki = GUICtrlCreateInput("", 225, 400, 200, 25)
$FLlka = GUICtrlCreateInput("", 225, 440, 200, 25)
$FLnoa = GUICtrlCreateInput("", 225, 480, 200, 25)
$FLmis = GUICtrlCreateInput("", 225, 520, 200, 150)
$FLdor = GUICtrlCreateDate("", 675, 80, 200, 25, $DTS_SHORTDATEFORMAT)
$FLofc = GUICtrlCreateInput("", 675, 120, 200, 25)
$FLdoe = GUICtrlCreateDate("", 675, 160, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop1 = GUICtrlCreateInput("", 675, 200, 200, 25)
$FLdo2 = GUICtrlCreateDate("", 675, 240, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop2 = GUICtrlCreateInput("", 675, 280, 200, 25)
$FLdom = GUICtrlCreateDate("", 675, 320, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop3 = GUICtrlCreateInput("", 675, 360, 200, 25)
$FLdoc = GUICtrlCreateDate("", 675, 400, 200, 25, $DTS_SHORTDATEFORMAT)
$FLop4 = GUICtrlCreateInput("", 675, 440, 200, 25)

Local $mke
Local $ori
Local $lic
Local $lis
Local $liy
Local $lit
Local $dot
Local $oca
Local $lki
Local $lka
Local $noa
Local $mis
Local $nic
Local $dor
Local $ofc
Local $doe
Local $op1
Local $do2
Local $op2
Local $dom
Local $op3
Local $doc
Local $op4

;Fill the Combo Box data
GUICtrlSetData($FLlis, $stateList)
GUICtrlSetData($FLlit, $ptList)
GUICtrlSetData($FLmke, $catList)

Local $oFileName = "StolenPlate"
Local $aInputVal[23] = [$mke, $ori, $lic, $lis, $liy, $lit, $dot, $oca, $lki, $lka, $noa, $mis, $nic, $dor, $ofc, $doe, $op1, $do2, $op2, $dom, $op3, $doc, $op4]
Local $aInputLoc[23] = ["C3","C5","C7","C9","C11","C13","C15","F3","F5","F7","F9","F11","F13","C21","F21","C22","F22","C23","F23","C24","F24","C25","F25"]

;Button 1
$b1=GUICtrlCreateButton("REJIS Entry", 1390, 760, 100, 30)
;GUICtrlSetOnEvent(-1, 'PlateToRejis')

;Button 2
$b2=GUICtrlCreateButton("Print Preview", 1390, 800, 100, 30)
;GUICtrlSetOnEvent($b2, "TempForm")

Func TempForm($oFileName, $aInpulVal, $aInputLoc)
    ;****************************************************************************
    ; CREATE TEM FORM FROM CALLED DEFAULT FORM, RENAME, AND SAVE
    ;****************************************************************************
    Local $oTempFile = $oFileName&@ComputerName&@MDAY&@HOUR&@MIN&@SEC
    ;Create application object and open example workbook
    Local $oAppl = _Excel_Open(False)
    ;If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example", "Error creating the Excel application object.", & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    Local $oWorkbook = _Excel_BookOpen($oAppl, @ScriptDir & "\"&$oFileName&".xlsx")
    If @error Then
            MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example", "Error opening workbook '" & @ScriptDir & "\Forms\"&$oFileName&".xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            _Excel_Close($oAppl)
            Exit
    EndIf
    ;****************************************************************************
    ; SAVE THE WORKBOOK (xlsx) TO ANOTHER DIRECTORY AND OPEN
    ;****************************************************************************
    Local $sWorkbook = @ScriptDir&"\archive\"&$oTempFile&".xlsx"
    _Excel_BookSaveAs($oWorkbook, $sWorkbook)
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example 1", "Error saving workbook to '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_BookClose($oWorkBook)
    OpnWrt($oTempFile,$aInputVal,$aInputLoc)
EndFunc

Func OpnWrt($oFileName, $aInputVal, $aInputLoc)
    ; Create application object and open example workbook
    Local $oAppl = _Excel_Open()
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    Local $oWorkbook = _Excel_BookOpen($oAppl, @ScriptDir & "\archive\"&$oFileName&".xlsx")
    If @error Then
            MsgBox($MB_SYSTEMMODAL, "Open Temp Doc", "Error opening workbook '" & @ScriptDir & "\Forms\"&$oFileName&".xlsx'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            _Excel_Close($oAppl)
            Exit
    EndIf
    ;****************************************************************************
    ; WRITE DATA FROM GUI TO TEMP EXCEL DOC
    ;****************************************************************************
    For $a = 0 to UBound($aInputVal) -1
        _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aInputVal[$a], $aInputLoc[$a])
    Next
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeWrite Example 3", "Error writing to worksheet." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_BookSave($oWorkBook)
    $oAppl = _Excel_Open()
EndFunc

Func PlateToRejis()
    Local $mke = GUICtrlRead($FLmke)
  Local $ori = GUICtrlRead($FLori)
  Local $lic = GUICtrlRead($FLlic)
  Local $lis = GUICtrlRead($FLlis)
  Local $liy = GUICtrlRead($FLliy)
  Local $lit = GUICtrlRead($FLlit)
  Local $dot = GUICtrlRead($FLdot)
  Local $oca = GUICtrlRead($FLoca)
  Local $nic = GUICtrlRead($FLnic)
  Local $lki = GUICtrlRead($FLlki)
  Local $lka = GUICtrlRead($FLlka)

  Local $noa = GUICtrlRead($FLnoa)
  Local $mis = GUICtrlRead($FLmis)
  Local $dor = GUICtrlRead($FLdor)
  Local $doe = GUICtrlRead($FLdoe)
  Local $op1 = GUICtrlRead($FLop1)
  Local $do2 = GUICtrlRead($FLdo2)
  Local $op2 = GUICtrlRead($FLop2)
  Local $dom = GUICtrlRead($FLdom)
  Local $op3 = GUICtrlRead($FLop3)
  Local $doc = GUICtrlRead($FLdoc)
  Local $op4 = GUICtrlRead($FLop4)
    If WinActivate("REJIS - HOME") = 0 Then
    MsgBox(0, "Error", "The REJIS Home Window is not open, please re-open it and re-submit the query")
    ;Exit
  EndIf
  WinActivate("REJIS - HOME")
  Local $oIE = _IEAttach("REJIS - HOME")
  Local $oIE_Frame = _IEFrameGetObjByName($oIE, "MENUFRAME")
  Local $oForm = _IEFormGetCollection($oIE_Frame, 0)
  Local $oSelect = _IEFormElementGetObjByName($oForm, "pages")
  _IEFormElementOptionSelect($oSelect, "Vehicle Enter Stolen License", 1, "byText")
  Sleep(2000)
  Local $oIE2 = _IEAttach("REJIS - Vehicle Enter Stolen License")
  Local $oIEFrame2 = _IEFrameGetObjByName($oIE2, "MAIN")
  Local $oIE_Frame2 = _IEFrameGetObjByName($oIEFrame2, "TOP")
  Local $oForm2 = _IEGetObjByName($oIE_Frame2, "inquiry")
  Local $oOri = _IEGetObjByName($oForm2, "ori")
  Local $oMke = _IEGetObjByName($oForm2, "category")
  Local $oLic = _IEGetObjByName($oForm2, "lic")
  Local $oLis = _IEGetObjByName($oForm2, "lic_state")
  Local $oLiy = _IEGetObjByName($oForm2, "lic_year")
  Local $oLit = _IEGetObjByName($oForm2, "veh_lic_type")
  Local $oDot1 = _IEGetObjByName($oForm2, "report_date_mm")
  Local $oDot2 = _IEGetObjByName($oForm2, "report_date_dd")
  Local $oDot3 = _IEGetObjByName($oForm2, "report_date_yy")
  Local $oComp1 = _IEGetObjByName($oForm2, "comp1")
  Local $oComp2 = _IEGetObjByName($oForm2, "comp2")
  Local $oMis = _IEGetObjByName($oForm2, "ncic_misc")
    Local $RptDate = StringSplit($dot,"/",0)
  _IEFormElementSetValue($oOri, $ori)
  _IEFormElementOptionSelect($oMke, $mke, 1, "byText")
  _IEFormElementSetValue($oLic, $lic)
  _IEFormElementOptionSelect($oLis, $lis, 1, "byText")
  _IEFormElementSetValue($oLiy, $liy)
  _IEFormElementOptionSelect($oLit, $lit, 1, "byText")
  _IEFormElementSetValue($oDot1, $RptDate[1])
  _IEFormElementSetValue($oDot2, $RptDate[2])
  _IEFormElementSetValue($oDot3, $RptDate[3])
  _IEFormElementSetValue($oComp1, StringLeft($oca, 2))
  _IEFormElementSetValue($oComp2, StringRight($oca, 6))
  _IEFormElementSetValue($oMis, $mis)
EndFunc

GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

    case $b1
        PlateToRejis()
    case $b2
         TempForm($oFileName, $aInputVal, $aInputLoc)

        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd

Func GUIExit()
  Exit
EndFunc

Oh yeah, and @SmOke_N  and @czardas are right about the better approach being what they said.

Edited by Jfish
1 person likes this

Build your own poker game with AutoIt: pokerlogic.au3 | Learn To Program Using FREE Tools with AutoIt

Share this post


Link to post
Share on other sites

Thank you all. SmOke_N Nope, Not a lawyer, work with a sheriff's office. However, I know where you're coming from with that. I should have thought about making those global. With the two arrays, those are going to change size in each place, so I'm thinking just set them as eg. Global $aInputVal[] and then add the correct parameter lists in the individual tabs. 

Jfish, I might end up going with that. Either way, I appreciate both of the ideas and I will incorporate them in this. 

Yes, it's going to be huge when it finishes out. However, down the road, I can see it modularized better. 

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

  • Similar Content

    • Jibberish
      By Jibberish
      Hi,
      I am automating the testing of a video player. I search a file for ".mp4" and want to create a GUI with radio buttons to select what video to play. The number of videos can change based on the user's library so this must be created automatically.  I have searched for how to accomplish this and there are several posts out there that help a little but I can't figure out the solution. I pulled the offending code from my main script and created the file below to make this easier to read. I am sure one of our experts here can help!
      #include <MsgBoxConstants.au3> #include <StringConstants.au3> #include <array.au3> #include <File.au3> #include <GUIConstantsEx.au3> Local $sMediaFile = "D:\MediaFiles\MediaFiles.txt" Local $iStrReturn = 0 Local $aText Local $aArrayFile Local $iMax = 6 ;Default number of Videos - 1 for the array counter Local $aVideoName[$iMax] = [0] Local $sCheckBox1 Local $iT = 0, $iVideoCount = 0, $iCount Local $ix = 0 Local $iy = 0 Local $idClose1 Const $iL = 10 ; Count from Left for GUI so all buttons line up ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Read a list of video file names and create a GUI with Radio Buttons to select a single video. ; Problem: We don't know how many video names will be in the text file, so we can't hard code Case Statements & their variables ; Put the Video File Names into an Array _FileReadToArray($sMediaFile, $aArrayFile) For $a = 1 To $aArrayFile[0] ; Step through the array looking for .mp4 If StringInStr($aArrayFile[$a], ".mp4") Then $iVideoCount = $iVideoCount + 1 $aText = StringSplit($aArrayFile[$a],"\\") ; This video player reads double backslashes For $a1 = 1 to $aText[0] ; Check that the array is big enough If StringInStr($aText[$a1], ".mp4") Then ;MsgBox(0,"","Video is " & $aText[$a1]) If UBound($aVideoName) = $iVideoCount Then ; Resize the array when $iCount is equal to the element count in the array to prevent subscript error ReDim $aVideoName[$aVideoName[0] + $iMax] EndIf $aVideoName[$iVideoCount] = $aText[$a1]; add data to new index element $aVideoName[0] = $a1 ; update the index count for future reference ; The idea is to create a GUI width to accommodate long video file names $it = StringLen($aVideoName[$iVideoCount]) If $iT > $ix Then $ix = $iT EndIf EndIf Next EndIf Next ; Move backwards through the array deleting blank rows For $iCount = UBound($aVideoName) - 1 To 0 Step -1 If $aVideoName[$iCount] = "" Then _ArrayDelete($aVideoName, $iCount) EndIf Next ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Create the GUI - Names and Radio Button counts will vary - How do I do this? ; ;_ArrayDisplay($aVideoName) ;Local $aVarName[$aVideoName[0]] Local $iRows = UBound($aVideoName, $UBOUND_ROWS) $iRows = $iRows -1 $aVideoName[0] = $iRows ; Prep the GUI to display the FileNames with Radio Buttons - Can only select one at a time. $a = 0 $ix = $ix + 200 $iy = ($aVideoName[0] * 30) + 60 $hGUI = GUICreate("Videos", $ix, $iy) ;$iT = $iT+30 ; Create the variable names for the Case statement - Video count may change so Video Names displayed and GUICtrlCreateRadio count may change. ;~ For $a = 1 to $aVarName[0] ;~ If UBound($aVarName) = $aVarName Then ;~ ; Resize the array when $iCount is equal to the element count in the array to prevent subscript error ;~ ReDim $aVarName[$aVarName[0] + $iMax] ;~ EndIf ;~ Assign("$bVideoName" & $a, $a) ;~ Local $aVarName[$a] = Eval($bVideoName[$a]) ;~ ; $aVarName[$a] = GUICtrlCreateRadio($aVarName[$a], $iL, $iT) ;~ Next $iCount = 1 ;MsgBox(0,"","VideoName[0] is "&$aVideoName[0]) ;_ArrayDisplay($aVideoName) Local $bVideoName1 If $iCount < $aVideoName[0] Then $bVideoName1 = GUICtrlCreateRadio($aVideoName[$iCount], $iL, $iT) GUICtrlSetState($bVideoName1, $GUI_CHECKED) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0]) Then Local $bVideoName2 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0]) Then Local $bVideoName3 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0]) Then Local $bVideoName4 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0] -1) Then Local $bVideoName5 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0] -1) Then Local $bVideoName6 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0] -1) Then Local $bVideoName7 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iT = $iT + 30 $idClose1 = GUICtrlCreateButton("Go!", $iL, $iT) GUISetState(@SW_SHOW) ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Switch Statement ; ;Local $nMsg = "" While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $bVideoName1 Case $bVideoName2 Case $bVideoName3 Case $bVideoName4 Case $bVideoName5 ;Case $bVideoName6 <- Fails because there are only 5 videos - Need variable $bVideoNames ;Case $bVideoName7 <- Fails because there are only 5 videos Case $idClose1 $bVideoName1 = GUICtrlRead($bVideoName1) $bVideoName2 = GUICtrlRead($bVideoName2) $bVideoName3 = GUICtrlRead($bVideoName3) $bVideoName4 = GUICtrlRead($bVideoName4) $bVideoName5 = GUICtrlRead($bVideoName5) ;$bVideoName6 = GUICtrlRead($bVideoName6) ;$bVideoName7 = GUICtrlRead($bVideoName7) ExitLoop EndSwitch WEnd GUIDelete($nMsg) MsgBox(0,"","Case " & $nMsg & " was selected.") ; Always returns 8. ??? This is the "MediaFiles.txt" file I am reading:
      D:\\MediaFiles\\BigBuckBunny.mp4 D:\\MediaFiles\\BigBuckBunny60fps.mp4 D:\\MediaFiles\\Sintel.mp4 D:\\MediaFiles\\sintel-2048-surround.mp4 D:\\MediaFiles\\TearsOfSteel.mp4 D:\\MediaFiles\\tearsofsteel_4K.mp4 I'm sure I have several mistakes (or poor coding methods) in my AutoIt file.
    • AppSoftwareVld
      By AppSoftwareVld
      Hello,
       
      I need this for a project and I don't find a method for the next problem.
      I want when I click a button to create a variable ("$variable1") so if I press one more time to create one more ("$variable2") and create more and more how many times you press the button.
       
      Do you have an idea ? 
      Thank you for your attention !
    • Skeletor
      By Skeletor
      Hi All,
      I know many newbies search for this feature.
      I decided to share this piece of code with everyone.
      Basically its a "splash screen" that has a transparent image.
      In a nutshell - Gui with a transparent gif.
      Enjoy...
      Download attachment....
       
      Splash Screen GUI.zip
    • Skeletor
      By Skeletor
      Hi Developers,
       
      While trying to find a way to actually style/skin the GUICtrlCreateTabItem, I read the help file and stated:
      My question to you guys is will this be updated? or am I hoping for something that will never come to pass?
      I've seen scripts between 2007 to 2009 allowing the tabs to be modified
      Reason for my question is I'm trying to make my GUI Tabs look more modern.
      Thanks in advance for reading my post.
       
    • Jibberish
      By Jibberish
      I am trying to get the results of a radio button selection. I have tried implementing sample scripts but to no avail.
      Can someone tell / show me what I am doing wrong?
      #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> Local $bSelect1 Local $bSelect2 Local $bSelect3 SelectButton() ;The results of SelectButton is not being returned MsgBox(0,"","Select1 is "& $bSelect1 & ". Select2 is "& $bSelect2 & ". Select3 is "& $bSelect3 & ".") Func SelectButton() Local $hGUI = GUICreate("SGX4CP Tests", 300, 300) GUISetState() Local $bSelect1 = GUICtrlCreateRadio("Select 1", 10, 160) Local $bSelect2 = GUICtrlCreateRadio("Select 2", 10, 190) Local $bSelect3 = GUICtrlCreateRadio("Select 3", 10, 220) ; Set TestSelectForever as the default radio button GUICtrlSetState($bSelect1, $GUI_CHECKED) Local $idClose = GUICtrlCreateButton("Start", 120,250) Local $idMsg While 1 $idMsg = GUIGetMsg() Select Case $idMsg = $GUI_EVENT_CLOSE Or $idMsg = $idClose ExitLoop Case $idMsg = $bSelect1 And BitAND(GUICtrlRead($bSelect1), $GUI_CHECKED) = $GUI_CHECKED MsgBox(0,"","Select1") Case $idMsg = $bSelect2 And BitAND(GUICtrlRead($bSelect2), $GUI_CHECKED) = $GUI_CHECKED MsgBox(0,"","Select2") Case $idMsg = $bSelect3 And BitAND(GUICtrlRead($bSelect3), $GUI_CHECKED) = $GUI_CHECKED MsgBox(0,"","Select3") ; GUICtrlRead($hGUI) EndSelect WEnd MsgBox(0,"","Select1 is "& $bSelect1 & ". Select2 is "& $bSelect2 & ". Select3 is "& $bSelect3 & ".") ; Why is this returning numbers? EndFunc