Size: 1751
Comment: New version
|
Size: 1329
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= User Command ADOC = == Overview == [[ADOC]] is a utility useful to generate documentation (semi-) automatically from class scripts as well as namespace scripts. |
= User Commands Int2Hex and Hex2Int = |
Line 5: | Line 3: |
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 5: |
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 8: |
]?ADOC.List Command "ADOC.List". Syntax: 1 arguments; accepts switches -full Script location: C:\UserCommands\ADOC_UC 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.Browse Command "ADOC.Browse". Syntax: accepts switches -caption= -browser= Script location: C:\UserCommands\ADOC_UC Gathers all sort of information from a class script and compiles an HTML page from it which is then displayed with your default browser. 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`. |
]tohex 2147942667 must be 32 bits signed integer Run[61] r←1 hex ##.THIS⍎r⊣⎕PP←34 ∧ |
Line 45: | Line 14: |
== Download == | 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 47: | Line 16: |
[[attachment:ADOC_UC.zip | Download]] the script. | {{{ ]Int2hex 2147942667 8007010b ]Hex2Int 8007010b 2147942667 }}} |
Line 49: | Line 23: |
== Version == The script is version 1.3.0 from 2011-10-14 |
This is Phil's underlying code: |
Line 52: | Line 25: |
Author: KaiJaeger | {{{ 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 } }}} Authors: Logic=PhilLast, user command=KaiJaeger |
User Commands Int2Hex and Hex2Int
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 must be 32 bits signed integer Run[61] r←1 hex ##.THIS⍎r⊣⎕PP←34 ∧
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 }
Authors: Logic=PhilLast, user command=KaiJaeger