BETA version (with detailed history information)

Get a glimpse of the next XYplorer...
Locked
admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0018, 20-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0018 - 2008-09-20 13:27
  +++ Scripting now can do basic calculation using math operators +-*/.
      Fractions and parentheses are supported.
      Examples:
        ::echo 1 + 1;
        ::echo 1 - 2 - 3;   // -4
        ::echo 1 - (2 - 3); //  2
        ::echo 1/3 + 1/3;
        ::echo 1 + 2 * 3;
        ::echo (1 + 2) * 3;
        ::echo 1/0;  // error division by zero
        ::$a=3; $b=2; echo $a / $b; // 1.5
        ::$fraction = "1.5"; echo $fraction == 3/2; // true
        ::echo "1.2" + "2.1"; // 3.3
      Remarks:
      - Strings are converted to numbers as possible (just like in 
        comparisons).
          ::$a=""; $b="2"; echo $a + $b; // = 2
          ::$a="1a"; $b="2b"; echo $a + $b; // = 3
      - The decimal separator is NOT locale specific (e.g. dot in US, 
        comma in Germany) but hard-coded to dot. This way scripts are 
        interchangeable between regions.
      - To define fractional numbers you have to quote them:
          ::$fraction = "1.5"; echo $fraction / 2; // 0.75 (1.5/2)
          ::$fraction = 1.5; echo $fraction / 2;   // 7.5 (15/2)
      - Calculation uses 8-byte floating point numbers with the 
        following ranges:
          negative: -1.79769313486232E308  to -4.94065645841247E-324
          positive:  4.94065645841247E-324 to  1.79769313486232E308
        Floating point arithmetic has its natural shortcomings so don't 
        expect too much in terms of precise accuracy down to the 12th 
        digit. A file manager is not a scientific calculator.
    ! Scripting: Comparison did not honour fractions. Fixed. This works 
      now as expected:
        ::echo "10.3" > "2.2"; //true
    + Scripting got a new command.
      Name:   Echo
      Action: Show simple message box.
      Syntax: echo text
      Examples:
        ::echo "hi!";
        ::echo <date>;
      Remarks: It's the smaller brother of msg. Added mainly for 
      copy+paste compatibility with PHP code.
    ! Scripting: Nesting ternaries did not work as expected:
        ::msg (1==1)?((2==2)?"yes":"no"):"error"; //should be "yes"
      Fixed.
    ! Scripting: Nesting comparisons did not work as expected:
        ::msg (1==1) == (2==2);  //should be 1 (True)
      Fixed.
    ! Scripting: Numerical comparison was invoked if any of the operands 
      was numerical. Wrong: _both_ operands need to be numerical! Fixed.
        ::echo ("0" > "");    //true (1)
        ::echo ("0" > "0");   //false (0) (numeric)
        ::echo ("0" > "00");  //false (0) (numeric)
        ::echo ("0" == "00"); //true (1)  (numeric)
        ::echo ("0" == "")";  //false (0)
        ::echo ("a" == "")";  //false (0)
        ::echo ("a" == "0")"; //false (0)
        ::echo (0 == "");     //false (0)
        ::$foo=0; echo ($foo == ""); //false (0)
    ! Scripting: Would ignore functions when one or more blanks were 
      between function name and opening parenthesis. Fixed. Now you can 
      do this:
        ::msg quote                              ("pluto");
    ! Scripting: Setting variables using equal-operator would convert 
      the variables to lower case internally. Fixed: Case is preserved 
      now, and this works as expected:
        ::$myText = "Howdy!"; echo $myText;
    ! SC "load": In a passed list of script labels any blanks were not 
      trimmed. Fixed.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0017, 19-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0017 - 2008-09-19 09:09
    + Scripting got a new function.
      Note: The command getinfo is converted into a function! Since it was 
      introduced after the last official release it's still considered 
      BETA so there's no compatibility code. IOW: You have to upgrade your 
      scripts if they use getinfo.
      
      Name: GetInfo
      Action: Get various info into variable.
      Syntax: getinfo(info, [param1])
        info:   [required] sort of info (New: *NOT* case-sensitive!)
        param1: [optional] depends on info
        return: retrieved info
      Possible values for info and param1:
      - "CountSelected", [(unused)]
        Count of selected items in List.
      - "SelectedItemsPathNames", [delimiter=CRLF]
        All selected items (full path) in List, delimited by param1.
      - "SelectedItemsNames", [delimiter=CRLF]
        All selected items (name, no path) in List, delimited by param1.
      Examples:
        ::$a=getinfo("CountSelected"); msg $a;
        ::$a=getinfo("SelectedItemsPathNames", "|"); msg $a;
        ::msg getinfo("selecteditemsnames", chr(10));
    ! Scripting: Empty string "" was wrongly interpreted as numerical 
      operand in a comparison. Fixed.
    ! Duplicate servers in Tree/Nethood under certain conditions. Fixed.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0016, 18-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0016 - 2008-09-18 14:53
    ! Scripting: Unquoted comparison operators inside functions lead to 
      mal-parsing:
        ::msg quote(<clipboard>);
        ::msg quote(2>1?"true":"false");
      Fixed.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0015, 18-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0015 - 2008-09-18 12:47
  +++ Scripting proudly presents its first function!
      Name:   quote
      Action: Double-quote a string.
      Syntax: quote([string])
              return: quoted string
      Examples:  
        ::msg quote("a"); // "a"
        ::msg quote(1);   // "1"
        ::msg QUOTE(1);   // "1"
        ::msg quote();    // ""
        ::msg quote;      // quote
      Of course, nesting and concatening is no problem:
        ::$a=quote(quote(quote("b"."c")."d")."e".quote("f"));
          msg "Quotes added using function quote(): $a";
      
      Notes on functions
      ~~~~~~~~~~~~~~~~~~
      (1) Function names are not case-sensitive: QUOTE() = quote().
      (2) Even without any argument -- e.g. quote() -- the parentheses 
          are mandatory, else the function is not recognized.
      (3) Functions are not interpolated when inside double-quotes.
          ::$a = "clever"; msg "Wow, quote($a)!";
            = Wow, quote(clever)!
          ::$a = "clever"; msg "Wow, ".quote($a)."!";
            = Wow, "clever"!
      (4) Step Mode: Functions are individually stepped. The current 
          script line is marked green when a contained function is 
          stepped as opposed to the main command of the line.
          You can even skip (button Skip) functions individually, in 
          which case the function name is returned with the resolved 
          arguments. For example:
            ::msg quote(chr(64));
          If you continue both functions the result is:
            "@"
          If you skip chr() and continue quote() the result is:
            "chr(64)"
          If you continue chr() and skip quote() the result is:
            quote(@)
          If you skip both functions the result is:
            quote(chr(64))
      (5) Step Mode: When you "Continue without Stepping" on a function, 
          the stepping is only suspended for all functions in the 
          current script line / command.
    + Scripting got a new function.
      Name:   chr
      Action: Return a specific character.
      Syntax: chr(charcode)
              charcode: valid range 0-65535 (0xFFFF)
              return: character
      Examples:
        ::msg chr(88).chr(89);
        ::msg chr(28888); // looks Chinese to me
        ::msg quote(chr(28888)); // yep, of course you can mix 'em
      Remarks:
        Values outside the valid range but inside 32 bit are silently 
        corrected using a bit mask (AND 0x0000FFFF). Values outside 32 
        bit are set to 0.
    + Scripting got a new function.
      Name:   confirm
      Action: Pops message box with OK/Cancel, returns result.
      Syntax: confirm(message)
              return: 1 on OK, 0 on Cancel
      Examples:
        ::msg confirm("Ok?");
        ::msg "You pressed " . (confirm("Ok?")==1?"OK":"Cancel") . ".";
        ::msg confirm("Ok?") . confirm("Are you sure?");
    + SC "input" in its single-line variant would accept multi-line 
      default values, e.g. when the default was retrieved from clipboard 
      as in:
        ::input $a, "Enter URL", <clipboard>;
      Fixed: Now only the first line is taken in such cases.
    + Scripting | Step dialog: Now you can view a list of all variables 
      currently on the stack. There is a button which is only shown when 
      there are any variables. You may also use the context menu, or 
      simply press "V".
      Note that if the Step dialog is used for showing an error message, 
      currently no variables can be shown. Might be added later.
    * Scripting | Step dialog: Some design changes.
    + Scripting: Now commenting is supported everywhere. So you can 
      paste this into the Address Bar and it will work:  
        ::msg /*they can be inserted anywhere!*/ "hi!" /* anytime */;
      Same for Favorites, PFA/POM, and wherever Quick Scripting is 
      supported.
    * Scripting: Comparisons are now done as in PHP. The rule is: "If 
      you compare an integer with a string, the string is converted to a 
      number. If you compare two numerical strings, they are compared as 
      integers."
        ::msg (0 == "a");     // 0 == 0 -> true
        ::msg ("1" == "01");  // 1 == 1 -> true
        ::msg ("1" == "1e0"); // 1 == 1 -> true
        ::msg ("1" < "2");    // 1 < 2  -> true
        ::msg (" 1" < "   2  ");  // 1 < 2  -> true
        ::msg ("-2" < "-1");      // -1 < -2  -> true
        ::msg ("0"?"true":"false");   // 0 -> false
        ::msg ("2"?"true":"false");   // 2 -> true
        ::msg ("a"?"true":"false");   // 0 but not "0" -> true!!
      If both parts are non-numeric then the comparison is alphabetical:
        ::msg ("2a" < "10a"); // -> false!
      The valid range of compared integers is -2147483648 - 2147483647 
      (32 bit). Numbers outside that range are silently converted to 0 
      (zero) before the comparison takes place.
    ! Scripting: Closing the app while a script was running could lead 
      to a crash. Fixed.
    ! Scripting: A comment like /* ' */ (containing a single or double 
      quote) would take out everything following it. Fixed.    
    ! List: Doing menu Go | Up while a long search (> 500 msecs) was in 
      progress would lead to a confused list. Fixed: Now this action will 
      first stop the search. Then you have to Go | Up again to continue.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0012, 16-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0012 - 2008-09-16 15:14
    + Scripting: Now commenting at line ends is supported. Comments 
      begin with a double-forward slash (outside of any quotes) and end at 
      the end of the line.
      Examples:
        - $a = <xypath>; assert $a=="<xypath>"; //should not fail
        - $a = <xypath>;            //assign XY path
            assert $a=="<xypath>";  //should not fail
        - "getinfo CountSelected" // comment
            getinfo $count,       // comment
            "CountSelected";      // comment
            assert $count!=0,     // comment
            "You must select a file before running this script!"
    + Scripting: Now block comments (aka C-style comments) are 
      supported. They start with /* (outside of any quotes) and end with 
      the next */ (outside of any quotes) and can span any number of 
      lines.
      Examples:
        - /* This is
          a multi-line
          block comment
          */ msg "hi!";
        - msg /*they can be inserted anywhere!*/ "hi!" /* anytime */;
      
      Remarks on Comments
      ~~~~~~~~~~~~~~~~~~~
      (1) Line-end and block comments overwrite each other:
          ::msg "Hi!"; // /*this is not a block comment starting...
          ::msg /* //this is not a line end comment starting... */ "Hi!";
      (2) Make sure you don't nest block comments. It is easy to make 
          this mistake if you are trying to comment out a large block of 
          code:
            /* 
            msg 'This is a test'; /* Will cause a problem */
            */
          This, however, will work since // overwrites the /* */ comment:
            //msg 'This is a test'; /* This comment is NO problem */
       (3) Comments are not supported in Quick Scripting! This is 
           everywhere where no multiline scripts are possible: So they 
           won't work in the Address Bar, PFA, Favorites...
    + Scripting: Now you can nest expressions using parentheses, aka round 
      brackets: ( ). There's no practical limit to nesting depth and 
      superfluous parentheses are silently removed.
      Examples where parentheses are merely decor:
        ::msg "a" . "b";
        ::msg ("a" . "b");
        ::msg ("a") . ("b");
        ::msg (("a") . ("b"));
        ::msg ((("a") . ("b")));
        ::msg "a" . "b" . ();
          = ab
        ::msg "a" . ("b" . "c");
        ::msg ("a" . "b") . "c";
          = abc
        ::msg "a" == "a" . "a" == "b";
        ::msg ("a" == "a") . ("a" == "b");
          = 10
      Examples where parentheses actually make a difference:
        ::msg "a" == "a" . "a";
        ::msg ("a" == "a") . "a";
          = 1a
        ::msg "a" == ("a" . "a");
          = 0
      Examples for nesting errors:
        ::msg ("a" . "b"; // ')' missing!
          = ("a" . "b"
        ::msg "a" . "b"); // '(' missing!
          = a"b")
    ! Icon Overlays were not always correctly auto-refreshed in Tree and 
      List. Fix #2.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0010, 15-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0010 - 2008-09-15 22:08
    + Toolbar: Added button "Show Tree".
    ! A FVS related bug from 7.50 could still survive in corrupted INIs 
      and fvs.dat files. Fix #2.
    * Scripting: It is not necessary anymore (but allowed) to surround 
      comparison operators with blanks.
      However, to avoid ambiguities in parsing, you have to put XY 
      internal variables (<curpath>, <xyver>...) within doubled quotes 
      strings _IF_ they are to be interpolated!
        ::msg <xypath>;         = okay, variable is isolated
        ::msg "<xypath>";       = okay, variable is isolated & quoted
        ::msg "XY = ".<xypath>; = okay, variable is isolated
        ::msg XY = <xypath>;    = NOT okay, variable is interpolated
                                  but not quoted
        ::msg "XY = <xypath>";  = okay, variable is interpolated & 
                                  quoted
      These work all the same:
        ::assert <xyver>>="7.60.0009"
        ::assert "<xyver>">="7.60.0009"
        ::assert <xyver> >= "7.60.0009"
        ::assert "<xyver>" >= "7.60.0009"
        ::assert ("<xyver>" >= "7.60.0009")
    ! SC "text" would get confused with UNIX files (linefeed = LF) when 
      a line breaker was active. Fixed.
      Also added support for Max files (linefeed = CR).
    ! Scripting: A Ternary Conditional and a Comparison could under 
      certain conditions be processed when inside quotes. Fixed.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0009, 15-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0009 - 2008-09-15 12:51
    ! Scripting: The ternary conditional was repeatedly processed with 
      unpredictable results. Fixed.
    ! SC "download" failed when target path/file name was passed (since 
      yesterday). Fixed.
    + Scripting: Now comparisons of two values are evaluated in-place.
      The "comparison" has the form
          "a" operator "b"
      where "a" and "b" are whole strings (yet without any 
      concatenators, but this will change soon...), and "operator" can 
      be one of the following:
          ==  Equal
          !=  Not Equal
          <   Less than
          >   Greater than
          <=  Less than or Equal to
          >=  Greater than or Equal to
      NOTE: To prevent ambiguities with XY internal variables 
      (<curpath>, <xyver>...) the comparison operators must be 
      surrounded by blanks!
      If the comparison evaluates as True it is set to "1", else it is 
      set to "0".
      Examples:
        ::msg "a" == "a";
          = shows '1'
        ::msg ("a" == "a") . ("a" == "b");
          = shows '10'
        ::$r = ("a" == "a"); $r = ($r == 1?"True":"False"); msg $r;
          = shows 'True' (note that the parentheses are optional)
        ::$comparison = "a == a"; assert $comparison == "a == a";
          = no assertion error
        ::$minver="7.60.0009"; assert <xyver> >= $minver,
          "This script needs at least XY $minver!"
    * Scripting, ternary conditionals:
      NOTE: To prevent ambiguities with XY internal variables 
      (<curpath>, <xyver>...) the comparison operators must be 
      surrounded by blanks!
    * Scripting Tip: It's strongly recommended that you (double- or 
      single-) quote your strings because more and more characters acquire 
      a special meaning in scripting. The following are (or soon will be) 
      such special characters:
        ;,.?:(){}[]<>!=+-*/\"'&|$%
    * Scripting | Step dialog: Now the options menu also appears on 
      right-clicking any of the two lists.
    ! Icon Overlays were not always correctly auto-refreshed in Tree and 
      List. Fixed.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0008, 14-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0008 - 2008-09-14 21:28
    + Scripting got a new command:
      - Assert
        Action: Interrupt processing on certain conditions.
        Syntax: assert condition, [message], [continue=0]
          condition:  [required] any expression that evaluates
                      to True or False
          message:    [optional] message that's displayed if
                      condition evaluates to False
          continue:   [optional] set to 1 to allow continuing the
            script after displaying the message; else the "Continue" 
            button is disabled; default is 0
        Usage: This is mainly a debugging feature to interrupt 
          processing on certain conditions. If the condition evaluates 
          to True the program flow is not interrupted, otherwise you are 
          notified and can investigate what went wrong and decide 
          whether to continue and cancel (if continue=1). So, "assert" 
          can be very useful to keep your scripts under some control.
          Apart from debugging you may use it to check (continue=1) or 
          enforce (continue=0) critical preconditions for your scripts 
          to run successfully.
        Examples:
          ::$a="A"; assert $a=="A", '$a has wrong value!'
            = no message (condition is True)
          ::$a="A"; assert $a=="B", '$a has wrong value!', 1
            = message (condition is False)
          ::$a="A"; assert $a=="B", '$a has wrong value!', 0
            = message (condition is False) and no option to continue
          ::getinfo $count, "CountSelected";
            assert $count!=0,
            "You must select a file before running this script!"
            = if no files are selected: message
    * Scripting | Step dialog: Improved coloring in the bottom list to 
      better distinguish spaces from nothing. Also made it wider.
    ! SC "download" needed extra refresh to actually display the 
      downloaded file if the target folder was the current one. Done.
    ! Scripting, ternary conditional: The following examples were not 
      parsed correctly for various reasons:
        ::msg "Good "."12" <=<date hh>? "afternoon": "morning"."!";
        ::?regexreplace $name, "some name [ETA: 12-2008]",
          "^(.+?) \[ETA: .+$", "$1";
      Fixed.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0007, 13-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0007 - 2008-09-13 14:41
    + Scripting: Added a bit of conditional logic in a form of "ternary 
      conditionals" as used in various programming languages (e.g. PHP).
      The logic (this structure is not yet part of XY!) is this:
        if (condition) {
          variable = value-if-true;
        } else {
          variable = value-if-false;
        }
      As ternary conditional the same can be written like follows and is 
      now available in XY scripting:
        variable = (condition) ? value-if-true : value-if-false;
      The parentheses and the blanks are optional, so these are 
      identical: 
        variable = (condition) ? value-if-true : value-if-false;
        variable = (condition)? value-if-true: value-if-false;
        variable = condition?value-if-true:value-if-false;
      The part "condition" has the form
          "a" operator "b"
      where "a" and "b" are whole strings (without any concatenators), 
      and "operator" can be one of the following:
          ==  Equal
          !=  Not Equal
          <   Less than
          >   Greater than
          <=  Less than or Equal to
          >=  Greater than or Equal to
       (none) True if expression is not 0 and not ""
      The parts "value-if-true" and "value-if-false" must be whole 
      strings (without any concatenators).

      Examples:
      ::$a = <date hh> >= "12"? "afternoon": "morning";
        msg "Good $a!";
      ::$a = (<date mm-dd> == "12-24")? "": "not ";
        msg "It's $a"."X-mas!";
      ::$a=1;$b=2;$c=3;$d=4;$e=$a==$b?$c:$d; msg $e;

      Now the best part: You can employ ternary conditionals in any 
      argument or part of argument!
      Examples:
      ::msg "Good ".<date hh> >= "12"? "afternoon": "morning"."!";
      ::msg "Good ".(<date hh> >= "12")? "afternoon": "morning"."!";
      ::msg "It's ".<date mm-dd> == "12-24"? "": "not"." X-mas!";
      ::getinfo $a, "CountSelected"; $r=$a?"$a":"no";
        msg "There " . $a!=1?"are":"is" . " $r selection" .
        $a!=1?"s":"" . ".";
    ! FVS: As a side-effect of a recent fix in v7.60.0005 the list 
      styles would get lost when switching between special folders 
      (MyComputer, Nethood) and normal folders on a fresh installation. 
      Fixed.
    ! SC download: Extension .htm was appended to all downloaded files 
      that were not *.htm. Stupid bug. Fixed: Now .htm is appended only 
      to files that are HTML but lack the extension.
      ::download "http://www.xyplorer.com/xyfc/viewforum.php?f=2"
        = creates local copy "viewforum.php_f=2.htm" (where _ is your 
          replacement char for illegal characters).
    + Configuration | Color Filters: To reset textcolor or backcolor to 
      the default value, simply hold CTRL when you click the Text Color 
      resp. Back Color button.
    ! Monospace Fonts: Possible issues (wrong size) due to 
      misinterpreted number formating when user switches locale. Fixed.
      Your monospace font size settings will be reset to factory 
      defaults due to the fix.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0005, 12-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0005 - 2008-09-12 15:14
  +++ Color Filters 2.0: Now you can define the *backcolor* of items! 
      The usage is just as simple as it has been before:
        Before: patternlist>textcolor
        Now:    patternlist>textcolor,backcolor
      And just like before, you can configure your color filters either 
      in Configuration | Color Filters, where you can define the colors 
      using the standard Windows color selector. Or you can use List 
      Management | Color Filters, where you can enter the colors 
      directly in RRGGBB format.
      
      Remarks
      ~~~~~~~
      - The usage of backcolor is optional, of course. So if you are not 
        interested in this new feature you don't have to do anything and 
        everything stays as it has been before.
      - Leave any of the fields empty to use default colors:
        /s>FF0000,FFFF80  -> red on light yellow
        /s>FF0000         -> red on default back color
        /s>,FFFF80        -> default text color on light yellow
      - The backcolor will not cover the whole row but just the name of 
        the item. Therefore you should choose text colors that work on the 
        filter's backcolor as well as on the list's backcolor.
      - If an item is selected the backcolor will be stretched 7 pixels 
        to the right in order to have it still visible behind the focus 
        rect.
    + Scripting got a new command:
      - GetInfo
        Action: Get various info into variable.
        Syntax: getinfo output, info, [param1]
          output: [required] variable
          info:   [required] sort of info (case-sensitive)
          param1: [optional] depends on info
        Possible values for info and param1:
        - "CountSelected", [(unused)]
          Count of selected items in List.
        - "SelectedItemsPathNames", [delimiter=CRLF]
          All selected items (full path/name) in List, delimited by 
          param1.
        Examples:
          ::getinfo $a, "CountSelected"; msg $a
          ::getinfo $a, "SelectedItemsPathNames", "|"; msg $a
    * Scripting command "InternetFlags": Now turning the flag ON is the 
      default if you don't pass a value. The interflags setting lives on 
      the stack. Also the error handling has been improved.
      Revised command profile:
      - InternetFlags
        Action: tune internet commands (Download, ReadURL)
        Syntax: internetflags name, [value]
          name: INTERNET_FLAG_NO_COOKIES
                (yes, only this is currently supported)
          value: [optional] 1 = On [default]
                            0 = Off
        Examples:
        Turn it on:
          ::internetflags "INTERNET_FLAG_NO_COOKIES"
          ::internetflags "INTERNET_FLAG_NO_COOKIES", 1
        Turn it off:
          ::internetflags "INTERNET_FLAG_NO_COOKIES", 0
    + Scripting | Step dialog: Now the first two lines display
        (1) the current script resource
        (2) the current script caption
    ! A FVS related bug from 7.50 could still survive in corrupted INIs 
      and fvs.dat files. Added code to handle and repair this.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0003, 11-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0003 - 2008-09-11 13:24
    ! Scripting: Crash (error 9) on empty scripts (no commands). Fixed.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0002, 11-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0002 - 2008-09-11 12:27
    + Scripting: Improved error messaging. Now the Step dialog is 
      exploited for the task of telling you what went wrong where.
      The dialog also has been slightly widened.
    + Scripting got a new command:
      - InternetFlags
        Action: tune internet commands (Download, ReadURL)
        Syntax: internetflags name, value
          name: INTERNET_FLAG_NO_COOKIES
                (yes, only this is currently supported)
          value: 1 = On, 0 = Off
        Examples:
        - The default is to use cookies:
          ::input $a, "Enter URL", <clipboard>;
            download $a;
        - Do it like this to not use cookies:
          ::internetflags "INTERNET_FLAG_NO_COOKIES", 1;
            input $a, "Enter URL", <clipboard>;
            download $a;
    + INI-Tweak to insert prompt on XClosing the app.
        [Settings]
        PromptOnXClose=1
      Set to 1 to get nagged by an "Exit XYplorer now?" prompt.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0001, 10-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0001 - 2008-09-10 11:55
    + Scripting | Step Dialog: Added information about the potential 
      risk associated with the command to be executed. There are the 
      following risk classes:
      (3) Potentially harmful because the function ID might refer to 
          some risky process which is unknown at this point (either an 
          internal command or a UDC):
            #[function ID]
      (2) Potentially harmful because files or folders are affected:
            backupto, copyto, delete, download, moveto, new, open, 
            openwith, rename, run, setkey, swapnames, timestamp
      (1) Potentially harmful because step mode is terminated:
            unstep
      (0) Harmless:
            (all others)
      Class 3, 2, and 1 are marked with a yellow "warning" icon, class 0 
      with a green "ok" icon.
    * Menu Window | Show Navigation Panel / Show Tree / Show Catalog: 
      Change the interrelated logic between the three. Since v7.30.0027 
      (2008-07-26 21:46) you could get an empty grey area when both Tree 
      and Catalog were hidden but Navigation Panel was shown. This was 
      irritating users and understandably so.
      Now, when you hide both Tree and Catalog then the Navigation Panel 
      is hidden automatically as well, and it is auto-shown (if 
      necessary) when you show Tree or Catalog.
      Special case: When all three are hidden and you then select Show 
      Navigation Panel, then by default the Tree is shown being the more 
      traditional control and, more imortant, the one the guaranteed 
      contents.
    * Menu View | Date Column Format | Show Weekday: If "Show Weekday" 
      is enabled and the file date is within the last hour, you now get 
      "Now" instead of "Today".
      You can tweak the actual word for "Now", for example you can set 
      it to "Ahora" by editing the INI-file like this:
        [General]
        ; Tweak: 'Now' in file dates
        TermThisHour=Ahora
      Or set it to "Today" if you don't care about this new feature.
    ! Menu File | To Clipboard | Image: Did not work correctly with ARGB 
      images. Fixed.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0000, 09-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0000 - 2008-09-09 20:45
    ! Recompiled due to a little bug fix.

admin
Site Admin
Posts: 60564
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Here's the new BETA

Post by admin »

Download the latest XYplorer BETA version (v7.60.0000, 09-sep-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.60.0000 - 2008-09-09 15:00
    = NEW OFFICIAL RELEASE. Main changes since last release:
  +++ Scripting meets File Search: The brand-new LoadSearch command is the 
      nexus of two of XYplorer's strongest features: Scripting and File 
      Search. In combination with the Catalog, UDCs, and XYS files, you can 
      now easily build handy libraries of complex live searches. 
  +++ Scripting meets the Web: The brand-new Download command enables you 
      to download any internet content straight into your file manager with a 
      single click or keyboard shortcut!
  +++ Scripting Syntax: String and variable handling has been massively 
      improved.
  +++ The release package now includes a sample Catalog which will be used 
      on application startup if no catalog.dat file already exists.
  +++ Copy Image: A new command allows you to copy the image of an image 
      file directly to the clipboard without first having to open the file 
      in an image viewer application.

Locked