Monday, June 23, 2008

v7.20.0018 - 2008-06-23 13:12

  • + Scripting Command "Load": Now, when loading a multi-script resource using the "load" command, you can easily control which scripts are displayed in the popup menu, and in which order. This is achieved via script labels and the [script to run] argument, which now should be better renamed to "labels".

    Syntax:
      load resource, [labels], [resource type]

      Where [labels] can either be
      (1) A script label: must be a valid label of one of
          the scripts contained in the script file.
      (2) NEW: A list of script labels, separated by semi-
          colons (;). To add a menu separator you may put
          "-" instead of a label. Note that, of course,
          the label list must be quotes in order to parse
          the ";" as expected.
      (3) A number prefixed by #: must be the index of which
          script to execute. Note than only scripts get an
          index, while menu separators do not. The first
          index is 1.

    Examples:
      Say, this is the script file test.xys:
      - - - - - - - - - - - - - - - -
      "Go to C:\ : croot"
        goto C:\
      "Go to System Folder : system"
        goto %winsysdir%
      "Go to XYplorer Folder : xy"
        goto <xypath>
      - - - - - - - - - - - - - - - -

    - Make no use of the labels argument:
        ;::load test.xys
      Pops up menu with all scripts contained in the file in
      original order:
        Go to C:\
        Go to System Folder
        Go to XYplorer Folder

    - Use the the labels argument to pick only 2 of the scripts:
        ::load test.xys, "croot;xy"
      Pops up menu:
        Go to C:\
        Go to XYplorer Folder

    - Use the the labels argument to change the order and
      add a menu separator:
        ::load test.xys, "xy;-;system;croot"
      Pops up menu:
        Go to XYplorer Folder
        ---------------------
        Go to System Folder
        Go to C:\

    - Use the the labels argument to run a specific script
      directly without popping a menu:
        ::load test.xys, croot
      Directly triggers script with label "croot" (= goto C:\).
  • + Menu Edit: Added a command "Compare Current File With File On Clipboard" under the new submenu "Compare". Allows you to check whether the currently selected file is same or different from the file currently on clipboard. First the file sizes are compared. If they are identical, the contents themselves are compared. The result is simply a "same" or "different" without any further information. If you need more details use a specialized comparison application (which can easily be automated from XY using UDCs or Scripting). Note that the comparison is limited to files of maximally &H7FFFFFFF (2147483647) bytes.
  • + Variable <curver>: Little addition to the syntax. When you specify a text but no place holder (*), then the text is by default prefixed to the version info proper.
    - <curname><curver, v>
      XYplorer.exe, v7.20.0009
      So it is identical to:
      <curname><curver, v*>
  • + New variable (actually it is a Constant): <crlf> which will be resolved to the Carriage Return Line Feed byte sequence (0D 0A).
  • ! Tree: Fixed some painting glitches concerning boxed branches.