Here's the new BETA (32-bit)

Get a glimpse of the next XYplorer...
Locked
admin
Site Admin
Posts: 64915
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.70.0010, 27-oct-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.70.0010 - 2008-10-27 14:38
  +++ Scripting: Now there are global variables.
      By default, all variables in XY scripting are local, i.e. they are 
      not shared between called and calling scripts. In other words, 
      whenever one script calls another script (e.g. using commands 
      "sub" or "load"), a new local namespace is created by the called 
      script and pushed on the stack.
      Generally, global variables are shared between scripts. However, 
      the mechanism of "globalization" -- (almost) identical to the one 
      used in PHP -- now added to scripting gives you maximum control 
      over what is shared and where. It's implemented by means of a new 
      command:
      Name: Global
      Action: Define one or more variables as global
      Syntax: global variable(s)
        variable: A single variable, or a comma-separated list of up to 
          10 variables. If a variable has already been defined as global 
          before, then the global command initializes it to its current 
          global value, else it is initialized to an empty string.
      Example:
        Here are 2 scripts where the first is calling the second:
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        "script1"
          $foo = 4; // set local value: new local var $foo is created
          msg $foo; // 4 (local)
          // now make $foo global
          // it's initialized to [empty] (assuming nothing created
          // a global $foo before with a different value, which is 
          // possible when "script1" has been called by yet another
          // script that has declared $foo as global)
          global $foo;
          msg $foo; // [empty] (global)
          $foo = 8; // set global value
          msg $foo; // 8 (global)
          
          sub script2; // go down
          
          msg $foo; // 16 (global, as set in script2)
          msg $bar; // $bar (uninitialized, not a variable)
          // make $bar global
          // it's set to "tequila" (as previously set in script2)
          global $bar;
          msg $bar; // tequila
        
        "script2"
          msg $foo;   // $foo (uninitialized, not a variable)
          $foo = 15;  // set local value: new local var $foo is created
          msg $foo;   // 15 (local)
          // now make $foo global
          // it's set to 8 (as previously set in script1)
          // also create a new global $bar
          global $foo, $bar;
          msg $foo;   // 8 (global)
          $foo = 16;  // set global value
          $bar = "tequila";  // set global value
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      
      Notes
      - You can have as many global vars as you like, but it be no more 
        than 10 per "global" statement for internal reasons. IOW, add a 
        new "global" line for each pack of 10 variables if you really 
        need that many.
      - It's recommended that you reflect the global nature of a variable 
        in the variable name, for example by prepending $g_ to global 
        vars. It will make your code easier to read and maintain.
      
    * Scripting | Step Mode: Improved handling of binary data. There were
      some display glitches with binary file data, and unnecessary 
      slowness. Now you can make a pretty fast copy of the current file, 
      even if the file is not small and with step mode enabled, using 
      e.g. this:
        ::writefile("<curbase>-copy.<curext>", 
          readfile("<curname>", "b"), ,"b");
    * Scripting | Step Mode: Variables on stack are now displayed with 
      up to 256 chars (rest cropped). Non-printable chars are displayed 
      as ".".

admin
Site Admin
Posts: 64915
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.70.0012, 28-oct-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.70.0012 - 2008-10-28 15:00
  +++ Added History per Tab (HPT). To enable it check "History per tab" 
      in Configuration | General. In a nutshell, HPT means that Back and 
      Forward move within each tab's individual history, as opposed to 
      the global history over all tabs.
      If HPT is enabled then:
      - Back and Forward (TB buttons and KS) are confined to each tab's 
        individual history.
      - Back and Forward will cycle through the current tab's history 
        (contrary to global history, where the move halts at both ends). 
        Seemed more natural to me. So, if there's more than one history 
        item pertaining to the current tab, then both buttons (Back and 
        Forward) are enabled, else none is enabled.
      - The Back and Forward buttons's "arrow dropdowns" will each show 
        one whole cycle in the repective back or forward order.
      - In the all-history popup menu (triggered via right-click 
        "Back"/"Forward" TB buttons, or via KS) those history items 
        belonging to the current tab are shown bold.
      - If "History without duplicates" (Config | General) is enabled 
        then duplicates on different tabs are tolerated.
      - The per-tab-data are saved between sessions. They are even 
        maintained and saved if you untick HPT. So you can enable it at 
        any time and get the desired functionality right away.
    * History now can hold up to 64 items. Before it was 32.

admin
Site Admin
Posts: 64915
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.70.0016, 29-oct-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.70.0016 - 2008-10-29 15:56
    * History per Tab: Changes...
      - Now, history (per tab or global) popup menus will never contain 
        more than 32 items at once.
      - When HPT is active, Back and Forward do NOT cycle anymore 
        through the current tab's history, but show the old school 
        behavior of halting when there is no more.
      - History now can hold up to 256 items. Before it was 64.
      - Toolbar back/forward buttons are now blue if HPT is on.
    * Hotlist: Since the history got much larger, the Hotlist now is 
      confined to the 32 latest/youngest history entries of global 
      history.
    * Moved an item to a better place:  
      OLD: Menu View | Current Tab | Tab List...
      NEW: Menu Go | Tablist...
    + Menu View | Current Tab: moved these commands
        Move Tab Left (Ctrl+Shift+Left)
        Move Tab Right (Ctrl+Shift+Right)
      to the "Miscellaneous" category of CKS, into the new section "Tab 
      Functions".
      Reason: You would most likely access the functionality either by 
      KS, or by dragging the tabs with the mouse. The space in this menu 
      can be used better.
      For internal reasons I decided to give them a new Function ID, 
      which is normally a forbidden thing to do. In this case, however, 
      it could be justified because a bug was fixed by it: Their old 
      default KS (Ctrl+Shift+Left)/(Ctrl+Shift+Right) had been non-
      customizable KS, so you could not remove them, nor could you 
      actually use the keys for what they were meant originally (and 
      whence they are non-customizable): group-select in 2-dimensional 
      list views (Thumbs, List, Small Icons...).
      The commands' original IDs are now used by the functions that 
      replaced them in their original menu position. See next...
    + Menu View | Current Tab: Added commands
        Tab History...
        Tab Hotlist...
      Will do what you think they do. Even when HPT is off.
    * Icon Overlays: The recent solution for refreshing icon overlays in 
      non-current tree items lead to severe performance problems in some 
      systems. A new way will be found, later.

admin
Site Admin
Posts: 64915
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.70.0017, 30-oct-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.70.0017 - 2008-10-30 13:09
    * Menu Go | History: The submenu has been completely removed and 
      replaced by a popup list. Reason: With a history of up to 256 
      entries a submenu is not the interface of choice anymore.
    * List Management | History:
      - The "Editor Mode" had to be disabled because it cannot handle 
        the additional data structures that are needed for HPT.
      - With HPT on, items pertaining to the current tab are displayed 
        in bold.
      - Changed order of display to latest-item-on-top, with reverse line 
        numbering. The line numbers match the numbers you see in history 
        popup menus.

admin
Site Admin
Posts: 64915
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.70.0018, 01-nov-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.70.0018 - 2008-11-01 17:15
    + SC report(): Now, the field {Dir ...} may contain other fields 
      (but not contain itself).
      For example, in
        ::text report("{Name} - {Dir -|{Size B} ({Size FLEX})|}<crlf>");
      the {Dir ...} field will return:
        - for directories:  -
        - for files:        {Size B} ({Size FLEX}) [resolved, of course]
        - for drives:       [nothing]
    ! SC report(): Field {Fullname} was buggy with search results. Fixed.
    ! SC report(): Field {Path} returned paths slashed. Fixed: For 
      easier handling all paths in scripts are returned unslashed.
    + Various list controls: Now there's a little right-click menu which 
      allows you to copy the currently selected list item or all items 
      (one per line, each line ends with CRLF (0x0d0a)).
    + CKS | Miscellaneous | Tab Functions: Added command "Open Previous 
      Tab". Opens the previously used tab.
    ! FVS: Fixed a glitch where the auto-default was used when it should 
      not.
    ! Type-ahead find: Didn't take into account the time used to jump to 
      a temporary new list position, which could lead XY to interpret the 
      following keystroke as the beginning of a new word. Fixed.

admin
Site Admin
Posts: 64915
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.70.0020, 03-nov-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.70.0020 - 2008-11-03 13:00
  +++ Boolean Search now supports Regular Expressions. Simply prefix 
      your patterns with ">" to mark them as RegExp patterns.
      Examples:
      - Find all files containing "test" but not "not" before "test" 
        anywhere in the name:
          :>.*test.* AND NOT >.*not.*test.*
      - Same as above, but combinig a non-RegExp with a RegExp:
          *test* AND NOT >.*not.*test.*
      - Find all *.doc files that have a date of format yyyy-[m]m-[d]d 
        in the name:
          :>\\d{4}-\\d{1,2}-\\d{1,2} AND *.doc
        Note that the backslashes have to be escaped in the RegExp 
        pattern \d{4}-\d{1,2}-\d{1,2}, as is generally the case for 
        backslashes in *unquoted* XY Boolean search patterns. The 
        alternative since today (see below!) is to quote the pattern 
        (quoting *.doc is optional here):
          :>"\d{4}-\d{1,2}-\d{1,2}" AND "*.doc"
      Notes:
      - If the left-most pattern is RegExp you have to prefix ":" to 
        the whole string else the auto-detection for single (non-
        Boolean) RegExp pattern sets in.
      - The RegExp-marker ">" must *precede* a quoted pattern!
          >"\d{4}-\d{1,2}-\d{1,2}" = OKAY
          ">\d{4}-\d{1,2}-\d{1,2}" = WRONG!
      - You can freely combine RegExp and non-RegExp patterns
    * Search patterns: Now you can quote patterns (using double-quotes) to 
      protect them from being parsed. This saves you escaping certain 
      sequences with \ and makes the patterns more readable.
      For example, to search files that contain "(not a)" or " & M" 
      anywhere in the name, you'd have to do this before:
        *\(not a\)* OR * \& M*
      Now you can do this:
        "*(not a)*" OR "* & M*"
      Note that you have to provide all wildcards in quoted patterns, 
      since quoted patterns are not automatically supplied with 
      surrounding asterisks and thus allow so-called "exact matches".
        "*test*"  finds all items containing "test"
        test      (same as above)
        "test"    finds only items called exactly "test"!
    ! Search: Did not work correctly with Unicode chars AND parentheses 
      simultaneously in the search pattern. Fixed.
    + SCs copyto and moveto enhanced: Now you can trigger Rich Copy/Move 
      Operations directly from a script! This allows you to copy/move 
      files together with parts of their folder structure in a fully 
      controlled yet automatic way.
      Syntax: copyto location, [source], [rootpath]
              moveto location, [source], [rootpath]
        rootpath: Common root for the rich operation (source paths are 
                  recreated in the target location relative to rootpath). 
                  Slashed or unslashed makes no difference.
      Notes:
      - If a source file is not located under rootpath then its full 
        path is recreated in the target location; colons (:) after drive 
        letters and "\\" before UNC paths are removed to conform to 
        filename syntax.
      Examples:
      - Creates "E:\Test\Download\New\Test.txt":
        ::copyto "E:\Test", "D:\Download\New\Test.txt", "D:\";
      - Creates "E:\Test\New\Test.txt":
        ::copyto "E:\Test", "D:\Download\New\Test.txt", "D:\Download";
      - Creates "E:\Test\D\Download\New\Test.txt" because the source 
        file is not under the given rootpath "E:\":
        ::copyto "E:\Test", "D:\Download\New\Test.txt", "E:\";
      - Creates a copy of all selected files under "E:\Test" recreating 
        their full source paths. Note that a dummy string "*" is passed 
        as rootpath: it will never work as an actual rootpath, so all 
        source paths are fully recreated.
        ::copyto "E:\Test", , "*";
    * Rich Copy/Move operations: Before, Rich operations did not work 
      for folders, just for files. Any folders in the source list were 
      silently removed. This restriction has been dropped! This gives 
      you more options and a little more responsibility: You have to 
      take care that your sources do not contain each other (e.g. in 
      Search Results, when you select a folder AND files contained in 
      that folder) else you get lots of "Overwrite?" prompts during the 
      copying.           
    * Scripting: Before, you could hide scripts in script files (hide 
      them from being shown in popup menus) by beginning their caption 
      with an underscore, or, if no caption present, by beginning their 
      label with an underscore. Now, the caption became irrelevant here: 
      You hide a script by beginning its label with an underscore.
      This way, you can explicitly show a "hidden" script by calling it 
      by label and still have a meaningful caption.
    * Configuration | General: Renamed "Show relative path in find 
      results" to "Show relative path in search results".
    ! SC report(): Field {Path} returned only the relative path when 
      "Show relative path in search results" was enabled. Fixed. Now it 
      returns always the absolute path.
    * SC writefile(): On mode n (nothing) when the file existed the 
      function popped an error message and returned 0. Now it pops no 
      error and returns 2 in that case.
    * SC writefile(): New return codes. The following values or OR-ed 
      bitwise:
        0 = failed
        1 = data written
        2 = file existed
      Success codes depending on "on_exist" argument:
        "n"         AND file existed > 2
        "a"/"o"     AND file existed > 3
        "a"/"o"/"n" AND file created > 1
    + Scripting commands enhanced:
      - setting, settingp
        New named argument "regexprenamesep"
          = set the following tweak
          [General]
          RegExpRenameSep=" > "
        Example:
          ::setting "RegExpRenameSep", ">>";
        As with all setting statements, the original state from before 
        the script is automatically restored when the script is done.

admin
Site Admin
Posts: 64915
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.70.0021, 04-nov-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.70.0021 - 2008-11-04 10:34
    * SC load: Now you can pass "*" as labels to show all (hidden and 
      visible) scripts in the resource. Example:
        ::load "test.xys", "*";      
    + Now you can opt to hide extensions from the filenames in the List. 
      It's currently done as a tweak:
        [Settings]
        HideExtensions=1
      Note that it's not recommended to hide extensions! Showing the 
      filenames without extension is hiding super-important info from 
      its natural place.
    + Find Files: Now RegExp Search supports Boolean logic. v7.70.0020 
      allowed you to do this:
        :>.*test.* AND NOT >.*not.*test.*
      Now you can do the same search also like this (when mode "RegExp" 
      is enabled in Find Files tab):
        ".*test.*" AND NOT ".*not.*test.*"
      Or like this (overwriting the mode setting in Find Files):
        >".*test.*" AND NOT ".*not.*test.*"
      The quotes make the difference here: If there's a double-quote 
      anywhere in the expression it is interpreted as a Boolean RegExp.
      Note that, contrary to the first syntax, all patterns MUST be 
      RegExp (resp. are interpreted as RegExp) with the second syntax --
      you cannot mix RegExp with wildcard patterns.
      You do not have to quote all combined patterns, but it is 
      recommended.
    ! History per Tab: Fixed some glitches with locked tabs.
    ! Scripting: Menu separators in script resources were hidden if they 
      followed a hidden script. Fixed.

admin
Site Admin
Posts: 64915
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.70.0022, 04-nov-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.70.0022 - 2008-11-04 13:12
    * Catalog: Now, if you press F2 on an item that has no proper 
      caption but shows its location or script data *as* caption, then 
      the Properties dialog is opened rather than the inline rename box. 
      This prevents you from unintentionally creating and modifying a 
      caption when you think you are editing the actual data.
    * SC Report(): Now, you can overwrite the default field separator 
      through the template argument. Rule: If the template argument does 
      not contain any opening curly brackets ( { ) (they are used to 
      deliminate fields), then it is taken as new field separator. For 
      example:
      - Use the default field separator TAB:
        ::text report();
      - Use ", " as field separator:
        ::text report(", ");
      - Use "{Name}. " as template:
        ::text report("{Name}. ");

admin
Site Admin
Posts: 64915
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.70.0023, 05-nov-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.70.0023 - 2008-11-05 15:58
    * Updated the help file.
    ! Fixed minor scripting glitches.

admin
Site Admin
Posts: 64915
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.80.0000, 06-nov-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.80.0000 - 2008-11-06 12:00
    = NEW OFFICIAL RELEASE. Main changes since last release:
  +++ File Search: Now combines Boolean Logic with Regular Expressions.
  +++ History per Tab: Optionally each tab maintains its own history.
  +++ Scripting: Now there are global variables.
  +++ File Search by Contents: Now supports pattern matching.
  +++ Reporting: Now you have fully customizable one-click reports.

admin
Site Admin
Posts: 64915
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.80.0001, 07-nov-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.80.0001 - 2008-11-07 10:35
    + Menu View | List Style: Added option "Hide extensions". Allows you 
      to hide extensions in the file list on a per-tab basis (or hold 
      SHIFT to set it for all tabs). You may assign a KS to it, and you 
      can make certain folders hide their extensions via FVS.
    - Tweak removed:
        [Settings]
        HideExtensions=1
    % Menu Go | History...: Opens faster.
    * SC readfile: Now the filename argument defaults to the current file.
        ::readfile(); //opens current file
    ! SC readfile: Error if file was empty. Fixed.

admin
Site Admin
Posts: 64915
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.80.0004, 09-nov-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.80.0004 - 2008-11-09 21:47
    * File Find | Follow Folder Links: Now there's a simple recursion 
      blocker. If a folder link points to a location that again has a 
      folder link, that 2nd folder link is not followed anymore.
    * Statusbar: Tooltips were not Unicode compliant yet. Fixed.
    ! Address Bar: Popping the dropdown's right click menu undropped the 
      dropdown but kept the menu visible (v7.80.0000), or did not show 
      the context menu at all (v7.80.0001). Fixed.
    ! FVS: Fixed another glitch where the auto-default was used when it 
      should not (when going from Search Results back to browse mode).
    ! Info Panel | Preview: The little orange icon to open the options 
      menu had lost it's mouseover effect recently. Fixed. It also shows 
      the name of the previewed file now in a tooltip.
    ! Info Panel: Did not show the version info of (*.exe, *.dll, etc. 
      ...) files that had upper Unicode chars anywhere in the path. Also 
      did not Raw View those files at all. Fixed.

admin
Site Admin
Posts: 64915
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.80.0005, 13-nov-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.80.0005 - 2008-11-13 09:09
    * Configuration | General | Disallow dragging from tree and list: 
      From now on, this setting only affects dragging with the *left* 
      mouse button. The right button is always available for dragging.

admin
Site Admin
Posts: 64915
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.80.0006, 14-nov-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.80.0006 - 2008-11-14 11:04
    % History, Address Bar Dropdown, and various List Management dialogs 
      now open much faster due to smarter icon handling.

admin
Site Admin
Posts: 64915
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.80.0007, 16-nov-2008).
Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).

Code: Select all

v7.80.0007 - 2008-11-16 15:13
    + POM: Now the captions may contain XY variables. They are resolved 
      in the moment the POM is generated. For example:
        |"Search IMDB for '<curbase>'" *>::Open("http://www.imdb.com/ _
            find?s=tt&q=<curbase>");
      Will show the caption "Search IMDB for 'Mad Max'" when the current 
      file is "Mad Max.jpg".
      (Note that the line continuation using [space]_ as applied in the 
      example above does not work in XY -- it's just done here for the 
      change log!)
    * SC delete: Now, any non-existing items passed in the [itemlist] 
      argument will be simply ignored. No more error message.
    ! Menu Go | History...: Error message when OK-ing the list without 
      selecting an item. Fixed. Also, now the current history item is 
      always preselected when opening the list.
    ! Wrong icons in various List Management dialogs since v7.80.0006. 
      Fixed.

Locked