#204521 - 2012-03-20 06:18 PM
While Loop instead?
|
KIXKicks
Starting to like KiXtart
Registered: 2002-07-26
Posts: 177
Loc: Vancouver, WA
|
I need this script to run through each check and build a list based on what checks are valid, ignoring the invalid ones
Select
Case $CHECK1 <> "NOT VALID" $SOFTCHECK = "Item1" $SOFTITEM = "KIX Check"
Case $CHECK2 <> "NOT VALID" $SOFTCHECK = "Item2" $SOFTITEM = "VB Check"
Case $CHECK3 <> "NOT VALID" $SOFTCHECK = "Item3" $SOFTITEM = "C++ Check"
EndSelect
If $CHECK1 <> "NOT VALID"
$GBLABEL.TEXT = $SOFTCHECK + ": " + $SOFTITEM
EndIf
If $CHECK2 <> "NOT VALID"
$GBLABEL.TEXT = $SOFTCHECK + ": " + $SOFTITEM
EndIf
If $CHECK3 <> "NOT VALID"
$GBLABEL.TEXT = $SOFTCHECK + ": " + $SOFTITEM
EndIf
Of course, the list is long 10-15 items and I need it to display all VALID Checks without the NOT VALID ones. Hopefully this will be a dynamic list...
Not complete code, but there should be enough to get the idea.
|
|
Top
|
|
|
|
#204524 - 2012-03-20 06:44 PM
Re: While Loop instead?
[Re: KIXKicks]
|
Allen
KiX Supporter
   
Registered: 2003-04-19
Posts: 4562
Loc: USA
|
Since I don't have enough details, I can only guess... maybe this will help.
untested
dim $checks[0]
$list="Kix","VB","C++"
for each $program in $list
if verify($program)
redim preserve $checks[$i]
$checks[$i]="Item" + $i + ": " + $program + " Check"
$i=$i+1
endif
next
For each $item in $checks
$GBLabel.text=$item
next
function Verify($program)
;check software
;if $somevalue="Not Valid"
; $Verify=0
;else
; $verify=1
;endif
endfunction
You could put the GBLabel stuff inside the first loop without the need the need for the second loop... just not really sure what makes the most sense.
Edited by Allen (2012-03-20 06:56 PM)
|
|
Top
|
|
|
|
#204525 - 2012-03-20 08:41 PM
Re: While Loop instead?
[Re: Allen]
|
KIXKicks
Starting to like KiXtart
Registered: 2002-07-26
Posts: 177
Loc: Vancouver, WA
|
Allen, thanks for the help...it pointed me in the right direction.
Here is the latest code:
DIM $SOFTWARELISTA, $SOFTWARELISTITEMA, $SOFTWARELISTVERA
DIM $SOFTWARELISTB, $SOFTWARELISTITEMB, $SOFTWARELISTVERB
DIM $SOFTWARELISTM, $SOFTWARELISTITEMM, $SOFTWARELISTVERM
DIM $S
Global $GROUPBOXSOFTWAREINFOAICON[0], $GROUPBOXSOFTWAREINFOALABEL[0]
Global $GROUPBOXSOFTWAREINFOBICON[0], $GROUPBOXSOFTWAREINFOBLABEL[0]
Global $GROUPBOXSOFTWAREINFOMICON[0], $GROUPBOXSOFTWAREINFOMLABEL[0]
$S = 0
$SOFTWARELISTA = "$ACTIFYSPINFIRESPSTATUS,$ACTIFYSPINFIRESPSTATUSCOLOR,Actify Spinfire,$ACTIFYSPINFIRESPVERSION","$ADOBEACROBATSPSTATUS,$ADOBEACROBATSPSTATUSCOLOR,Adobe Acrobat Professional,$ADOBEACROBATSPVERSION"
For Each $SOFTWARELISTITEMA In $SOFTWARELISTA
$SOFTWARELISTVERA = Split($SOFTWARELISTITEMA,",")
If $SOFTWARELISTVERA[0] <> "NOT INSTALLED"
ReDim Preserve $GROUPBOXSOFTWAREINFOAICON[$S]
ReDim Preserve $GROUPBOXSOFTWAREINFOALABEL[$S]
? "Software List Item Counter: " + $S
? "Software List Item Status: " + $SOFTWARELISTVERA[0]
? "Software List Item Color: " + $SOFTWARELISTVERA[1]
? "Software List Item Title: " + $SOFTWARELISTVERA[2]
? "Software List Item Version: " + $SOFTWARELISTVERA[3]
$GROUPBOXSOFTWAREINFOAICON[$S]=$GROUPBOXSOFTWAREINFO.LABEL()
$GROUPBOXSOFTWAREINFOAICON[$S].CLIENTSIZE=20,20
$GROUPBOXSOFTWAREINFOAICON[$S].LEFT=7
If $SOFTWARELISTVERA[1] = "BLACK" Or $SOFTWARELISTVERA[1] = "GREEN"
$GROUPBOXSOFTWAREINFOAICON[$S].IMAGE = "@SCRIPTDIR\PASS.BMP"
Else
$GROUPBOXSOFTWAREINFOAICON[$S].IMAGE = "@SCRIPTDIR\FAIL.BMP"
EndIf
$GROUPBOXSOFTWAREINFOAICON[$S].IMAGEALIGN=4
$GROUPBOXSOFTWAREINFOAICON[$S].TOP=($S * 15) + 15
$GROUPBOXSOFTWAREINFOALABEL[$S]=$GROUPBOXSOFTWAREINFO.LABEL()
$GROUPBOXSOFTWAREINFOALABEL[$S].CLIENTSIZE=$GROUPBOXSOFTWAREINFO.WIDTH-60,15
$GROUPBOXSOFTWAREINFOALABEL[$S].LEFT=30
$GROUPBOXSOFTWAREINFOALABEL[$S].TEXT = $SOFTWARELISTVERA[2] + ": " + $SOFTWARELISTVERA[3]
$GROUPBOXSOFTWAREINFOALABEL[$S].TEXTALIGN=1
$GROUPBOXSOFTWAREINFOALABEL[$S].TOP=($S * 15) + 20
$S = $S + 1
EndIf
Next
$SOFTWARELISTB = "$BLUEBEAMPDFREVUSPSTATUS,$BLUEBEAMPDFREVUSPSTATUSCOLOR,Bluebeam PDF Revu,$BLUEBEAMPDFREVUSPVERSION"
For Each $SOFTWARELISTITEMB In $SOFTWARELISTB
$SOFTWARELISTVERB = Split($SOFTWARELISTITEMB,",")
If $SOFTWARELISTVERB[0] <> "NOT INSTALLED"
ReDim Preserve $GROUPBOXSOFTWAREINFOBICON[$S]
ReDim Preserve $GROUPBOXSOFTWAREINFOBLABEL[$S]
? "Software List Item Counter: " + $S
? "Software List Item Status: " + $SOFTWARELISTVERB[0]
? "Software List Item Color: " + $SOFTWARELISTVERB[1]
? "Software List Item Title: " + $SOFTWARELISTVERB[2]
? "Software List Item Version: " + $SOFTWARELISTVERB[3]
$GROUPBOXSOFTWAREINFOBICON[$S]=$GROUPBOXSOFTWAREINFO.LABEL()
$GROUPBOXSOFTWAREINFOBICON[$S].CLIENTSIZE=20,20
$GROUPBOXSOFTWAREINFOBICON[$S].LEFT=7
If $SOFTWARELISTVERB[1] = "BLACK" Or $SOFTWARELISTVERB[1] = "GREEN"
$GROUPBOXSOFTWAREINFOBICON[$S].IMAGE = "@SCRIPTDIR\PASS.BMP"
Else
$GROUPBOXSOFTWAREINFOBICON[$S].IMAGE = "@SCRIPTDIR\FAIL.BMP"
EndIf
$GROUPBOXSOFTWAREINFOBICON[$S].IMAGEALIGN=4
$GROUPBOXSOFTWAREINFOBICON[$S].TOP=($S * 15) + 15
$GROUPBOXSOFTWAREINFOBLABEL[$S]=$GROUPBOXSOFTWAREINFO.LABEL()
$GROUPBOXSOFTWAREINFOBLABEL[$S].CLIENTSIZE=$GROUPBOXSOFTWAREINFO.WIDTH-60,15
$GROUPBOXSOFTWAREINFOBLABEL[$S].LEFT=30
$GROUPBOXSOFTWAREINFOBLABEL[$S].TEXT = $SOFTWARELISTVERB[2] + ": " + $SOFTWARELISTVERB[3]
$GROUPBOXSOFTWAREINFOBLABEL[$S].TEXTALIGN=1
$GROUPBOXSOFTWAREINFOBLABEL[$S].TOP=($S * 15) + 20
$S = $S + 1
EndIf
Next
$SOFTWARELISTM = "$MSGROOVESPSTATUS,$MSGROOVESPSTATUSCOLOR,Microsoft Groove,$MSGROOVESPVERSION","$MSOUTLOOKSPSTATUS,$MSOUTLOOKSPSTATUSCOLOR,Microsoft Outlook,$MSOUTLOOKSPVERSION"
For Each $SOFTWARELISTITEMM In $SOFTWARELISTM
$SOFTWARELISTVERM = Split($SOFTWARELISTITEMM,",")
If $SOFTWARELISTVERM[0] <> "NOT INSTALLED"
ReDim Preserve $GROUPBOXSOFTWAREINFOMICON[$S]
ReDim Preserve $GROUPBOXSOFTWAREINFOMLABEL[$S]
? "Software List Item Counter: " + $S
? "Software List Item Status: " + $SOFTWARELISTVERM[0]
? "Software List Item Color: " + $SOFTWARELISTVERM[1]
? "Software List Item Title: " + $SOFTWARELISTVERM[2]
? "Software List Item Version: " + $SOFTWARELISTVERM[3]
$GROUPBOXSOFTWAREINFOMICON[$S]=$GROUPBOXSOFTWAREINFO.LABEL()
$GROUPBOXSOFTWAREINFOMICON[$S].CLIENTSIZE=20,20
$GROUPBOXSOFTWAREINFOMICON[$S].LEFT=7
If $SOFTWARELISTVERM[1] = "BLACK" Or $SOFTWARELISTVERM[1] = "GREEN"
$GROUPBOXSOFTWAREINFOMICON[$S].IMAGE = "@SCRIPTDIR\PASS.BMP"
Else
$GROUPBOXSOFTWAREINFOMICON[$S].IMAGE = "@SCRIPTDIR\FAIL.BMP"
EndIf
$GROUPBOXSOFTWAREINFOMICON[$S].IMAGEALIGN=4
$GROUPBOXSOFTWAREINFOMICON[$S].TOP=($S * 15) + 15
$GROUPBOXSOFTWAREINFOMLABEL[$S]=$GROUPBOXSOFTWAREINFO.LABEL()
$GROUPBOXSOFTWAREINFOMLABEL[$S].CLIENTSIZE=$GROUPBOXSOFTWAREINFO.WIDTH-60,15
$GROUPBOXSOFTWAREINFOMLABEL[$S].LEFT=30
$GROUPBOXSOFTWAREINFOMLABEL[$S].TEXT = $SOFTWARELISTVERM[2] + ": " + $SOFTWARELISTVERM[3]
$GROUPBOXSOFTWAREINFOMLABEL[$S].TEXTALIGN=1
$GROUPBOXSOFTWAREINFOMLABEL[$S].TOP=($S * 15) + 20
$S = $S + 1
EndIf
Next
Edited by KIXKicks (2012-03-20 08:42 PM)
|
|
Top
|
|
|
|
#204529 - 2012-03-21 12:10 AM
Re: While Loop instead?
[Re: KIXKicks]
|
KIXKicks
Starting to like KiXtart
Registered: 2002-07-26
Posts: 177
Loc: Vancouver, WA
|
Is there a way to have the $SOFTWARELISTx(a,b,m) be one list that wouldn't stretch across (so it is readable), something like:
SOFTWARELIST = {
"$ACTIFYSPINFIRESPSTATUS,$ACTIFYSPINFIRESPSTATUSCOLOR,Actify Spinfire,$ACTIFYSPINFIRESPVERSION",
"$ADOBEACROBATSPSTATUS,$ADOBEACROBATSPSTATUSCOLOR,Adobe Acrobat Professional,$ADOBEACROBATSPVERSION"
}
|
|
Top
|
|
|
|
#204537 - 2012-03-21 04:06 AM
Re: While Loop instead?
[Re: KIXKicks]
|
Allen
KiX Supporter
   
Registered: 2003-04-19
Posts: 4562
Loc: USA
|
$SOFTWARELIST =
"$ACTIFYSPINFIRESPSTATUS,$ACTIFYSPINFIRESPSTATUSCOLOR,Actify Spinfire,$ACTIFYSPINFIRESPVERSION",
"$ADOBEACROBATSPSTATUS,$ADOBEACROBATSPSTATUSCOLOR,Adobe Acrobat Professional,$ADOBEACROBATSPVERSION"
|
|
Top
|
|
|
|
Moderator: Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart
|
0 registered
and 793 anonymous users online.
|
|
|