[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: Portable Xy4 made easy



I made a small tweak to PORTABLE.PM. Please use this version (dated
6/30/12). The current iteration can always be downloaded here:

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


XPLeNCODE v2.0
b-gin [UNTITLED]
{<}GLa{>}[cr|lf]PORTABLE.PM for XyWrite 4 - C.L.Distefano rev
{046}6/30/12[cr|lf]Purpose: Create path-free versions of STARTUP.
INT and SETTINGS.DFL, enabling a "portable" XyWrite setup tha
t can be copied to any directory without the need to modify p
ath statements in these two key files.[cr|lf][cr|lf]Usage[cr|
lf]-----[cr|lf]RUN PORTABLE.PM[cr|lf]Two (2) available
 windows are required.[cr|lf][cr|lf]How It Works[cr|lf]------
------[cr|lf]PORTABLE.PM safely generates personalized replac
ements for your STARTUP.INT and SETTINGS.DFL files, based on{032}
the settings in effect when you run PORTABLE.PM. These new fi
les are called PORTABL1.INT and PORTABL1.DFL. Your existing f
iles are NOT modified.[cr|lf][cr|lf]Before using the new file
s, be sure to BACK UP your existing STARTUP.INT and SETTINGS.
DFL. (The first time you run PORTABLE.PM, they are automatica
lly backed up to START_BK.INT and SETTI_BK.DFL.) When you're{032}
ready to "go portable", copy PORTABL1.INT to STARTUP.INT and{032}
PORTABL1.DFL to SETTINGS.DFL, overwriting the existing files;
 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}"\"{>}{<}I
F{<}VA$WA{>}>0{>};*;[cr|lf]{<}PRWorking{>}{<}SV01,{>}{<}SV02,
{>}{<}SV03,{>}{<}SV04,{>}{<}SV05,{>};*;[cr|lf]{<}SX06,{<}VA$S
T{>}{>}{<}SX07,{<}VA$DL{>}{>}[BX_]gofile {<}PV07{>}[Q2_]{<}IF
@not({<}ER{>}){>}[BX_]ab/nv[Q2_]{<}EI{>};*;[cr|lf]{<}SU01,{<}
SX02,{<}VA$WA{>}{>}[BX_]func #{<}PV02{>}[Q2_]{>}{<}GT01{>}[BX
_]ne/100[Q2_]{<}IF{<}VA$WA{>}>0{>}{<}GT01{>}[BX_]ca/100 {<}PV
07{>}[Q2_][BX_]wait[Q2_][AS_];*;[cr|lf]{<}SU08,{<}SX09,{<}IS1
0{>}{>}{<}SV10,{>}{<}SV11,\{>}{<}LBb{>}{<}XS09,11,12,,13{>}{<
}IF{<}VA|10{>}>0{>}{<}SX10,{<}IS10{>}+"\"{>}{<}EI{>}{<}SX10,{
<}IS10{>}+{<}IS12{>}{>}{<}IF{<}IS13{>}{240}"\"{>}{<}SX09,{<}I
S13{>}
{>}{<}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{>}+"{
{062}}[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_]{<}S
V01,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{032}
 [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@xxxxxxxx