CAlling a Binary File

  • From: Carl Distefano <cld@xxxxxxxxxx>
  • To: XyWrite Mailing List <xywrite@xxxxxxxxxxxxx>
  • Date: Thu, 7 Feb 2013 00:36:08 -0500

CAlling a binary file in XyWrite is a big no-no. If you inadvertently
SAve it, the file is toast. Even if you REad instead of CAll, the
screen will often be skew-whiff (as Patricia liked to say) due to the
likely presence of control characters that were never meant to be
displayed in XyWrite. The on-screen result is a volatile, chaotic
mess. Still, if you're like me, you'll try to do it anyway.

Enter a new U2 routine, CAB, for CAll Binary file. CAB creates a
faithful yet inert rendition of any binary file for review in
XyWrite 4 or Nota Bene for Windows. It uses XYENC.COM's "B" option to
bypass encoding of most low- and high-order Ascii characters, with
further "cooking" of the encoded output. The original file is not
changed and stays out of harm's way. CAB works with any binary format
(.EXE, .COM, .PDF, .ZIP, .MSI, etc., etc.); it does a good job of
rendering the text portions of Word (.DOC) files (once you scroll
past the initial garbage). 

Usage:
 CAB [d:\path\]binary_filename<Helpkey>
or:
With cursor on filename in directory listing:
  CAB<Helpkey>
XYENC.COM must be present in the directory that contains EDITOR.EXE.

CAB has been added to the XYENC.ZIP package, which can be downloaded
at <http://users.datarealm.com/xywwweb/xyenc.zip>.

Here is frame CAB. XYDECode it, DeFine it, and issue ADD2U2<Helpkey>
to add it to U2.

'%--_XYENCode_start--
{{5cab}}_CAll_Binary_file_(safely_displayed_in_modified_XYENCo
de_format,_read-only)_[CLD_rev.2/6/13]'^~B~<IF~<VA$WA~>>0~>~<I
F~<VA$WS~>>1&~<VA|50~><1~>~<SX50,~<VA$DR~>~>~<EI~>~<IF~<VA|50~>
>0~>'BXexist_~<PV50~>'Q2~<IF@not(~<ER~>)~>'BXes_1'Q2'DX~<PRWor
king~>~<SX01,~<IS50~>~>~<SX50,~<VA$ED~>~>'JM2.GetPath'Q2~<SX02
,~<IS50~>++"\BINARY.LST"~>'BXernv_~<PV02~>'Q2'BXwait'Q2'BXdos/
nv/x/z_/c_~<PV50~>\XYENC.COM_~<PV01~>_~<PV02~>_B'Q2~<SX03,0~>~<
LBa~>'BXexist_~<PV02~>'Q2~<IF~<ER~>&~<PV03~><3~>~<SX03,~<PV03~>
+1~>~<PRStill_working...~>'BXp'Q2~<GLa~>~<EI~>~<IF~<ER~>~>~<PR
XYENCoding_failed'|~>~<EX~>~<EI~>~<SX03,~<VA$WA~>~>'BXfunc_#~<
PV03~>'Q2'BXca/100_~<PV02~>'Q2',*','^'DL~<SV04~>'DN~<SV05,'`~>
~<XS04,05,05,,05~>~<SV04,'^~>~<XS05,04,04,,06~>~<SX04,"Listing
_of_"+~<IS01~>+"__["+~<IS04~>+"]'^Legend'._""'?@""=Ascii-0__""
'?Z""=Ascii-26__""'?ddd""=Ascii-ddd'^"~>~<GT04~>~<SV04,~>~<SX0
5,76~>~<CU1,05~>~<SX04,~<IS04~>+"-"~>~<LB1~>~<GT04~>:~M',*','^
',*',_Restore_blanks_and_CrLf'`s'^'BXch_"'-"_"'Q2'BXwait'Q2'BX
ch_"'`^";~["'Q2'BXwait'Q2',*','^',*',_Restore_low-order_Ascii_
1-25,27-31'^~<SV04,~129~>~<SV05,'WN~>~<XS05,04,,04,06~>~<SV05,
!00'WS~>~<XS05,04,,04,07~>~<SX04,"A"+~<IS06~>+"B"+~<IS07~>+"C~C
D~DE~EF~FG~GH~HI~IJ~JK~KL~LM~MN~NO~OP~PQ~QR~RS~ST~TU~UV~VW~WX~X
Y~Y[~[\~\]~]'-~^^~_"~>~<SV05,~[X~>~<LBb~>~<IF~<VA|04~>>0~>~<XS
04,05,06,06,07~>~<SV08,~>~<XS07,05,09,09,08~>~<SX04,~<IS08~>~>
'BXch__'?~<PV06~>_~<PV09~>'Q2'BXwait'Q2~<GLb~>~<EI~>',*','^'BX
sa'Q2'BXwait'Q2'BXab/nv'Q2~<IF~<VA$WS~>>0~>'BXfunc_#~<PV03~>'Q2
~<EI~>'BXre/100_~<PV02~>'Q2~<SV01,Read-only',_NOT_decode-able~>
~<LBc~>~<PR@01~>~<EX~>~<EI~>~<SX01,~<VA\820~>~>~<SX01,~<IS01~>
+"_"+~<IS50~>~>~<GLc~>~<EI~>~<PRCAB_[d'.\\path\\]binary'-filen
ame<Helpkey>~>~<EX~>~<EI~>~<PRNo_window~>~B'^'^
'%--_XYENCode___end--

-- 
Carl Distefano
cld@xxxxxxxxxx


Other related posts: