Hex Artifact Content Вы: nobody
Вход

Artifact fce7a22872037c8f4322de598ba78a09e53f45ef:


0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69  ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 63 68 6f 69 63  pt..$uname choic
0020: 65 48 65 6c 70 54 6f 70 69 63 0d 0a 24 64 6e 61  eHelpTopic..$dna
0030: 6d 65 20 d0 92 d1 8b d0 b1 d1 80 d0 b0 d1 82 d1  me .............
0040: 8c 20 d0 b3 d0 bb d0 b0 d0 b2 d1 83 20 d1 81 d0  . .......... ...
0050: bf d1 80 d0 b0 d0 b2 d0 ba d0 b8 0d 0a 24 61 64  .............$ad
0060: 64 69 6e 20 73 74 64 6c 69 62 0d 0a 0d 0a 2f 2f  din stdlib....//
0070: 20 28 63 29 20 d0 90 d0 bb d0 b5 d0 ba d1 81 d0   (c) ...........
0080: b0 d0 bd d0 b4 d1 80 20 d0 9e d1 80 d0 b5 d1 84  ....... ........
0090: d0 ba d0 be d0 b2 0d 0a 2f 2f 20 d0 a1 d0 ba d1  ........// .....
00a0: 80 d0 b8 d0 bf d1 82 20 d0 bf d0 be d0 b7 d0 b2  ....... ........
00b0: d0 be d0 bb d1 8f d0 b5 d1 82 20 d0 b1 d1 8b d1  .......... .....
00c0: 81 d1 82 d1 80 d0 b5 d0 b5 20 d0 b2 d1 8b d0 b1  ......... ......
00d0: d1 80 d0 b0 d1 82 d1 8c 20 d0 bd d1 83 d0 b6 d0  ........ .......
00e0: bd d1 83 d1 8e 20 d0 b3 d0 bb d0 b0 d0 b2 d1 83  ..... ..........
00f0: 20 d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 ba d0 b8 2c   ..............,
0100: 20 d0 ba d0 be d0 b3 d0 b4 d0 b0 20 d0 be d0 b4   .......... ....
0110: d0 bd d0 be d0 bc d1 83 20 d1 81 d0 bb d0 be d0  ........ .......
0120: b2 d1 83 0d 0a 2f 2f 20 d1 81 d0 be d0 be d1 82  .....// ........
0130: d0 b2 d0 b5 d1 82 d1 81 d1 82 d0 b2 d1 83 d0 b5  ................
0140: d1 82 20 d0 bd d0 b5 d1 81 d0 ba d0 be d0 bb d1  .. .............
0150: 8c d0 ba d0 be 20 d1 80 d0 b0 d0 b7 d0 b4 d0 b5  ..... ..........
0160: d0 bb d0 be d0 b2 0d 0a 0d 0a 74 72 79 7b 0d 0a  ..........try{..
0170: 76 61 72 20 61 70 69 20 3d 20 73 74 64 6c 69 62  var api = stdlib
0180: 2e 72 65 71 75 69 72 65 28 22 77 69 6e 61 70 69  .require("winapi
0190: 2e 6a 73 22 29 0d 0a 76 61 72 20 73 65 6c 20 3d  .js")..var sel =
01a0: 20 6e 65 77 20 41 63 74 69 76 65 58 4f 62 6a 65   new ActiveXObje
01b0: 63 74 28 27 53 76 63 73 76 63 2e 53 65 72 76 69  ct('Svcsvc.Servi
01c0: 63 65 27 29 0d 0a 65 76 65 6e 74 73 2e 63 6f 6e  ce')..events.con
01d0: 6e 65 63 74 28 77 69 6e 64 6f 77 73 2c 20 22 6f  nect(windows, "o
01e0: 6e 44 6f 4d 6f 64 61 6c 22 2c 20 53 65 6c 66 53  nDoModal", SelfS
01f0: 63 72 69 70 74 2e 73 65 6c 66 29 0d 0a 7d 63 61  cript.self)..}ca
0200: 74 63 68 28 65 29 0d 0a 7b 0d 0a 20 20 20 20 4d  tch(e)..{..    M
0210: 65 73 73 61 67 65 28 22 63 68 6f 69 63 65 48 65  essage("choiceHe
0220: 6c 70 54 6f 70 69 63 2e 6a 73 3a 20 d0 be d1 88  lpTopic.js: ....
0230: d0 b8 d0 b1 d0 ba d0 b0 20 d0 bf d1 80 d0 b8 20  ........ ...... 
0240: d0 b8 d0 bd d0 b8 d1 86 d0 b8 d0 b0 d0 bb d0 b8  ................
0250: d0 b7 d0 b0 d1 86 d0 b8 d0 b8 2e 20 22 20 2b 20  ........... " + 
0260: 65 2e 64 65 73 63 72 69 70 74 69 6f 6e 29 0d 0a  e.description)..
0270: 20 20 20 20 2f 2f 61 64 64 69 6e 73 2e 75 6e 6c      //addins.unl
0280: 6f 61 64 41 64 64 69 6e 28 61 64 64 69 6e 73 2e  oadAddin(addins.
0290: 62 79 55 6e 69 71 75 65 4e 61 6d 65 28 53 65 6c  byUniqueName(Sel
02a0: 66 53 63 72 69 70 74 2e 75 6e 69 71 75 65 4e 61  fScript.uniqueNa
02b0: 6d 65 29 29 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74  me))..}....funct
02c0: 69 6f 6e 20 6f 6e 44 6f 4d 6f 64 61 6c 28 64 6c  ion onDoModal(dl
02d0: 67 49 6e 66 6f 29 0d 0a 7b 0d 0a 20 20 20 20 69  gInfo)..{..    i
02e0: 66 28 64 6c 67 49 6e 66 6f 2e 63 61 70 74 69 6f  f(dlgInfo.captio
02f0: 6e 20 3d 3d 20 22 d0 92 d1 8b d0 b1 d0 be d1 80  n == "..........
0300: 20 d0 b3 d0 bb d0 b0 d0 b2 d1 8b 22 29 0d 0a 20   ..........").. 
0310: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 69 66     {..        if
0320: 28 64 6c 67 49 6e 66 6f 2e 73 74 61 67 65 20 3d  (dlgInfo.stage =
0330: 3d 20 6f 70 65 6e 4d 6f 64 61 6c 57 6e 64 29 0d  = openModalWnd).
0340: 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20  .        {..    
0350: 20 20 20 20 20 20 20 20 76 61 72 20 64 73 20 3d          var ds =
0360: 20 64 6c 67 49 6e 66 6f 2e 66 6f 72 6d 2e 67 65   dlgInfo.form.ge
0370: 74 43 6f 6e 74 72 6f 6c 28 22 74 62 6c 54 6f 70  tControl("tblTop
0380: 69 63 73 22 29 2e 64 61 74 61 53 6f 75 72 63 65  ics").dataSource
0390: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 65  ..            Me
03a0: 73 73 61 67 65 28 22 44 61 74 61 53 6f 75 72 63  ssage("DataSourc
03b0: 65 54 79 70 65 3d 22 20 2b 20 64 73 2e 74 79 70  eType=" + ds.typ
03c0: 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  e)..            
03d0: 4d 65 73 73 61 67 65 28 22 68 61 73 43 65 6c 6c  Message("hasCell
03e0: 41 70 70 65 61 72 61 6e 63 65 3d 22 20 2b 20 64  Appearance=" + d
03f0: 73 2e 68 61 73 43 65 6c 6c 41 70 70 65 61 72 61  s.hasCellAppeara
0400: 6e 63 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20  nce)..          
0410: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20    ..            
0420: 66 6f 72 28 76 61 72 20 72 6f 77 49 44 20 3d 20  for(var rowID = 
0430: 64 73 2e 67 65 74 52 6f 77 28 30 2c 20 67 72 74  ds.getRow(0, grt
0440: 46 69 72 73 74 43 68 69 6c 64 29 3b 20 72 6f 77  FirstChild); row
0450: 49 44 3b 20 72 6f 77 49 44 20 3d 20 64 73 2e 67  ID; rowID = ds.g
0460: 65 74 52 6f 77 28 72 6f 77 49 44 2c 20 67 72 74  etRow(rowID, grt
0470: 4e 65 78 74 29 29 0d 0a 20 20 20 20 20 20 20 20  Next))..        
0480: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20      {..         
0490: 20 20 20 20 20 20 20 4d 65 73 73 61 67 65 28 64         Message(d
04a0: 73 2e 67 65 74 43 65 6c 6c 56 61 6c 75 65 28 72  s.getCellValue(r
04b0: 6f 77 49 44 2c 20 30 29 29 0d 0a 20 20 20 20 20  owID, 0))..     
04c0: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
04d0: 20 20 20 20 20 20 2f 2a 0d 0a 20 20 20 20 20 20        /*..      
04e0: 20 20 20 20 20 20 76 61 72 20 76 74 20 3d 20 64        var vt = d
04f0: 6c 67 49 6e 66 6f 2e 66 6f 72 6d 2e 67 65 74 43  lgInfo.form.getC
0500: 6f 6e 74 72 6f 6c 28 22 74 62 6c 54 6f 70 69 63  ontrol("tblTopic
0510: 73 22 29 2e 76 61 6c 75 65 0d 0a 20 20 20 20 20  s").value..     
0520: 20 20 20 20 20 20 20 69 66 28 76 74 2e 43 6f 75         if(vt.Cou
0530: 6e 74 28 29 20 3e 20 33 29 0d 0a 20 20 20 20 20  nt() > 3)..     
0540: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20         {..      
0550: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 68            var ch
0560: 6f 69 63 65 73 20 3d 20 5b 5d 0d 0a 20 20 20 20  oices = []..    
0570: 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 28              for(
0580: 76 61 72 20 72 6f 77 73 20 3d 20 6e 65 77 20 45  var rows = new E
0590: 6e 75 6d 65 72 61 74 6f 72 28 76 74 29 3b 20 21  numerator(vt); !
05a0: 72 6f 77 73 2e 61 74 45 6e 64 28 29 3b 20 72 6f  rows.atEnd(); ro
05b0: 77 73 2e 6d 6f 76 65 4e 65 78 74 28 29 29 0d 0a  ws.moveNext())..
05c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
05d0: 20 20 20 20 63 68 6f 69 63 65 73 2e 70 75 73 68      choices.push
05e0: 28 72 6f 77 73 2e 69 74 65 6d 28 29 2e 47 65 74  (rows.item().Get
05f0: 28 30 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20  (0))..          
0600: 20 20 20 20 20 20 76 61 72 20 72 65 63 74 20 3d        var rect =
0610: 20 61 70 69 2e 47 65 74 57 69 6e 64 6f 77 52 65   api.GetWindowRe
0620: 63 74 28 61 70 69 2e 47 65 74 50 61 72 65 6e 74  ct(api.GetParent
0630: 57 69 6e 64 6f 77 28 61 70 69 2e 47 65 74 50 61  Window(api.GetPa
0640: 72 65 6e 74 57 69 6e 64 6f 77 28 64 6c 67 49 6e  rentWindow(dlgIn
0650: 66 6f 2e 66 6f 72 6d 2e 67 65 74 43 6f 6e 74 72  fo.form.getContr
0660: 6f 6c 28 2d 31 29 2e 68 77 6e 64 29 29 29 20 20  ol(-1).hwnd)))  
0670: 2f 2f 20 2d 31 20 2d 20 d1 8d d1 82 d0 be 20 d1  // -1 - ...... .
0680: 81 d0 b0 d0 bc d0 b0 20 d1 84 d0 be d1 80 d0 bc  ....... ........
0690: d0 b0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
06a0: 20 20 20 20 76 61 72 20 63 68 6f 69 63 65 20 3d      var choice =
06b0: 20 73 65 6c 2e 46 69 6c 74 65 72 56 61 6c 75 65   sel.FilterValue
06c0: 28 63 68 6f 69 63 65 73 2e 6a 6f 69 6e 28 22 5c  (choices.join("\
06d0: 72 5c 6e 22 29 2c 20 31 20 7c 20 38 20 7c 20 33  r\n"), 1 | 8 | 3
06e0: 32 2c 20 27 d0 92 d1 8b d0 b1 d0 b5 d1 80 d0 b8  2, '............
06f0: d1 82 d0 b5 20 d0 b3 d0 bb d0 b0 d0 b2 d1 83 27  .... ..........'
0700: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
0710: 20 20 20 20 20 20 20 72 65 63 74 2e 6c 65 66 74         rect.left
0720: 2c 20 72 65 63 74 2e 74 6f 70 2c 20 72 65 63 74  , rect.top, rect
0730: 2e 77 69 64 74 68 28 29 2c 20 72 65 63 74 2e 68  .width(), rect.h
0740: 65 69 67 68 74 28 29 29 0d 0a 20 20 20 20 20 20  eight())..      
0750: 20 20 20 20 20 20 20 20 20 20 69 66 28 63 68 6f            if(cho
0760: 69 63 65 2e 6c 65 6e 67 74 68 29 0d 0a 20 20 20  ice.length)..   
0770: 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a               {..
0780: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0790: 20 20 20 20 76 61 72 20 73 6b 20 3d 20 22 22 0d      var sk = "".
07a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
07b0: 20 20 20 20 20 66 6f 72 28 76 61 72 20 6b 20 69       for(var k i
07c0: 6e 20 63 68 6f 69 63 65 73 29 0d 0a 20 20 20 20  n choices)..    
07d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
07e0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
07f0: 20 20 20 20 20 20 20 20 20 20 20 69 66 28 63 68             if(ch
0800: 6f 69 63 65 73 5b 6b 5d 20 3d 3d 20 63 68 6f 69  oices[k] == choi
0810: 63 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ce)..           
0820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0830: 20 62 72 65 61 6b 0d 0a 20 20 20 20 20 20 20 20   break..        
0840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0850: 73 6b 20 2b 3d 20 22 7b 44 4f 57 4e 7d 22 0d 0a  sk += "{DOWN}"..
0860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0870: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20      }..         
0880: 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 41             new A
0890: 63 74 69 76 65 58 4f 62 6a 65 63 74 28 22 57 53  ctiveXObject("WS
08a0: 63 72 69 70 74 2e 53 68 65 6c 6c 22 29 2e 53 65  cript.Shell").Se
08b0: 6e 64 4b 65 79 73 28 73 6b 20 2b 20 22 7e 22 29  ndKeys(sk + "~")
08c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
08d0: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20    }..           
08e0: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   }..            
08f0: 2a 2f 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  */..        }.. 
0900: 20 20 20 7d 0d 0a 7d 0d 0a                          }..}..