PoshCode Archive  Hex Artifact Content

Artifact 7b02ec4cf50cd17702b4f60e0a8fb7fd89e3c48d87aa849a77d743e40227ebb1:

  • File Select-GraphicalFiltered.ps1 — part of check-in [0b638f8c75] at 2018-06-10 13:07:15 on branch trunk — From Windows PowerShell Cookbook (O‚ÄôReilly) by Lee Holmes (user: Lee Holmes size: 3339)

0000: 23 20 65 6e 63 6f 64 69 6e 67 3a 20 61 73 63 69  # encoding: asci
0010: 69 0d 0a 23 20 61 70 69 3a 20 70 6f 77 65 72 73  i..# api: powers
0020: 68 65 6c 6c 0d 0a 23 20 74 69 74 6c 65 3a 20 53  hell..# title: S
0030: 65 6c 65 63 74 2d 47 72 61 70 68 69 63 61 6c 46  elect-GraphicalF
0040: 69 6c 74 65 72 65 64 0d 0a 23 20 64 65 73 63 72  iltered..# descr
0050: 69 70 74 69 6f 6e 3a 20 46 72 6f 6d 20 57 69 6e  iption: From Win
0060: 64 6f 77 73 20 50 6f 77 65 72 53 68 65 6c 6c 20  dows PowerShell 
0070: 43 6f 6f 6b 62 6f 6f 6b 20 28 4f e2 80 99 52 65  Cookbook (O...Re
0080: 69 6c 6c 79 29 20 62 79 20 4c 65 65 20 48 6f 6c  illy) by Lee Hol
0090: 6d 65 73 0d 0a 23 20 76 65 72 73 69 6f 6e 3a 20  mes..# version: 
00a0: 30 2e 31 0d 0a 23 20 74 79 70 65 3a 20 73 63 72  0.1..# type: scr
00b0: 69 70 74 0d 0a 23 20 61 75 74 68 6f 72 3a 20 4c  ipt..# author: L
00c0: 65 65 20 48 6f 6c 6d 65 73 0d 0a 23 20 6c 69 63  ee Holmes..# lic
00d0: 65 6e 73 65 3a 20 43 43 30 0d 0a 23 20 78 2d 70  ense: CC0..# x-p
00e0: 6f 73 68 63 6f 64 65 2d 69 64 3a 20 32 32 31 34  oshcode-id: 2214
00f0: 0d 0a 23 20 78 2d 61 72 63 68 69 76 65 64 3a 20  ..# x-archived: 
0100: 32 30 31 36 2d 31 30 2d 33 31 54 31 31 3a 31 39  2016-10-31T11:19
0110: 3a 32 32 0d 0a 23 20 78 2d 70 75 62 6c 69 73 68  :22..# x-publish
0120: 65 64 3a 20 32 30 31 30 2d 30 39 2d 30 39 54 32  ed: 2010-09-09T2
0130: 31 3a 34 32 3a 30 30 0d 0a 23 0d 0a 23 0d 0a 23  1:42:00..#..#..#
0140: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0150: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0160: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0170: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0180: 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a 23  #############..#
0190: 23 0d 0a 23 23 20 53 65 6c 65 63 74 2d 47 72 61  #..## Select-Gra
01a0: 70 68 69 63 61 6c 46 69 6c 74 65 72 65 64 4f 62  phicalFilteredOb
01b0: 6a 65 63 74 0d 0a 23 23 0d 0a 23 23 20 46 72 6f  ject..##..## Fro
01c0: 6d 20 57 69 6e 64 6f 77 73 20 50 6f 77 65 72 53  m Windows PowerS
01d0: 68 65 6c 6c 20 43 6f 6f 6b 62 6f 6f 6b 20 28 4f  hell Cookbook (O
01e0: 27 52 65 69 6c 6c 79 29 0d 0a 23 23 20 62 79 20  'Reilly)..## by 
01f0: 4c 65 65 20 48 6f 6c 6d 65 73 20 28 68 74 74 70  Lee Holmes (http
0200: 3a 2f 2f 77 77 77 2e 6c 65 65 68 6f 6c 6d 65 73  ://www.leeholmes
0210: 2e 63 6f 6d 2f 67 75 69 64 65 29 0d 0a 23 23 0d  .com/guide)..##.
0220: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
0230: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0240: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0250: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0260: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d  ###############.
0270: 0a 0d 0a 3c 23 0d 0a 0d 0a 2e 53 59 4e 4f 50 53  ...<#.....SYNOPS
0280: 49 53 0d 0a 0d 0a 44 69 73 70 6c 61 79 20 61 20  IS....Display a 
0290: 57 69 6e 64 6f 77 73 20 46 6f 72 6d 20 74 6f 20  Windows Form to 
02a0: 68 65 6c 70 20 74 68 65 20 75 73 65 72 20 73 65  help the user se
02b0: 6c 65 63 74 20 61 20 6c 69 73 74 20 6f 66 20 69  lect a list of i
02c0: 74 65 6d 73 20 70 69 70 65 64 20 69 6e 2e 0d 0a  tems piped in...
02d0: 41 6e 79 20 73 65 6c 65 63 74 65 64 20 69 74 65  Any selected ite
02e0: 6d 73 20 67 65 74 20 70 61 73 73 65 64 20 61 6c  ms get passed al
02f0: 6f 6e 67 20 74 68 65 20 70 69 70 65 6c 69 6e 65  ong the pipeline
0300: 2e 0d 0a 0d 0a 2e 45 58 41 4d 50 4c 45 0d 0a 0d  ......EXAMPLE...
0310: 0a 64 69 72 20 7c 20 53 65 6c 65 63 74 2d 47 72  .dir | Select-Gr
0320: 61 70 68 69 63 61 6c 46 69 6c 74 65 72 65 64 4f  aphicalFilteredO
0330: 62 6a 65 63 74 0d 0a 0d 0a 20 20 44 69 72 65 63  bject....  Direc
0340: 74 6f 72 79 3a 20 43 3a 5c 0d 0a 0d 0a 4d 6f 64  tory: C:\....Mod
0350: 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  e               
0360: 20 4c 61 73 74 57 72 69 74 65 54 69 6d 65 20 20   LastWriteTime  
0370: 20 20 20 4c 65 6e 67 74 68 20 4e 61 6d 65 0d 0a     Length Name..
0380: 2d 2d 2d 2d 20 20 20 20 20 20 20 20 20 20 20 20  ----            
0390: 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d      ------------
03a0: 2d 20 20 20 20 20 2d 2d 2d 2d 2d 2d 20 2d 2d 2d  -     ------ ---
03b0: 2d 0d 0a 64 2d 2d 2d 2d 20 20 20 20 20 20 20 20  -..d----        
03c0: 20 31 30 2f 37 2f 32 30 30 36 20 20 20 34 3a 33   10/7/2006   4:3
03d0: 30 20 50 4d 20 20 20 20 20 20 20 20 20 20 20 20  0 PM            
03e0: 44 6f 63 75 6d 65 6e 74 73 20 61 6e 64 20 53 65  Documents and Se
03f0: 74 74 69 6e 67 73 0d 0a 64 2d 2d 2d 2d 20 20 20  ttings..d----   
0400: 20 20 20 20 20 20 33 2f 31 38 2f 32 30 30 37 20        3/18/2007 
0410: 20 20 37 3a 35 36 20 50 4d 20 20 20 20 20 20 20    7:56 PM       
0420: 20 20 20 20 20 57 69 6e 64 6f 77 73 0d 0a 0d 0a       Windows....
0430: 23 3e 0d 0a 0d 0a 53 65 74 2d 53 74 72 69 63 74  #>....Set-Strict
0440: 4d 6f 64 65 20 2d 56 65 72 73 69 6f 6e 20 4c 61  Mode -Version La
0450: 74 65 73 74 0d 0a 0d 0a 24 6f 62 6a 65 63 74 41  test....$objectA
0460: 72 72 61 79 20 3d 20 40 28 24 69 6e 70 75 74 29  rray = @($input)
0470: 0d 0a 0d 0a 23 23 20 45 6e 73 75 72 65 20 74 68  ....## Ensure th
0480: 61 74 20 74 68 65 79 27 76 65 20 70 69 70 65 64  at they've piped
0490: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 74   information int
04a0: 6f 20 74 68 65 20 73 63 72 69 70 74 0d 0a 69 66  o the script..if
04b0: 28 24 6f 62 6a 65 63 74 41 72 72 61 79 2e 43 6f  ($objectArray.Co
04c0: 75 6e 74 20 2d 65 71 20 30 29 0d 0a 7b 0d 0a 20  unt -eq 0)..{.. 
04d0: 20 20 20 57 72 69 74 65 2d 45 72 72 6f 72 20 22     Write-Error "
04e0: 54 68 69 73 20 73 63 72 69 70 74 20 72 65 71 75  This script requ
04f0: 69 72 65 73 20 70 69 70 65 6c 69 6e 65 20 69 6e  ires pipeline in
0500: 70 75 74 2e 22 0d 0a 20 20 20 20 72 65 74 75 72  put."..    retur
0510: 6e 0d 0a 7d 0d 0a 0d 0a 23 23 20 4c 6f 61 64 20  n..}....## Load 
0520: 74 68 65 20 57 69 6e 64 6f 77 73 20 46 6f 72 6d  the Windows Form
0530: 73 20 61 73 73 65 6d 62 6c 79 0d 0a 41 64 64 2d  s assembly..Add-
0540: 54 79 70 65 20 2d 41 73 73 65 6d 62 6c 79 20 53  Type -Assembly S
0550: 79 73 74 65 6d 2e 57 69 6e 64 6f 77 73 2e 46 6f  ystem.Windows.Fo
0560: 72 6d 73 0d 0a 0d 0a 23 23 20 43 72 65 61 74 65  rms....## Create
0570: 20 74 68 65 20 6d 61 69 6e 20 66 6f 72 6d 0d 0a   the main form..
0580: 24 66 6f 72 6d 20 3d 20 4e 65 77 2d 4f 62 6a 65  $form = New-Obje
0590: 63 74 20 57 69 6e 64 6f 77 73 2e 46 6f 72 6d 73  ct Windows.Forms
05a0: 2e 46 6f 72 6d 0d 0a 24 66 6f 72 6d 2e 53 69 7a  .Form..$form.Siz
05b0: 65 20 3d 20 4e 65 77 2d 4f 62 6a 65 63 74 20 44  e = New-Object D
05c0: 72 61 77 69 6e 67 2e 53 69 7a 65 20 40 28 36 30  rawing.Size @(60
05d0: 30 2c 36 30 30 29 0d 0a 0d 0a 23 23 20 43 72 65  0,600)....## Cre
05e0: 61 74 65 20 74 68 65 20 6c 69 73 74 62 6f 78 20  ate the listbox 
05f0: 74 6f 20 68 6f 6c 64 20 74 68 65 20 69 74 65 6d  to hold the item
0600: 73 20 66 72 6f 6d 20 74 68 65 20 70 69 70 65 6c  s from the pipel
0610: 69 6e 65 0d 0a 24 6c 69 73 74 62 6f 78 20 3d 20  ine..$listbox = 
0620: 4e 65 77 2d 4f 62 6a 65 63 74 20 57 69 6e 64 6f  New-Object Windo
0630: 77 73 2e 46 6f 72 6d 73 2e 43 68 65 63 6b 65 64  ws.Forms.Checked
0640: 4c 69 73 74 42 6f 78 0d 0a 24 6c 69 73 74 62 6f  ListBox..$listbo
0650: 78 2e 43 68 65 63 6b 4f 6e 43 6c 69 63 6b 20 3d  x.CheckOnClick =
0660: 20 24 74 72 75 65 0d 0a 24 6c 69 73 74 62 6f 78   $true..$listbox
0670: 2e 44 6f 63 6b 20 3d 20 22 46 69 6c 6c 22 0d 0a  .Dock = "Fill"..
0680: 24 66 6f 72 6d 2e 54 65 78 74 20 3d 20 22 53 65  $form.Text = "Se
0690: 6c 65 63 74 20 74 68 65 20 6c 69 73 74 20 6f 66  lect the list of
06a0: 20 6f 62 6a 65 63 74 73 20 79 6f 75 20 77 69 73   objects you wis
06b0: 68 20 74 6f 20 70 61 73 73 20 64 6f 77 6e 20 74  h to pass down t
06c0: 68 65 20 70 69 70 65 6c 69 6e 65 22 0d 0a 24 6c  he pipeline"..$l
06d0: 69 73 74 42 6f 78 2e 49 74 65 6d 73 2e 41 64 64  istBox.Items.Add
06e0: 52 61 6e 67 65 28 24 6f 62 6a 65 63 74 41 72 72  Range($objectArr
06f0: 61 79 29 0d 0a 0d 0a 23 23 20 43 72 65 61 74 65  ay)....## Create
0700: 20 74 68 65 20 62 75 74 74 6f 6e 20 70 61 6e 65   the button pane
0710: 6c 20 74 6f 20 68 6f 6c 64 20 74 68 65 20 4f 4b  l to hold the OK
0720: 20 61 6e 64 20 43 61 6e 63 65 6c 20 62 75 74 74   and Cancel butt
0730: 6f 6e 73 0d 0a 24 62 75 74 74 6f 6e 50 61 6e 65  ons..$buttonPane
0740: 6c 20 3d 20 4e 65 77 2d 4f 62 6a 65 63 74 20 57  l = New-Object W
0750: 69 6e 64 6f 77 73 2e 46 6f 72 6d 73 2e 50 61 6e  indows.Forms.Pan
0760: 65 6c 0d 0a 24 62 75 74 74 6f 6e 50 61 6e 65 6c  el..$buttonPanel
0770: 2e 53 69 7a 65 20 3d 20 4e 65 77 2d 4f 62 6a 65  .Size = New-Obje
0780: 63 74 20 44 72 61 77 69 6e 67 2e 53 69 7a 65 20  ct Drawing.Size 
0790: 40 28 36 30 30 2c 33 30 29 0d 0a 24 62 75 74 74  @(600,30)..$butt
07a0: 6f 6e 50 61 6e 65 6c 2e 44 6f 63 6b 20 3d 20 22  onPanel.Dock = "
07b0: 42 6f 74 74 6f 6d 22 0d 0a 0d 0a 23 23 20 43 72  Bottom"....## Cr
07c0: 65 61 74 65 20 74 68 65 20 43 61 6e 63 65 6c 20  eate the Cancel 
07d0: 62 75 74 74 6f 6e 2c 20 77 68 69 63 68 20 77 69  button, which wi
07e0: 6c 6c 20 61 6e 63 68 6f 72 20 74 6f 20 74 68 65  ll anchor to the
07f0: 20 62 6f 74 74 6f 6d 20 72 69 67 68 74 0d 0a 24   bottom right..$
0800: 63 61 6e 63 65 6c 42 75 74 74 6f 6e 20 3d 20 4e  cancelButton = N
0810: 65 77 2d 4f 62 6a 65 63 74 20 57 69 6e 64 6f 77  ew-Object Window
0820: 73 2e 46 6f 72 6d 73 2e 42 75 74 74 6f 6e 0d 0a  s.Forms.Button..
0830: 24 63 61 6e 63 65 6c 42 75 74 74 6f 6e 2e 54 65  $cancelButton.Te
0840: 78 74 20 3d 20 22 43 61 6e 63 65 6c 22 0d 0a 24  xt = "Cancel"..$
0850: 63 61 6e 63 65 6c 42 75 74 74 6f 6e 2e 44 69 61  cancelButton.Dia
0860: 6c 6f 67 52 65 73 75 6c 74 20 3d 20 22 43 61 6e  logResult = "Can
0870: 63 65 6c 22 0d 0a 24 63 61 6e 63 65 6c 42 75 74  cel"..$cancelBut
0880: 74 6f 6e 2e 54 6f 70 20 3d 20 24 62 75 74 74 6f  ton.Top = $butto
0890: 6e 50 61 6e 65 6c 2e 48 65 69 67 68 74 20 2d 20  nPanel.Height - 
08a0: 24 63 61 6e 63 65 6c 42 75 74 74 6f 6e 2e 48 65  $cancelButton.He
08b0: 69 67 68 74 20 2d 20 35 0d 0a 24 63 61 6e 63 65  ight - 5..$cance
08c0: 6c 42 75 74 74 6f 6e 2e 4c 65 66 74 20 3d 20 24  lButton.Left = $
08d0: 62 75 74 74 6f 6e 50 61 6e 65 6c 2e 57 69 64 74  buttonPanel.Widt
08e0: 68 20 2d 20 24 63 61 6e 63 65 6c 42 75 74 74 6f  h - $cancelButto
08f0: 6e 2e 57 69 64 74 68 20 2d 20 31 30 0d 0a 24 63  n.Width - 10..$c
0900: 61 6e 63 65 6c 42 75 74 74 6f 6e 2e 41 6e 63 68  ancelButton.Anch
0910: 6f 72 20 3d 20 22 52 69 67 68 74 22 0d 0a 0d 0a  or = "Right"....
0920: 23 23 20 43 72 65 61 74 65 20 74 68 65 20 4f 4b  ## Create the OK
0930: 20 62 75 74 74 6f 6e 2c 20 77 68 69 63 68 20 77   button, which w
0940: 69 6c 6c 20 61 6e 63 68 6f 72 20 74 6f 20 74 68  ill anchor to th
0950: 65 20 6c 65 66 74 20 6f 66 20 43 61 6e 63 65 6c  e left of Cancel
0960: 0d 0a 24 6f 6b 42 75 74 74 6f 6e 20 3d 20 4e 65  ..$okButton = Ne
0970: 77 2d 4f 62 6a 65 63 74 20 57 69 6e 64 6f 77 73  w-Object Windows
0980: 2e 46 6f 72 6d 73 2e 42 75 74 74 6f 6e 0d 0a 24  .Forms.Button..$
0990: 6f 6b 42 75 74 74 6f 6e 2e 54 65 78 74 20 3d 20  okButton.Text = 
09a0: 22 4f 6b 22 0d 0a 24 6f 6b 42 75 74 74 6f 6e 2e  "Ok"..$okButton.
09b0: 44 69 61 6c 6f 67 52 65 73 75 6c 74 20 3d 20 22  DialogResult = "
09c0: 4f 6b 22 0d 0a 24 6f 6b 42 75 74 74 6f 6e 2e 54  Ok"..$okButton.T
09d0: 6f 70 20 3d 20 24 63 61 6e 63 65 6c 42 75 74 74  op = $cancelButt
09e0: 6f 6e 2e 54 6f 70 0d 0a 24 6f 6b 42 75 74 74 6f  on.Top..$okButto
09f0: 6e 2e 4c 65 66 74 20 3d 20 24 63 61 6e 63 65 6c  n.Left = $cancel
0a00: 42 75 74 74 6f 6e 2e 4c 65 66 74 20 2d 20 24 6f  Button.Left - $o
0a10: 6b 42 75 74 74 6f 6e 2e 57 69 64 74 68 20 2d 20  kButton.Width - 
0a20: 35 0d 0a 24 6f 6b 42 75 74 74 6f 6e 2e 41 6e 63  5..$okButton.Anc
0a30: 68 6f 72 20 3d 20 22 52 69 67 68 74 22 0d 0a 0d  hor = "Right"...
0a40: 0a 23 23 20 41 64 64 20 74 68 65 20 62 75 74 74  .## Add the butt
0a50: 6f 6e 73 20 74 6f 20 74 68 65 20 62 75 74 74 6f  ons to the butto
0a60: 6e 20 70 61 6e 65 6c 0d 0a 24 62 75 74 74 6f 6e  n panel..$button
0a70: 50 61 6e 65 6c 2e 43 6f 6e 74 72 6f 6c 73 2e 41  Panel.Controls.A
0a80: 64 64 28 24 6f 6b 42 75 74 74 6f 6e 29 0d 0a 24  dd($okButton)..$
0a90: 62 75 74 74 6f 6e 50 61 6e 65 6c 2e 43 6f 6e 74  buttonPanel.Cont
0aa0: 72 6f 6c 73 2e 41 64 64 28 24 63 61 6e 63 65 6c  rols.Add($cancel
0ab0: 42 75 74 74 6f 6e 29 0d 0a 0d 0a 23 23 20 41 64  Button)....## Ad
0ac0: 64 20 74 68 65 20 62 75 74 74 6f 6e 20 70 61 6e  d the button pan
0ad0: 65 6c 20 61 6e 64 20 6c 69 73 74 20 62 6f 78 20  el and list box 
0ae0: 74 6f 20 74 68 65 20 66 6f 72 6d 2c 20 61 6e 64  to the form, and
0af0: 20 61 6c 73 6f 20 73 65 74 0d 0a 23 23 20 74 68   also set..## th
0b00: 65 20 61 63 74 69 6f 6e 73 20 66 6f 72 20 74 68  e actions for th
0b10: 65 20 62 75 74 74 6f 6e 73 0d 0a 24 66 6f 72 6d  e buttons..$form
0b20: 2e 43 6f 6e 74 72 6f 6c 73 2e 41 64 64 28 24 6c  .Controls.Add($l
0b30: 69 73 74 42 6f 78 29 0d 0a 24 66 6f 72 6d 2e 43  istBox)..$form.C
0b40: 6f 6e 74 72 6f 6c 73 2e 41 64 64 28 24 62 75 74  ontrols.Add($but
0b50: 74 6f 6e 50 61 6e 65 6c 29 0d 0a 24 66 6f 72 6d  tonPanel)..$form
0b60: 2e 41 63 63 65 70 74 42 75 74 74 6f 6e 20 3d 20  .AcceptButton = 
0b70: 24 6f 6b 42 75 74 74 6f 6e 0d 0a 24 66 6f 72 6d  $okButton..$form
0b80: 2e 43 61 6e 63 65 6c 42 75 74 74 6f 6e 20 3d 20  .CancelButton = 
0b90: 24 63 61 6e 63 65 6c 42 75 74 74 6f 6e 0d 0a 24  $cancelButton..$
0ba0: 66 6f 72 6d 2e 41 64 64 5f 53 68 6f 77 6e 28 20  form.Add_Shown( 
0bb0: 7b 20 24 66 6f 72 6d 2e 41 63 74 69 76 61 74 65  { $form.Activate
0bc0: 28 29 20 7d 20 29 0d 0a 0d 0a 23 23 20 53 68 6f  () } )....## Sho
0bd0: 77 20 74 68 65 20 66 6f 72 6d 2c 20 61 6e 64 20  w the form, and 
0be0: 77 61 69 74 20 66 6f 72 20 74 68 65 20 72 65 73  wait for the res
0bf0: 70 6f 6e 73 65 0d 0a 24 72 65 73 75 6c 74 20 3d  ponse..$result =
0c00: 20 24 66 6f 72 6d 2e 53 68 6f 77 44 69 61 6c 6f   $form.ShowDialo
0c10: 67 28 29 0d 0a 0d 0a 23 23 20 49 66 20 74 68 65  g()....## If the
0c20: 79 20 70 72 65 73 73 65 64 20 4f 4b 20 28 6f 72  y pressed OK (or
0c30: 20 45 6e 74 65 72 2c 29 20 67 6f 20 74 68 72 6f   Enter,) go thro
0c40: 75 67 68 20 61 6c 6c 20 74 68 65 0d 0a 23 23 20  ugh all the..## 
0c50: 63 68 65 63 6b 65 64 20 69 74 65 6d 73 20 61 6e  checked items an
0c60: 64 20 73 65 6e 64 20 74 68 65 20 63 6f 72 72 65  d send the corre
0c70: 73 70 6f 6e 64 69 6e 67 20 6f 62 6a 65 63 74 20  sponding object 
0c80: 64 6f 77 6e 20 74 68 65 20 70 69 70 65 6c 69 6e  down the pipelin
0c90: 65 0d 0a 69 66 28 24 72 65 73 75 6c 74 20 2d 65  e..if($result -e
0ca0: 71 20 22 4f 4b 22 29 0d 0a 7b 0d 0a 20 20 20 20  q "OK")..{..    
0cb0: 66 6f 72 65 61 63 68 28 24 69 6e 64 65 78 20 69  foreach($index i
0cc0: 6e 20 24 6c 69 73 74 42 6f 78 2e 43 68 65 63 6b  n $listBox.Check
0cd0: 65 64 49 6e 64 69 63 65 73 29 0d 0a 20 20 20 20  edIndices)..    
0ce0: 7b 0d 0a 20 20 20 20 20 20 20 20 24 6f 62 6a 65  {..        $obje
0cf0: 63 74 41 72 72 61 79 5b 24 69 6e 64 65 78 5d 0d  ctArray[$index].
0d00: 0a 20 20 20 20 7d 0d 0a 7d 0d 0a                 .    }..}..