Differences between revisions 21 and 36 (spanning 15 versions)
Revision 21 as of 2011-08-05 12:04:48
Size: 1724
Editor: KaiJaeger
Comment: Tidied up
Revision 36 as of 2019-05-30 07:48:57
Size: 1511
Editor: KaiJaeger
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= User Command ADOC = = User Commands Int2Hex and Hex2Int =

|| ```Outdated: the Dyalog built-in user command got improved and can now deal with the cases outlined on this page.``` ||
Line 3: Line 6:
[[ADOC]] is a utility useful to generate documentation (semi-) automatically from class scripts as well as namespace scripts.
Line 5: Line 7:
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 7: Line 9:
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 15: Line 12:
      ]?ADOC
"??" for general help, "?CMD" for more specific info on command CMD
      ]tohex 2147942667
* Command Execution Failed: must be 32 bits signed integer
}}}
Line 18: Line 16:
 Group Name Description
 ===== ==== ===========
 ADOC ADOC.Browse Creates full documentation and displayes it in the default browser.
        ADOC.HELP Displays help regarding ADOC.
        ADOC.List Prints syntax of all public stuff to the session.
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 24: Line 18:
      ]?ADOC.Browse
Command "ADOC.Browse". Syntax: 1 arguments; accepts switches -b=
Script location: ........\....\....\ADOC
{{{
      ]Int2hex 2147942667
8007010b
      ]Hex2Int 8007010b
2147942667
}}}
Line 28: Line 25:
Gathers information from a class script, compiles
an HTML page with these pieces of information
and displays it in your default browser.
This is Phil's underlying code:
Line 32: Line 27:
      ]?ADOC.List
Command "ADOC.List".
Script location: ........\...\...\ADOC

Prints a list with all sorts of information to the session
about all public stuff given in the script specified in the right argument

]ADOC.Help
Watch your browser

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 47: Line 45:
[[attachment:ADOC_UC.zip | Download]] the script. [[attachment:Hex.dyalog | Download]] the script.
Line 49: Line 47:
== Version ==
The script is version 1.2.0 from 2011-08-04

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

User Commands Int2Hex and Hex2Int

Outdated: the Dyalog built-in user command got improved and can now deal with the cases outlined on this page.

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)