Page 2 of 2

Re: inputselect()

Posted: 22 Jul 2010 15:04
by TheQwerty
admin wrote:No, you are dreaming. :)
While that whole grouping format may be high hopes, it would be nice if it were possible to insert separators into the list.

For instance:

Code: Select all

text( inputselect("Select Destination".<crlf>."Choose drive:", "C:|D:|E:|-|\\server1|\\server2"));
Instead of a single '-' that could be expanded to a full on separator the width of the list and hopefully it would be possible to prevent it from being selected. Thus allowing us to give it the appearance of groups.

Re: inputselect()

Posted: 24 Sep 2010 20:45
by Stefan
v9.50.0103 (i didn't check this with earlier version)

It seams after adding an another parameter the parser now split one para too less:

inputselect(header, listdata, [separator=|], [style=1], [cancel], [width=600], [height=400], [windowcaption])

Try this:

::text inputselect("Select Drives", "C:|+D:|E:", , 3, "-", 400, 200, "My Caption");
You will get '200' as caption

::text inputselect("Select Drives", "C:|+D:|E:", , 3, "-", , , "My Caption");
You will get no caption at all

::text inputselect("Select Drives", "C:|+D:|E:", , 3, "-", 200, "My Caption");
You will get the wanted caption





2.) In the help:
Use checkboxes and icons (1 OR 2 = 3):
should read
Use checkboxes and icons (1 AND 2 = 3):
isn't it?





3. BTW) I don't know how to implement
but for the case i use longer listdata tokens (i mean the items between the | pipe-signs)
it would be nice to get just the selected token number(s) returned
instead of the whole long token itself.
Maybe as Style = 4 ?
So i can check If (return <= 3) {then} and such.
But i guess this is from lower interest for you :wink:

EDIT:
ok, so i see now i can do it like this:

Code: Select all

$RETURN=0;

   $Choice1 = "No1 with an long describtion";
   $Choice2 = "Second entry: do nothing, just end";
   $Choice3 = "Third possibility";
   $Choice4 = "Just make coffee";
   $Choice5 = "And there was sound!...";
   $Choice6 = "Ask me again..."; //will only work if this script is an file

   ////inputselect(header, listdata, [separa=|], [style=1], [cancel], [width], [height], [caption])
   $ASK = inputselect("Chose one of this choices:", 
          $Choice1|$Choice2|$Choice3|$Choice4|$Choice5|$Choice6 , ,  , "Canceled", 200, 250, "Choices Test Dialog");

      If ($ASK==$Choice1){msg "Your choice is: No1"; $RETURN=1;}
      If ($ASK==$Choice2){; $RETURN=2;}
      If ($ASK==$Choice3){msg "OK, OK, choice number 3."; $RETURN=3;}
      If ($ASK==$Choice4){makecoffee; $RETURN=4;}
      If ($ASK==$Choice5){ while($loop<3){   beep; beep 1000, 200;beep 1200, 400;     incr $loop;    wait 500; }  $RETURN=5; }
      If ($ASK==$Choice6){ setting "AllowRecursion"; self $ScriptFile, file; Load $ScriptFile, Store; break; $RETURN=6;}
      If ($ASK=="Canceled"){ msg "Canceld by user"; $RETURN=7;}

If ($RETURN < 3){ msg "It was one of the first two choices."}
If ($RETURN==4){ //make more coffee }
/EDIT

.

Re: inputselect()

Posted: 25 Sep 2010 09:16
by admin
1) yes, indeed, wow! Fixed.

2) no, these are binary operations. 1 OR 2 = 3 is correct. 1 AND 2 = 0.