Re: Portable Xy4 made easy

  • From: Carl Distefano <cld@xxxxxxxxxx>
  • To: xywrite@xxxxxxxxxxxxx
  • Date: Sun, 1 Jul 2012 12:19:28 -0400

Made a tiny change to PORTABLE.PM. Please use this version, dated
7/1/12. Download here:

<http://users.datarealm.com/xywwweb/portable.zip>

U2 users DECODE here:

XPLeNCODE v2.0
b-gin [UNTITLED]
{<}GLa{>}[cr|lf]PORTABLE.PM for XyWrite 4 - C.L.Distefano rev
{046}7/1/12[cr|lf]Purpose: Create path-free versions of STARTUP.I
NT and SETTINGS.DFL, enabling a "portable" XyWrite setup that
 can be copied to any directory without the need to modify pa
th statements in these two key files.[cr|lf][cr|lf]Usage[cr|l
f]-----[cr|lf]RUN PORTABLE.PM<cr|XC>[cr|lf]Two (2) available{032}
windows are required.[cr|lf][cr|lf]How It Works[cr|lf]-------
-----[cr|lf]PORTABLE.PM safely generates personalized replace
ments for your STARTUP.INT and SETTINGS.DFL files, based on t
he settings in effect when you run PORTABLE.PM. These new fil
es are called PORTABL1.INT and PORTABL1.DFL. Your existing fi
les are NOT modified.[cr|lf][cr|lf]Before using the new files
, be sure to BACK UP your existing STARTUP.INT and SETTINGS.D
FL. (The first time you run PORTABLE.PM, they are automatical
ly backed up to START_BK.INT and SETTI_BK.DFL.) When you're r
eady to "go portable", copy PORTABL1.INT to STARTUP.INT and P
ORTABL1.DFL to SETTINGS.DFL, overwriting the existing files;{032}
then quit and restart XyWrite. [cr|lf][cr|lf]- - - - -[cr|lf]
{<}LBa{>}[ZT_][BX_]es 1[Q2_][DX_];*;[cr|lf]{<}IF{<}VA$VE{>}<"
V4.02"{>}{<}IF{<}VA$ST{>}{240}"\"&{<}VA$DL{>}{240}"\"{>}{<}IF
{<}VA$WA{>}>0{>};*;[cr|lf]{<}PRWorking{>}{<}SV01,{>}{<}SV02,{
{062}}{<}SV03,{>}{<}SV04,{>}{<}SV05,{>};*;[cr|lf]{<}SX06,{<}VA$ST
{>}{>}{<}SX07,{<}VA$DL{>}{>}[BX_]gofile {<}PV07{>}[Q2_]{<}IF@
not({<}ER{>}){>}[BX_]ab/nv[Q2_]{<}EI{>};*;[cr|lf]{<}SU01,{<}S
X02,{<}VA$WA{>}{>}[BX_]func #{<}PV02{>}[Q2_]{>}{<}GT01{>}[BX_
]ne/100[Q2_]{<}IF{<}VA$WA{>}>0{>}{<}GT01{>}[BX_]ca/100 {<}PV0
7{>}[Q2_][BX_]wait[Q2_][AS_];*;[cr|lf]{<}SU08,{<}SX09,{<}IS10
{>}{>}{<}SV10,{>}{<}SV11,\{>}{<}LBb{>}{<}XS09,11,12,,13{>}{<}
IF{<}VA|10{>}>0{>}{<}SX10,{<}IS10{>}+"\"{>}{<}EI{>}{<}SX10,{<
}IS10{>}+{<}IS12{>}{>}{<}IF{<}IS13{>}{240}"\"{>}{<}SX09,{<}IS
13{>}
{>}{<}GLb{>}{<}EI{>}{>};*; {<}SV10,dir{>}{<}SV13,filename{>}[
cr|lf]{<}SX10,{<}VA$ED{>}{>}{<}GT08{>}{<}SX14,{<}IS10{>}{>};*
; {<}SV14,Editor's dir{>}[cr|lf]{<}SX03,{<}VA@14:1{>}{>}[BX_]
{<}PV03{>}:[Q2_][BX_]cd {<}PV14{>}[Q2_];*;[cr|lf]{<}SV01,INT{
{062}}{<}LBc{>}[BX_]gofile {<}PV14{>}\PORTABL1.{<}PV01{>}[Q2_]{<}
IF@not({<}ER{>}){>}[BX_]ab/nv[Q2_]{<}EI{>}{<}IF{<}IS01{>}{240
}"I"{>}{<}SV01,DFL{>}{<}GLc{>}{<}EI{>};*;[cr|lf]{<}SV01,INT{>
}{<}LBd{>}[BX_]ernv {<}PV14{>}\PORTABL1.{<}PV01{>}[Q2_][BX_]w
ait[Q2_]{<}IF{<}IS01{>}{240}"I"{>}{<}SV01,DFL{>}{<}GLd{>}{<}E
I{>};*;[cr|lf];*; One-time backup of STARTUP.INT and SETTINGS
{046}DFL[cr|lf]{<}SV01,START_{>}{<}SV02,INT{>}{<}SX03,{<}IS06{>}{
{062}}{<}LBe{>}[BX_]exist {<}PV01{>}BK.{<}PV02{>}[Q2_]{<}IF{<}ER{
{062}}{>}[BX_]copy {<}PV03{>} {<}PV01{>}BK.{<}PV02{>}[Q2_][BX_]wa
it[Q2_]{<}EI{>}{<}IF{<}IS02{>}{240}"I"{>}{<}SV01,SETTI_{>}{<}
SV02,DFL{>}{<}SX03,{<}IS07{>}{>}{<}GLe{>}{<}EI{>};*;[cr|lf];*
; Create PORTABL1.INT:[cr|lf][GT_]{<}SX01,";*"+"; PORTABL1.IN
T (""Pathless"" STARTUP.INT)[cr|lf];*"+"; Created by PORTABLE
{046}PM (CLD)  "+{<}VA$DAd Mmm yyyy{>}+" - "+{<}VA$TM{>}+"[cr|lf]
;*"+"; -----[cr|lf];*"+"; DO NOT MODIFY THIS SECTION (down to
 ""^^^^^^^^^^"").[cr|lf];*"+"; This code switches to the dire
ctory with EDITOR.EXE[cr|lf];*"+"; the directory name (minus{032}
the final ""\"") is saved to Save/Get 01.[cr|lf];*"+"; Save/G
et 01 is used below (""[255+065+069]PV01[255+065+070]|{<}IS01
{>}"") to point to that directory[cr|lf];*"+";   and its subd
irectories[cr|lf]"[cr|lf]{>}{<}GT01{>}{<}SX01,"{<}SV01,{>}{<}
SX02,{<}VA$ED{>}{>}{<}SV03,\{>}{<}LB {>}{<}XS02,03,04,,05{>}{
<}IF{<}VA|01{>}>0{>}{<}SX01,{<}IS01{>}+""\""{>}{<}EI{>}{<}SX0
1,{<}IS01{>}+{<}IS04{>}{>}{<}IF{<}IS05{>}{240}""\""{>}{<}SX02
,{<}IS05{>}{>}
{<}GL {>}{<}EI{>}{<}SX02,{<}VA@01:1{>}{>}[BX_]{<}PV02{>}:[Q2_
][BX_]wait[Q2_][BX_]cd {<}PV01{>}[Q2_][BX_]wait[Q2_];*"+";[cr
|lf];*"+"; ^^^^^^^^^^[cr|lf];*"+"; [cr|lf];*"+"; Logon routin
e[cr|lf]"{>}{<}GT01{>}{<}SX01,{<}VA$LG{>}{>}{<}IF{<}VA|01{>}<
1!{<}VA|01{>}>8{>}{<}SV01,DEFAULT{>}{<}EI{>}{<}SX01,"[BX_]exi
st "+{<}IS01{>}+".LOG[Q2_]{<}IF{<}ER{>}{>}{<}SV02,{<}PRLogged
 on with username "+{<}IS01{>}+"{>}{<}EX{>}{>}[BX_]sa %02,"+{
<}IS01{>}+".log[Q2_][BX_]wait[Q2_]{<}EI{>}[BX_]logon "+{<}IS0
1{>}+"[Q2_]"{>}{<}GT01{>}{<}SX01,";*"+";[cr|lf];*"+";[cr|lf];
*"+"; LOAD commands (edit filenames as necessary; omit paths!
)[cr|lf];*"+"; Disable inapplicable commands with "";"+"*;""{032}
(no quotes)[cr|lf]"{>}{<}GT01{>};*;[cr|lf]{<}SX10,{<}IS07{>}{
{062}}{<}IF{<}IS10{>}{240}"\"{>}{<}GT08{>}{<}SX01,"[BX_]load "+{<
}IS13{>}+"[Q2_][BX_]wait[Q2_];"+"*; Settings file[cr|lf]"{>}{
<}GT01{>}{<}EI{>};*;[cr|lf]{<}SX10,{<}VA$KB{>}{>}{<}IF{<}IS10
{>}{240}"\"{>}{<}GT08{>}{<}SX01,"[BX_]load "+{<}IS13{>}+"[Q2_
][BX_]wait[Q2_];"+"*; Keyboard file[cr|lf]"{>}{<}GT01{>}{<}EI
{>};*;[cr|lf]{<}SX10,{<}VA$MN{>}{>}{<}IF{<}IS10{>}{240}"\"{>}
{<}GT08{>}{<}SX01,"[BX_]load "+{<}IS13{>}+"[Q2_][BX_]wait[Q2_
];"+"*; MeNu file[cr|lf]"{>}{<}GT01{>}{<}EI{>};*;[cr|lf]{<}SX
10,{<}VA$DG{>}{>}{<}IF{<}IS10{>}{240}"\"{>}{<}GT08{>}{<}SX01,
"[BX_]load "+{<}IS13{>}+"[Q2_][BX_]wait[Q2_];"+"*; DialoG fil
e[cr|lf]"{>}{<}GT01{>}{<}EI{>};*;[cr|lf]{<}SX10,{<}VA$HL{>}{>
}{<}IF{<}IS10{>}{240}"\"{>}{<}GT08{>}{<}SX01,"[BX_]load "+{<}
IS13{>}+"[Q2_][BX_]wait[Q2_];"+"*; HeLp file[cr|lf]"{>}{<}GT0
1{>}{<}EI{>};*;[cr|lf]{<}SX10,{<}VA$HY{>}{>}{<}IF{<}IS10{>}{2
40}"\"{>}{<}GT08{>}{<}SX01,"[BX_]load "+{<}IS13{>}+"[Q2_][BX_
]wait[Q2_];"+"*; Hyphenation dictionary[cr|lf]"{>}{<}GT01{>}{
<}
EI{>};*;[cr|lf]{<}SX10,{<}VA$SP{>}{>}{<}IF{<}IS10{>}{240}"\"{
{062}}{<}GT08{>}{<}SX01,"[BX_]load "+{<}IS13{>}+"[Q2_][BX_]wait[Q
2_];"+"*; Personal spelling file[cr|lf]"{>}{<}GT01{>}{<}EI{>}
;*;[cr|lf]{<}SX10,{<}VA$U2{>}{>}{<}IF{<}IS10{>}{240}"\"{>}{<}
GT08{>}{<}SX01,"[BX_]load "+{<}IS13{>}+"[Q2_][BX_]wait[Q2_];"
+"*; U2 file[cr|lf]"{>}{<}GT01{>}{<}EI{>};*;[cr|lf]{<}SX10,{<
}VA$SG{>}{>}{<}IF{<}IS10{>}{240}"\"{>}{<}GT08{>}{<}SX01,"[BX_
]ldsgt "+{<}IS13{>}+"[Q2_][BX_]wait[Q2_];"+"*; Save/Gets (.SG
T) file[cr|lf]"{>}{<}GT01{>}{<}EI{>};*;[cr|lf]{<}SX01,{<}VA$S
D{>}{>}{<}SX01,";*"+";[cr|lf][BX_]dsort "+{<}IS01{>}+"[Q2_];"
+"*; DIRectory Sort order[cr|lf]"{>}{<}GT01{>}{<}SX01,";*"+";
[cr|lf];*"+"; Default paths[cr|lf]"{>}{<}GT01{>}{<}SX01,"[BX_
]d dr={<}PV01{>}\[Q2_];"+"*; Directory for TeMP files[cr|lf][
BX_]d AOP={<}PV01{>}\[Q2_];"+"*; Autosave path[cr|lf]"{>}{<}G
T01{>};*;[cr|lf]{<}SX01,{<}VAAOT{>}{>}{<}SX01,"[BX_]d AOT="+{
<}IS01{>}+"[Q2_];"+"*; Autosave time settings[cr|lf]"{>}{<}GT
01{>};*;[cr|lf]{<}SX01,"[BX_]d GP={<}PV01{>}\[Q2_];"+"*; Grap
hics path[cr|lf][BX_]d NL={<}PV01{>}\[Q2_];"+"*; Network log{032}
files[cr|lf][BX_]exist {<}PV01{>}\BTFONTS\*.*[Q2_]{<}IF@not({
<}ER{>}){>}[BX_]d OL={<}PV01{>}\BTFONTS\[Q2_];"+"*; Outline s
creen fonts[cr|lf][BX_]d XY={<}PV01{>}\BTFONTS\[Q2_]{<}EI{>};
"+"*; Location of SCRFONTS.BIN[cr|lf][BX_]d ZM=100[Q2_];*"+";
 Zoom setting for graphical view[cr|lf][BX_]exist {<}PV01{>}\
FILTERS\*.*[Q2_]{<}IF@not({<}ER{>}){>}[BX_]d WW={<}PV01{>}\FI
LTERS\[Q2_]{<}EI{>};"+"*; Conversion filters[cr|lf];"+"*;[cr|
lf];"+"*; Paths Used by XY4 Menu|DiaLoG files[cr|lf][BX_]d/nv
 SG1900={<}PV01{>}\DOCS\[Q2_];"+"*;[cr|lf][BX_]d/nv SG1906={<
}PV01{>}\[Q2_];"+"*;[cr|lf][BX_]d/nv SG1908={<}PV01{>}\[Q2_];
"\"*;[cr|lf];*"+";[cr|lf];"+"*; Create PP.PRN (printer file w
ith PP: t
able)[cr|lf]"{>}{<}GT01{>};*;[cr|lf];*; Construct PP: table f
or PP.PRN[cr|lf][AS_][BX_]se  [wC]PP:[Q2_]{<}IF{<}ER{>}{>}{<}
SV01,PP:1[cr|lf]1{tab}STANDARD.PRN{tab}Standard printer file[
cr|lf];[cr|lf]{>}{<}GLg{>}{<}EI{>}{<}SX03,0{>}{<}SV01,{>}[YD_
]{<}LBf{>}[LD_][LB_][DF_][BX_]se/f  [wC][Q2_]{<}IF{<}ER{>}{>}
[LE_][255+048+068][CL_]{<}EI{>}[DF_]{<}SV02{>}[YD_]{<}IF{<}IS
02{>}{240}"\"{>}{<}IF";"{238}{<}IS02{>}<>0{>}{<}SX10,{<}VA@02
{tab}2{>}{>}{<}GT08{>}{<}SX01,{<}IS01{>}+{<}VA@02{tab}1{>}+"{
tab}"+{<}IS13{>}+"{tab}"+{<}VA@02{tab}3{>}+"[cr|lf]"{>}{<}SX0
3,{<}PV03{>}+1{>}{<}EI{>}{<}GLf{>}{<}EI{>}{<}SX01,"PP:"+{<}IS
03{>}+"[cr|lf]"+{<}IS01{>}+";[cr|lf]"{>}{<}LBg{>}{<}SX01,"[BX
_]exist PP.PRN[Q2_]{<}IF@not({<}ER{>}){>}[BX_]ernv PP.PRN[Q2_
][BX_]wait[Q2_]{<}EI{>};*"+";[cr|lf];*"+";[cr|lf];"+"*; To ad
d/change printers, carefully modify the PP: table below[cr|lf
];"+"*; Header format:[cr|lf];"+"*; PP:# [where ""#"" is numb
er of lines in table][cr|lf];"+"*; Line format:[cr|lf];"+"*;{032}
printing_port[TAB]printer_filename[no path!][TAB]printer_name
[cr|lf];*"+";[cr|lf]{<}SV02,;PR;[cr|lf];[cr|lf]"+{<}IS01{>}+"
{>}[BX_]sa %02,PP.PRN[Q2_][BX_]wait[Q2_][BX_]load PP.PRN[Q2_]
[BX_]wait[Q2_];"+"*;[cr|lf]{<}SX02,{<}VALA{>}{>}[BX_]d la=850
[Q2_][BX_]setp 1[Q2_][BX_]wait[Q2_][BX_]d la={<}PV02{>}[Q2_];
*"+";[cr|lf];"+"*; [cr|lf]{<}EX{>}[cr|lf]"{>}[AS_]{<}GT01{>};
*;[cr|lf][BX_]st/nv PORTABL1.INT[Q2_]{<}IF{<}ER{>}{>}[TF_]{<}
SV01,Error writing PORTABL1.INT{>}{<}LBh{>}{<}SX01,{<}IS01{>}
+" (Relax, no file has been modified)"{>}{<}PR@01{>}{<}EX{>}{
<}EI{>}[BX_]wait[Q2_];*;[cr|lf];*; Create PORTABL1.DFL:[cr|lf
][TF_]{<}LBi{>}[BX_]se  :\[Q2_]{<}IF@not({<}ER{>}){>}[BX_]seb
  [wC][Q2_][CR_];[BX_]se  [wC][Q2_]{<}GLi{>}{<}EI{>};*;[cr|lf
][TF_][BX_]ch  [wC]PP: [wC]
;PP:[Q2_][BX_]wait[Q2_];*;[cr|lf]{<}GT08{>}[BX_]st/nv {<}PV14
{>}\PORTABL1.DFL[Q2_]{<}IF{<}ER{>}{>}[TF_]{<}SV01,Error writi
ng PORTABL1.DFL{>}{<}GLh{>}{<}EI{>}[BX_]wait[Q2_];*;[cr|lf];*
; Generate report:[cr|lf]{<}SX14,{<}VA$ET{>}{>}{<}SX14,{<}VA@
14:3{>}{>}{<}SX14,{<}PV14{>}{>}{<}SX01,{<}VA$WA{>}{>}[BX_]fun
c #{<}PV01{>}[Q2_][BX_]dir PORTABL1.*[Q2_][BX_]wait[Q2_][XP_]
[TF_][BX_]ch  [w<][wW][w>][Q2_][BX_]wait[Q2_][BX_]se  [wC]___
_[Q2_]{<}IF@not({<}ER{>}){>}[LB_][DF_][BF_][DF_][DN_]{<}EI{>}
[TF_][DF_][BF_][DF_]{<}SV04{>}[BX_]ab/nv[Q2_]{<}SX01,{<}VA$WA
{>}{>}[BX_]func #{<}PV01{>}[Q2_][BX_]ne/1[Q2_]{<}SX10,{<}IS06
{>}{>}{<}GT08{>}{<}SX02,{<}IS13{>}{>}{<}SX10,{<}IS07{>}{>}{<}
GT08{>}{<}SX03,{<}IS13{>}{>}{<}SX01,"{<}MDUL{>}PORTABLE.PM ha
s created:{<}MDNM{>}[cr|lf]PORTABL1.{<}MDIT{>}INT{<}MDNM{>} (
replacement for "+{<}IS02{>}+") and[cr|lf]PORTABL1.{<}MDIT{>}
DFL{<}MDNM{>} (replacement for "+{<}IS03{>}+")[cr|lf]  in "+{
<}IS10{>}+", as follows:[cr|lf][cr|lf]"+{<}IS04{>}+"[cr|lf]{<
}MDIT{>}No existing files were modified.{<}MDNM{>}[cr|lf][cr|
lf]{<}MDUL{>}To ""go portable"":{<}MDNM{>}[cr|lf]{<}MDBO{>}Ma
ke sure that you have good BACKUPS of your original "+{<}IS02
{>}+" and "+{<}IS03{>}+"!{<}MDNM{>} (The first time you run P
ORTABLE.PM, these files are automatically backed up to START_
BK.INT and SETTI_BK.DFL.)[cr|lf]{<}MDIT{>}Then:{<}MDNM{>}[cr|
lf]Copy PORTABL1.{<}MDIT{>}INT{<}MDNM{>} to "+{<}IS02{>}+" (o
verwriting the existing file);[cr|lf]Copy PORTABL1.{<}MDIT{>}
DFL{<}MDNM{>} to "+{<}IS03{>}+" (overwriting the existing fil
e); and[cr|lf]Quit and restart XyWrite.[cr|lf]"{>}{<}GT01{>}[
TF_]{<}SX01,"In all of "+{<}IS14{>}+" seconds..."{>}{<}PR@01{
{062}}{<}EX{>}[cr|lf]{<}EI{>}{<}EI{>}{<}PRTwo (2) available windo
ws required{>}{<}EX{>}
[cr|lf]{<}EI{>}{<}PRUnexpected: Missing or inactive STARTUP|S
ETTINGS file - No operation{>}{<}EX{>}[cr|lf]{<}EI{>}{<}PRXyW
rite v4 for DOS only{>}{<}EX{>}[cr|lf]
-nd
XPLeNCODE

-- 
Carl Distefano
cld@xxxxxxxxxx


Other related posts: