Differences between revisions 31 and 35 (spanning 4 versions)
Revision 31 as of 2017-06-01 16:30:22
Size: 1941
Editor: KaiJaeger
Comment:
Revision 35 as of 2017-06-01 17:15:55
Size: 1385
Editor: KaiJaeger
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was copied from UserCommands/Adoc
= User Command ADOC =
= User Commands Int2Hex and Hex2Int =
Line 4: Line 4:
[[ADOC]] is a utility useful to generate documentation (semi-) automatically from class scripts as well as namespace scripts.
Line 6: Line 5:
Obviously it makes sense to make ADOC's services available as a User Command. Although Dyalog comes from two built-in user commands for converting a hex number into an integer and vice versa (`]ToHex` and `]FromHex`), `fromHex` is too limited to be really useful.
Line 8: Line 7:
This page offers a small class script `ADOC` which is designed to do exactly that.

Refer to UserCommands/WhereShouldTheyGo for advice how to organize your User Commands.

== Samples ==
Given that the two different ADOC scripts went into the right folders, this would be a sample session:
For example, is one wishes to convert an error code returned by the Windows Task Scheduler:
Line 16: Line 10:
      ]?ADOC.List
Command "ADOC.List". Syntax: 1 arguments; accepts switches -full
Script location: C:\UserCommands\ADOC_UC
      ]tohex 2147942667
* Command Execution Failed: must be 32 bits signed integer
}}}
Line 20: Line 14:
Prints a list with all sorts of information to the session
about all public stuff given in the script specified in the right argument
With the excellent function `Hex` written and contributed by PhilLast - which is the internal engine of the two user commands - this can be avoided:
Line 23: Line 16:
      ]?ADOC.Browse
Command "ADOC.Browse". Syntax: accepts switches -caption= -browser=
Script location: C:\UserCommands\ADOC_UC
{{{
      ]Int2hex 2147942667
8007010b
      ]Hex2Int 8007010b
2147942667
}}}
Line 27: Line 23:
 Gathers all sort of information from a class script and
 compiles an HTML page from it which is then displayed
 with your default browser.
This is Phil's underlying code:
Line 31: Line 25:
 Examples:
 ]ADOC.Browse ADOC ⍝ Single class
 ]ADOC.Browse ADOC,WinFile ⍝ Two classes, no blank in between!
 ]ADOC.Browse ADOC,WinFile -caption="My Doc"
 ]ADOC.Browse ADOC,WinFile -caption="My Doc" browser="c:\opera.exe

 Available switches:
 -caption="Your caption"
 -browser="full path to a browser which is not your default one"

      ]ADOC.Help

Shows extensive information about ADOC. It's basically doing `ADOC.Browse ADOC`.
{{{
      Hex←{
          ⎕IO←0 ⋄ ⎕ML←1
          t←0∊⊃⍬⍴0⍴⊂⍵
          a←⎕D,'abcdef',⎕D,6⍴⎕A
          t:a⌷⍨⊂⍉16⊥⍣¯1⊢⍵
          16⊥⍉16|a⍳⍵
    ⍝ ⍵ dec-number or hex-string
    ⍝ ← hex-string or dec-number
    ⍝ accepts hex as CAPS or small
    ⍝ returns hex as small
    ⍝ dec to hex is rank increasing
    ⍝ hex to dec is rank decreasing
      }
Line 48: Line 43:
This user command cannot be downloaded on its own. It is part of the ADOC download: only together with the workspace can the user command be executed. See http://download.aplwiki.com [[attachment:Hex.dyalog | Download]] the script.
Line 50: Line 45:
== Version ==
The User Command script is version 2.3.1 from 2017-05-01.

Author: KaiJaeger
Authors: Logic=PhilLast, user command=KaiJaeger

User Commands Int2Hex and Hex2Int

Overview

Although Dyalog comes from two built-in user commands for converting a hex number into an integer and vice versa (]ToHex and ]FromHex), fromHex is too limited to be really useful.

For example, is one wishes to convert an error code returned by the Windows Task Scheduler:

      ]tohex 2147942667                              
* Command Execution Failed: must be 32 bits signed integer

With the excellent function Hex written and contributed by PhilLast - which is the internal engine of the two user commands - this can be avoided:

      ]Int2hex 2147942667                              
8007010b
      ]Hex2Int 8007010b
2147942667

This is Phil's underlying code:

      Hex←{
          ⎕IO←0 ⋄ ⎕ML←1
          t←0∊⊃⍬⍴0⍴⊂⍵
          a←⎕D,'abcdef',⎕D,6⍴⎕A
          t:a⌷⍨⊂⍉16⊥⍣¯1⊢⍵
          16⊥⍉16|a⍳⍵
    ⍝ ⍵ dec-number or hex-string
    ⍝ ← hex-string or dec-number
    ⍝   accepts hex as CAPS or small
    ⍝   returns hex as small
    ⍝   dec to hex is rank increasing
    ⍝   hex to dec is rank decreasing
      }

Download

Download the script.

Authors: Logic=PhilLast, user command=KaiJaeger


CategoryDyalogUserCommands

UserCommands/Hex (last edited 2019-05-30 07:48:57 by KaiJaeger)