Here's the new BETA (32-bit)

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

Re: Here's the new BETA

Post by admin »

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

Code: Select all

v7.60.0037 - 2008-09-30 15:30
    ! DropDown: Error on closing app if no items in Name / Location MRU 
      list. Fixed.

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

Re: Here's the new BETA

Post by admin »

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

Code: Select all

v7.60.0036 - 2008-09-30 12:15
    + DropDown: Now implemented on Find Files Name & Location tab.
    + DropDown: Icon in Edit box now honours ScriptSmartDetect. Actually 
      the ScriptSmartDetect tweak is now honoured everywhere where quick 
      scripting works.
      So you can e.g. add a Catalog entry with "location":
        echo "smart script";
      If ScriptSmartDetect=1 then you will see the correct script icon 
      and the script will run on a single click.
    + DropDown: Some special service keys now also work with the Edit 
      box of the new DropDown:
        Ctrl+A:     Select All.
        F2:         If all is selected: unselect all, move caret to end 
                    of text. Else: select all.
    ! DropDown: List did not wheel. Fixed.
    ! DropDown: Fixed a couple of other glitches.
    ! Homezoned tabs were overwritten by permanent startup path. Fixed.
    ! Scripting: Did not work as expected:
        msg <date dd-mm-yyyy>;  //30-09-2008
      Fixed.
    ! Scripting: Did not work as expected:
        msg (1 == 1) ? ('$a is a variable') : 'uh?'; //$a is a variable
      Fixed.
    * Menu Go: Made some captions a bit more consistent and hopefully 
      newbie-friendlier by means of redundancy:
      OLD:
        "Go to Application Path" 
        "Go to Application Data"
        "Go to Script Files" 
      NEW:
        "Go to Application Folder" 
        "Go to Application Data Folder"
        "Go to Scripts Folder" 

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

Re: Here's the new BETA

Post by admin »

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

Code: Select all

v7.60.0034 - 2008-09-28 08:39
    ! Some lists crashed on opening the Rename box. Fixed.
    ! DropDown: List does not wheel. Not fixed yet...

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

Re: Here's the new BETA

Post by admin »

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

Code: Select all

v7.60.0032 - 2008-09-27 20:26
  +++ New DropDown Control.
      - supports Unicode
      - supports Auto-Complete path/file names
      - supports Auto-Complete recently used items
      - supports TABbing through the items
      - F4, Up, Down: all open the list; F4 closes again;
        next Up or Down select list items; selection wraps around ends
      - shows icons for edit box and list items (where applicable)
      - list supports mouse wheel
      - edit box ignores mouse wheel (that's good!)
      - is not a so-called UserControl (that's very good!) and not made 
        of MS parts but fully hand-made, and hence incredibly powerful 
        and enhanceable, extremely fast and low in memory consumption
      Test the new control e.g. in the Go To dialog (Ctrl+G). Later it 
      will be added to various places of the app. and will eventually
      replace the current Address Bar.
    + Configuration: Added option "Auto-optimize tree". Check to 
      automatically collapse non-current nodes in Tree. Rule: Auto-
      optimize sets in when you expand the current tree node.
    ! SC setkey: Now supports creating UNICODE files. Your existing INI 
      files will work as before but newly created ones will be in UTF-16 
      and thus support double byte characters sets.
    ! SC compare(): Buggy when they were a different number of digits at 
      each slot. Fixed.
        ::echo compare("1.3", "1.12", "v"); // 1 (30 > 12)
        ::echo compare("1.0.0002", "1.0.001", "v"); // -1 (2 < 10)
    + SC confirm() enhanced:
      Name:   confirm
      Syntax: confirm(text, [linebreaker])
      Example:
      ::echo confirm("Should#I#stay#or#should#I#go#?", "#");

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

Re: Here's the new BETA

Post by admin »

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

Code: Select all

v7.60.0026 - 2008-09-23 13:11
  %%% Tabs: Now the List updates much smoother on tab change. Browsing 
      to particular files (not just folders) also got much smoother. 
      There are no limits to optimization...    
    + Scripting got a new function.
      Name:   Compare
      Action: Compare two strings.
      Syntax: compare(string1, string2, [method=b])
        method: b = [default] binary, bytes: strings are compared 
                    alphabetically
                i = same as b, but case-insensitive: A=a
                n = numeric: strings are converted to numbers (fractions 
                    use dot) and then compared numerically
                v = version: compares file versions of formats like 
                    #.## or #.##.#### or #.##.##.##
        return: -1  if string1 < string2
                 0  if string1 == string2
                 1  if string1 > string2
      Examples: 
        ::echo compare("a", "b"); // -1
        ::echo compare("a", "A"); // 1
        ::echo compare("a", "A", "i"); // 0
        ::echo compare("2", "12", "b"); // 1
        ::echo compare("2", "12", "n"); // -1
        ::echo compare("10.20.0025", "7.60.0026", "b"); // -1
        ::echo compare("10.20.0025", "7.60.0026", "v"); // 1

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

Re: Here's the new BETA

Post by admin »

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

Code: Select all

v7.60.0025 - 2008-09-22 22:00
  %%% Tree and File List snappier due to new strategy in icon retrieval, 
      and a couple of other inspired moments.
    * Menu View | Current Tab | Views: Redefined the View selection 
      logic. Now each view item is a toggle between the view in question 
      and Details view.
      Hence the item "Toggle Details/Thumbnails #1" could be removed 
      (use "Thumbnails #1" instead).
    + Toolbar: Added button "List View". Toggles between List View and 
      Details View.
    + Toolbar: Redesigned buttons for "Toggle Details/Thumbnails #1" and 
      "Views".
      Note that you will have to re-add the "Toggle Details/Thumbnails 
      #1" button to your toolbar because of a necessary internal change.
    * Menu Scripting | Try Script...: Now the step mode is enabled even
      before the window is opened to give you a better visual feedback.
    ! Scripting: Spaces were trimmed before line-end comments. Not a 
      good idea. Fixed.
    ! Scripting: Variables list was buggy. Fixed.
    ! List View: Internal state was set only after the painting was 
      completed. Now it's set before. This should fix some issues where 
      the internal state was out- of-synch.

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

Re: Here's the new BETA

Post by admin »

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

Code: Select all

v7.60.0022 - 2008-09-21 21:48
    + Tweak: Getting tired of typing "::" into the Address Bar when 
      debugging script lines I added this little tweak:
        [Settings]
        ScriptSmartDetect=1
      Whenever the Address Bar content matches this:
        (not a full path) AND (has ; anywhere) AND
        (1st char != ?) AND (1st char != |)
      it is interpreted as script, not as location. This allows Quick 
      Searches like ?gif;png and Visual Filters like |gif;png, and 
      recognizes scripts even with line-end comments, like:
        echo ("0" > "")?"True":"False"; //True
      Works for me.
    + Scripting got a new function.
      Name:   Eval
      Action: Evaluate an expression.
      Syntax: eval(expression)
      Examples:
      - $a = "1 + 1";
          echo $a;        //1 + 1
          echo eval($a);  //2
      - $a = '<xypath>';
          echo $a;        //<xypath>
          echo eval($a);  //C:\Progs\XYplorer
      - // Little calculator
        input $math, "Paste your math:", "1+1";
          echo "The result is: " . eval($math);
    - Scripting: removed SC "try". Reason: superfluous.
    * Menu Scripting | Try Script...: Now step mode is always auto-
      enabled (if not enabled anyway) when you run a script from the Try 
      window. The previous state is restored when done.
    ! Scripting: Would not parse ::msg"Hi!" correctly. Fixed.
    ! Scripting: Would forget to reenable stepmode after finishing a 
      script under certain cnditions. Fixed.

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

Re: Here's the new BETA

Post by admin »

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

Code: Select all

v7.60.0019 - 2008-09-20 16:01
    * Scripting: You now can assign fractions without quoting them.
        ::$a = 1.2; echo $a * 0.5;  //0.6
        ::echo 1.2 + 2.1;           //3.3
      Note that you have to collaborate with the parser a little. If you 
      do the following, the result might not meet your expectations:
        ::$a = 0.5; echo $a.2;    //0.5.2
      The NEW rule: A dot directly followed by a digit is not 
      interpreted as a concatenator but as a decimal separator.
      A blank after the dot will make the difference here, and quotes 
      play their role, too:
        ::$a = 0.5; echo $a. 2;   //0.52
        ::$a = 0.5; echo "$a.2";  //0.5.2
        ::$a = 0.5; echo "$a. 2"; //0.5. 2
      So, for what it's worth, you now can "append" fractions to 
      integers like this:
        ::$a = 1; $b = $a.2; echo $b * 2; //2.4
    ! Scripting: Fixed a couple of glitches in math and comparison.

admin
Site Admin
Posts: 65060
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @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: 65060
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @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: 65060
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @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: 65060
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @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: 65060
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @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: 65060
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @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: 65060
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @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.

Locked