[Date Prev][Date Next][Subject Prev][Subject Next][
Date Index][
Subject Index]
Re: Portable Xy4 made easy
- Subject: Re: Portable Xy4 made easy
- From: Harry Binswanger hb@xxxxxxxx
- Date: Tue, 03 Jul 2012 14:39:34 -0400
Carl,
Seems to work fine with regular XyWrite. It doesn't work right with
XyWrite-Tame. Not really unexpected, since Tame is not installed on the
target computer. Seems like it could be, though, by the same process. Worth
working on? I *think* the two critical elements are:
1. A call via a version of Autoexec.NT to
C:\PROGRA~1\TAME5~1.1\tame-nt.com
(which of course requires that the user's tame-nt.com be put there)
2. A copy of the settings for tame file which, in my version of Tame, is:
MyDocuments\SavedOptions\.pif.view.tam
Where FNAME is the name that the Xy icon (pif? lnk?) uses. In my case,
that's XyWrite 1, so the file is XyWrite 1.pif.view.tam
But there are other Tame bits scattered around, so it's probably not worth
doing this work. Tame varies too much from version to version in where it
puts its needed files.
Oops, had to correct a window-handling error in PORTABLE.PM that
surfaces under certain conditions. You should definitely discard
earlier versions and use the new one, dated 7/2/12. As before, the
ZIP download is here:
http://users.datarealm.com/xywwweb/portable.zip
U2 users should DECODE again below. Sorry for the inconvenience.
XPLeNCODE v2.0
b-gin [UNTITLED]
{<}GLa{>}[cr|lf]PORTABLE.PM for XyWrite 4 - C.L.Distefano rev
{046}7/2/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|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_]{<}IF{<}VA$WS{>}<1{>}[BX_]r
s[Q2_]{<}EI{>}{<}EI{>}{<}IF{<}IS01{>}{240}"I"{>}{<}SV01,DFL{>
}{<}GLc{>}{<}EI{>};*;[cr|lf]{<}SV01,INT{>}{<}LBd{>}[BX_]ernv{032}
{<}PV14{>}\PORTABL1.{<}PV01{>}[Q2_][BX_]wait[Q2_]{<}IF{<}IS01
{>}{240}"I"{>}{<}SV01,DFL{>}{<}GLd{>}{<}EI{>};*;[cr|lf];*; On
e-time backup of STARTUP.INT and SETTINGS.DFL[cr|lf]{<}SV01,S
TART_{>}{<}SV02,INT{>}{<}SX03,{<}IS06{>}{>}{<}LBe{>}[BX_]exis
t {<}PV01{>}BK.{<}PV02{>}[Q2_]{<}IF{<}ER{>}{>}[BX_]copy {<}PV
03{>} {<}PV01{>}BK.{<}PV02{>}[Q2_][BX_]wait[Q2_]{<}EI{>}{<}IF
{<}IS02{>}{240}"I"{>}{<}SV01,SETTI_{>}{<}SV02,DFL{>}{<}SX03,{
<}IS07{>}{>}{<}GLe{>}{<}EI{>};*;[cr|lf];*; Create PORTABL1.IN
T:[cr|lf][GT_]{<}SX01,";*"+"; PORTABL1.INT (""Pathless"" STAR
TUP.INT)[cr|lf];*"+"; Created by PORTABLE.PM (CLD) "+{<}VA$D
Ad Mmm yyyy{>}+" - "+{<}VA$TM{>}+"[cr|lf];*"+"; -----[cr|lf];
*"+"; DO NOT MODIFY THIS SECTION (down to ""^^^^^^^^^^"").[cr
|lf];*"+"; This code switches to the directory with EDITOR.EX
E[cr|lf];*"+"; the directory name (minus the final ""\"") is{032}
saved to Save/Get 01.[cr|lf];*"+"; Save/Get 01 is used below{032}
(""[255+065+069]PV01[255+065+070]|{<}IS01{>}"") to point to t
hat directory[cr|lf];*"+"; and its subdirectories[cr|lf]"[c
r|lf]{>}{<}GT01{>}{<}SX01,"{<}SV01,{>}{<}SX02,{<}VA$ED{>}{>}{
<}SV03,\{>}{<}LB {>}{<}XS02,03,04,,05{>}{<}IF{<}VA|01{>}>0{>}
{<}SX01,{<}IS01{>}+""\""{>}{<}EI{>}{<}SX01,{<}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 routine[cr|lf]"{>}{<}GT01{
{062}}{<}SX01,{<}VA$LG{>}{>}{<}IF{<}VA|01{>}<1!{<}VA|01{>}>8{>}{<
}SV01,DEFAULT{>}{<}EI{>}{<}SX01,"[BX_]exist "+{<}IS01{>}+".LO
G[Q2_]{<}IF{<}ER{>}{>}{<}SV02,{<}PRLogged on with username "+
{<}IS01{>}+"{>}{<}EX{>}{>}[BX_]sa %02,"+{<}IS01{>}+".log[Q2_]
[BX_]wait[Q2_]{<}EI{>}[BX_]logon "+{<}IS01{>}+"[Q2_]"{>}{<}GT
01{>}{<}SX01,";*"+";[cr|lf];*"+";[cr|lf];*"+"; LOAD commands{032}
(edit filenames as necessary; omit paths!)[cr|lf];*"+"; Disab
le inapplicable commands with "";"+"*;"" (no quotes)[cr|lf]"{
{062}}{<}GT01{>};*;[cr|lf]{<}SX10,{<}IS07{>}{>}{<}IF{<}IS10{>}{24
0}"\"{>}{<}GT08{>}{<}SX01,"[BX_]load "+{<}IS13{>}+"[Q2_][BX_]
wait[Q2_];"+"*; Settings file[cr|lf]"{>}{<}GT01{>}{<}EI{>};*;
[cr|lf]{<}SX10,{<}VA$KB{>}{>}{<}IF{<}IS10{>}{240}"\"{>}{<}GT0
8{>}{<}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]{<}SX10,{<}VA$DG{>}{>}{<}
IF{<}IS10{>}{240}"\"{>}{<}GT08{>}{<}SX01,"[BX_]load "+{<}IS13
{>}+"[Q2_][BX_]wait[Q2_];"+"*; DialoG file[cr|lf]"{>}{<}GT01{
{062}}{<}EI{>};*;[cr|lf]{<}SX10,{<}VA$HL{>}{>}{<}IF{<}IS10{>}{240
}"\"{>}{<}GT08{>}{<}SX01,"[BX_]load "+{<}IS13{>}+"[Q2_][BX_]w
ait[Q2_];"+"*; HeLp file[cr|lf]"{>}{<}GT01{>}{<}EI{>};*;[cr|l
f]{<}SX10,{<}VA$HY{>}{>}{<}IF{<}IS10{>}{240}"\"{>}{<}GT08{>}{
<}SX01,"[BX_]load "+{<}IS13{>}+"[Q2_][BX_]wait[Q2_];"+"*;
Hyphenation dictionary[cr|lf]"{>}{<}GT01{>}{<}EI{>};*;[cr|lf
]{<}SX10,{<}VA$SP{>}{>}{<}IF{<}IS10{>}{240}"\"{>}{<}GT08{>}{<
}SX01,"[BX_]load "+{<}IS13{>}+"[Q2_][BX_]wait[Q2_];"+"*; Pers
onal spelling file[cr|lf]"{>}{<}GT01{>}{<}EI{>};*;[cr|lf]{<}S
X10,{<}VA$U2{>}{>}{<}IF{<}IS10{>}{240}"\"{>}{<}GT08{>}{<}SX01
,"[BX_]load "+{<}IS13{>}+"[Q2_][BX_]wait[Q2_];"+"*; U2 file[c
r|lf]"{>}{<}GT01{>}{<}EI{>};*;[cr|lf]{<}SX10,{<}VA$SG{>}{>}{<
}IF{<}IS10{>}{240}"\"{>}{<}GT08{>}{<}SX01,"[BX_]ldsgt "+{<}IS
13{>}+"[Q2_][BX_]wait[Q2_];"+"*; Save/Gets (.SGT) file[cr|lf]
"{>}{<}GT01{>}{<}EI{>};*;[cr|lf]{<}SX01,{<}VA$SD{>}{>}{<}SX01
,";*"+";[cr|lf][BX_]dsort "+{<}IS01{>}+"[Q2_];"+"*; DIRectory
Sort order[cr|lf]"{>}{<}GT01{>}{<}SX01,";*"+";[cr|lf];*"+";{032}
Default paths[cr|lf]"{>}{<}GT01{>}{<}SX01,"[BX_]d dr={<}PV01{
{062}}\[Q2_];"+"*; Directory for TeMP files[cr|lf][BX_]d AOP={<}P
V01{>}\[Q2_];"+"*; Autosave path[cr|lf]"{>}{<}GT01{>};*;[cr|l
f]{<}SX01,{<}VAAOT{>}{>}{<}SX01,"[BX_]d AOT="+{<}IS01{>}+"[Q2
_];"+"*; Autosave time settings[cr|lf]"{>}{<}GT01{>};*;[cr|lf
]{<}SX01,"[BX_]d GP={<}PV01{>}\[Q2_];"+"*; Graphics path[cr|l
f][BX_]d NL={<}PV01{>}\[Q2_];"+"*; Network log files[cr|lf][B
X_]exist {<}PV01{>}\BTFONTS\*.*[Q2_]{<}IF@not({<}ER{>}){>}[BX
_]d OL={<}PV01{>}\BTFONTS\[Q2_];"+"*; Outline screen fonts[cr
|lf][BX_]d XY={<}PV01{>}\BTFONTS\[Q2_]{<}EI{>};"+"*; Location
of SCRFONTS.BIN[cr|lf][BX_]d ZM=100[Q2_];*"+"; Zoom setting{032}
for graphical view[cr|lf][BX_]exist {<}PV01{>}\FILTERS\*.*[Q2
_]{<}IF@not({<}ER{>}){>}[BX_]d WW={<}PV01{>}\FILTERS\[Q2_]{<}
EI{>};"+"*; Conversion filters[cr|lf];"+"*;[cr|lf];"+"*; Path
s Used by XY4 Menu|DiaLoG files[cr|lf][BX_]d/nv SG1900={<}PV0
1{>}\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 with PP: table)[
cr|lf]"{>}{<}GT01{>};*;[cr|lf];*; Construct PP: table for PP.
PRN[cr|lf][AS_][BX_]se [wC]PP:[Q2_]{<}IF{<}ER{>}{>}{<}SV01,P
P:1[cr|lf]1{tab}STANDARD.PRN{tab}Standard printer file[cr|lf]
;[cr|lf]{>}{<}GLg{>}{<}EI{>}{<}SX03,0{>}{<}SV01,{>}[YD_]{<}LB
f{>}[LD_][LB_][DF_][BX_]se/f [wC][Q2_]{<}IF{<}ER{>}{>}[LE_][
255+048+068][CL_]{<}EI{>}[DF_]{<}SV02{>}[YD_]{<}IF{<}IS02{>}{
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]"{>}{<}SX03,{<}P
V03{>}+1{>}{<}EI{>}{<}GLf{>}{<}EI{>}{<}SX01,"PP:"+{<}IS03{>}+
"[cr|lf]"+{<}IS01{>}+";[cr|lf]"{>}{<}LBg{>}{<}SX01,"[BX_]exis
t PP.PRN[Q2_]{<}IF@not({<}ER{>}){>}[BX_]ernv PP.PRN[Q2_][BX_]
wait[Q2_]{<}EI{>};*"+";[cr|lf];*"+";[cr|lf];"+"*; To add/chan
ge printers, carefully modify the PP: table below[cr|lf];"+"*
; Header format:[cr|lf];"+"*; PP:# [where ""#"" is number of{032}
lines in table][cr|lf];"+"*; Line format:[cr|lf];"+"*; printi
ng_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_]w
ait[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,E
rror writing PORTABL1.INT{>}{<}LBh{>}{<}SX01,{<}IS01{>}+" (Re
lax, no file has been modified)"{>}{<}PR@01{>}{<}EX{>}{<}EI{>
}[BX_]wait[Q2_]{<}IF{<}VA$WS{>}<1{>}[BX_]rs[Q2_]{<}EI{>};*;[c
r|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{>}[B
X_]st/nv {<}PV14{>}\PORTABL1.DFL[Q2_]{<}IF{<}ER{>}{>}[TF_]{<}
SV01,Error writing PORTABL1.DFL{>}{<}GLh{>}{<}EI{>}[BX_]wait[
Q2_];*;[cr|lf];*; Generate report:[cr|lf]{<}SX14,{<}VA$ET{>}{
{062}}{<}SX14,{<}VA@14:3{>}{>}{<}SX14,{<}PV14{>}{>}{<}SX01,{<}VA$
WA{>}{>}[BX_]func #{<}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_][D
F_][DN_]{<}EI{>}[TF_][DF_][BF_][DF_]{<}SV04{>}[BX_]ab/nv[Q2_]
{<}IF{<}VA$WS{>}<1{>}[BX_]rs[Q2_]{<}EI{>}{<}SX01,{<}VA$WA{>}{
{062}}[BX_]func #{<}PV01{>}[Q2_][BX_]ne/1[Q2_]{<}SX10,{<}IS06{>}{
{062}}{<}GT08{>}{<}SX02,{<}IS13{>}{>}{<}SX10,{<}IS07{>}{>}{<}GT08
{>}{<}SX03,{<}IS13{>}{>}{<}SX01,"{<}MDUL{>}PORTABLE.PM has cr
eated:{<}MDNM{>}[cr|lf]PORTABL1.{<}MDIT{>}INT{<}MDNM{>} (repl
acement for "+{<}IS02{>}+") and[cr|lf]PORTABL1.{<}MDIT{>}DFL{
<}MDNM{>} (replacement for "+{<}IS03{>}+")[cr|lf] in "+{<}IS
10{>}+", as follows:[cr|lf][cr|lf]"+{<}IS04{>}+"[cr|lf]{<}MDI
T{>}No existing files were modified.{<}MDNM{>}[cr|lf][cr|lf]{
<}MDUL{>}To ""go portable"":{<}MDNM{>}[cr|lf]{<}MDBO{>}Make s
ure that you have good BACKUPS of your original "+{<}IS02{>}+
" and "+{<}IS03{>}+"!{<}MDNM{>} (The first time you run PORTA
BLE.PM, these files are automatically backed up to START_BK.I
NT and SETTI_BK.DFL.)[cr|lf]{<}MDIT{>}Then:{<}MDNM{>}[cr|lf]C
opy PORTABL1.{<}MDIT{>}INT{<}MDNM{>} to "+{<}IS02{>}+" (overw
riting the existing file);[cr|lf]Copy PORTABL1.{<}MDIT{>}DFL{
<}MDNM{>} to "+{<}IS03{>}+" (overwriting the existing file);{032}
and[cr|lf]Quit and restart XyWrite.[cr|lf]"{>}{<}GT01{>}[TF_]
{<}
SX01,"In all of "+{<}IS14{>}+" seconds..."{>}{<}PR@01{>}{<}EX
{>}[cr|lf]{<}EI{>}{<}EI{>}{<}PRTwo (2) available windows requ
ired{>}{<}EX{>}[cr|lf]{<}EI{>}{<}PRUnexpected: Missing or ina
ctive STARTUP|SETTINGS file - No operation{>}{<}EX{>}[cr|lf]{
<}EI{>}{<}PRXyWrite v4 for DOS only{>}{<}EX{>}[cr|lf]
-nd
XPLeNCODE
--
Carl Distefano
cld@xxxxxxxx