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