Size: 2726
Comment: Minor update
|
← Revision 36 as of 2019-05-30 07:48:57 ⇥
Size: 1511
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from UserCommand_Adoc ## page was renamed from UserCommandAdoc = User Command ADOC (Dyalog) = |
= 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 5: | Line 6: |
[[ADOC]] is a utility useful to generate documentation (semi-) automatically from class scripts as well as namespace scripts. | |
Line 7: | 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 9: | Line 9: |
This page offers a small class script `ADOC` which is designed to do exactly that. == Assumptions == When User Commands got introduced in Dyalog with version 12.1, the User Commands where expected to reside in a sub folder `Salt\Spice` inside the Dyalog installation folder. This means that the script `ADOC.dyalog` attached to this page must go into this directory. Only then the User Commd "ADOC" is recognized. That script, which represents the ADOC User Command, assumes that there is a sibling folder of your APL installation folder available named `UserCommands`. Please make sure that the [[ADOC]] script is copied into this folder `UserCommands`. This enables the User Command script to address the '''real''' ADOC script `{MyDyalogInstallationFolder}..\UserCommands\ADOC`. For example, in case your version of APL is installed in `C:\Program Files (x86)\Dyalog\Dyalog APL 12.1 Unicode` which is the default on Windows 7 64 bit, then the folder `UserCommands` is supposed to be located at `C:\Program Files (x86)\Dyalog\UserCommands`. == 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 22: | 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 25: | Line 16: |
Group Name Description ===== ==== =========== ADOC ADOC.Browse Creates full documentation and displayes it in the default browser 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 30: | Line 18: |
]?ADOC.Browse Command "ADOC.Browse". Syntax: 1 arguments; accepts switches -b= Script location: ........\SALT\Spice\ADOC |
{{{ ]Int2hex 2147942667 8007010b ]Hex2Int 8007010b 2147942667 }}} |
Line 34: | Line 25: |
Gathers all sort of information from a class script, compiles an HTML page with these pieces of information and displays it in a browser. Use the -b flag to specify a browser different from your default browser. |
This is Phil's underlying code: |
Line 39: | Line 27: |
]?ADOC.List Command "ADOC.List". Script location: ........\SALT\Spice\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 54: | Line 45: |
[[attachment:ADOC.dyalog | Download]] the script. | [[attachment:Hex.dyalog | Download]] the script. |
Line 56: | Line 47: |
== Version == The script is version 1.0.2 from 2010-12-26 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