This is brilliant, Jaime. Do you mind if I include it in prob.r, my visual probe tool? 
I can put a note with your name on it on every face where it is used if you like...

Regards,
HY

Dixit Jaime Vargas (18.04 30.04.2004):

>I have being working with binaries a lot lately so I created this
>tool that lets you examine the contents of a binary in a more
>explicit way that you using probe.
>
>Please critique my code so that I can improve it.
>
>Thank you, and enjoy -- Jaime
>
>dump-binary: func ['buffer /local v b t c r pad pl len chars tmp][
>        chars: charset [#"a" - #"z" #"A" - #"Z" #"0" - #"9" #"-"]
>        either binary! = type? b: get buffer [
>                t: to-integer divide len: length? b 16
>                r: remainder len 16
>                pl: either odd? r [40 - (5 * (r - 1) / 2)][40 - (5 * r / 2)]
>                pad: head insert/dup copy {}  #" " pl
>                print [buffer "=="]
>                for j 0 t 1 [
>                
>                    prin head insert/dup tmp: to-string j "0" 4 - length? tmp
>                    prin ":^-"
>                
>                        ; first print the hex format
>                        c: either j = t [r][16]
>                    repeat i c [
>                        prin lowercase at to-hex pick b (j * 16  + i) 7
>                        if equal? i //  2 0 [prin " "]
>                    ]
>                
>                    if all [r <> 0 j = t] [prin pad]
>                    either j <> t [prin "^-|^- "][if r <> 0 [prin "^-|^- "]]
>                
>                    ; now print the ascii character
>                    repeat i c [
>                        prin  either find chars v: to-char pick b (j * 16 + i) 
> [v][#"."]
>                    ]
>                
>                    prin newline
>                ]       
>     ][
>        make error! reform [buffer "must be a binary!"]
>     ]
>]
>
>-- 
>To unsubscribe from this list, just send an email to
>[EMAIL PROTECTED] with unsubscribe as the subject.

Prętera censeo Carthaginem esse delendam


-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.

Reply via email to