home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 13
/
AACD13.ISO
/
AACD
/
System
/
EASys
/
EASys!_update_47x_to_481
/
EASys!
/
Prefs
/
EasyPattern.rexx
next >
Wrap
OS/2 REXX Batch file
|
2000-06-06
|
6KB
|
260 lines
/*
EASys!) ©EasySystem since 1995
EasyPattern
Point and Klick WBpattern including virtual EasySave directory.
Date: 05/99
Author: Thomas Neidhardt (TNE), Deutschland, Erlangen
InterNet: thomas.neidhardt@fen-net.de
Needs: RexxReqTools Package by Rafael D'Halleweyn ( rdhall@rug.ac.be )
and the EASys! Configuration Environment.
WBPatWrite from Oliver B. Warzecha in EASys!_bin:
Thanks, Oliver for this nice utility!
Referenced by: ${RefTable/?}
with Options:
*/
PARSE ARG UserArgs
CALL Init
/* Preset UserArgs if not done yet */
IF UserArgs='USERARGS' THEN UserArgs=''
storagePath='SYS:Prefs/Presets/EasyPattern/'
dropmain='ENV:EasyPattern/'
CALL SetClip('EasyPattern',0)
IF GetClip('EasyPattern')=1 THEN CALL ExitMe(5)
ELSE CALL SetClip('EasyPattern',1)
/* select new patternfile source */
SELECT
WHEN '-wbpat'=UserArgs THEN
DO
droppath='AS_WBpattern:'
picfile='wbpat_pic'
END
WHEN '-winpat'=UserArgs THEN
DO
droppath='AS_WinPattern:'
picfile='winpat_pic'
END
WHEN '-screenpat'=UserArgs THEN
DO
droppath='AS_ScreenPattern:'
picfile='screenpat_pic'
END
WHEN POS('-wbpat',UserArgs)>0 THEN
DO
droppath=0
srcfile=STRIP(RIGHT(UserArgs,LENGTH(UserArgs)-7),'B','"')
END
WHEN POS('-winpat',UserArgs)>0 THEN
DO
droppath=0
srcfile=STRIP(RIGHT(UserArgs,LENGTH(UserArgs)-8),'B','"')
END
WHEN POS('-screenpat',UserArgs)>0 THEN
DO
droppath=0
srcfile=STRIP(RIGHT(UserArgs,LENGTH(UserArgs)-11),'B','"')
END
OTHERWISE CALL ExitMe(5)
END /* SELECT */
IF ~(droppath=0) THEN
DO
srcfile=dropmain''picfile
ADDRESS COMMAND
'delete >NIL: 'droppath'#?.info FORCE QUIET'
'list >T:EasyPatternRename FILES 'droppath'#? LFORMAT "failat 30*nrename 'droppath'%n 'srcfile'"'
'execute T:EasyPatternRename'
'delete >NIL: T:EasyPatternRename QUIET'
END
CALL GetCurrentPatterns
CALL SetPattern(srcfile)
CALL DELAY(80)
/* Request, if these settings are ok */
r=rtezrequest("WBpattern ok ?",' _Save | _Use | _Last saved',AppName,PosTags)
SELECT
WHEN r=2 THEN NOP
WHEN r=1 THEN
DO
/* Settings are ok, remove backups and save the new prefs */
IF ~(droppath=0) THEN
DO /* if a file was dropped in only */
ADDRESS COMMAND
'delete >NIL: 'storagePath''picfile' QUIET'
'copy 'dropmain''picfile' 'storagePath' CLONE QUIET'
CALL SetPattern(storagePath''picfile)
END
CALL DELAY(80)
ADDRESS COMMAND
'delete >NIL: 'dropmain''picfile' QUIET'
'copy ENV:Sys/WBpattern.prefs ENVARC:Sys CLONE QUIET'
END
OTHERWISE
DO
/* Settings are not ok, revert old backups and old prefs */
ADDRESS COMMAND 'copy ENVARC:Sys/WBpattern.prefs ENV:Sys CLONE QUIET'
CALL DELAY(80)
ADDRESS COMMAND 'delete >NIL: 'dropmain'#?_pic QUIET'
END
END /* SELECT */
CALL ExitMe(0)
/* --------------- */
SetPattern:
PARSE ARG picture
/* insert new name of srcfile in WBpattern.prefs */
SELECT
WHEN POS('-wbpat',UserArgs)>0 THEN ADDRESS COMMAND 'EASys!_bin:WBPatWrite WBPIC "'picture'" WINPIC "'winpat'" SCREENPIC "'screenpat'" CHECK SYS'
WHEN POS('-winpat',UserArgs)>0 THEN ADDRESS COMMAND 'EASys!_bin:WBPatWrite WBPIC "'wbpat'" WINPIC "'picture'" SCREENPIC "'screenpat'" CHECK SYS'
WHEN POS('-screenpat',UserArgs)>0 THEN ADDRESS COMMAND 'EASys!_bin:WBPatWrite WBPIC "'wbpat'" WINPIC "'winpat'" SCREENPIC "'picture'" CHECK SYS'
OTHERWISE CALL ExitMe(5)
END /* SELECT */
RETURN
/* --------------- */
GetCurrentPatterns:
IF ~OPEN(ftmp,'ENV:Sys/WBpattern.prefs','R') THEN CALL ExitMe(0)
wbpat=''
winpat=''
screenpat=''
wbpat=GetPattern()
winpat=GetPattern()
screenpat=GetPattern()
CALL CLOSE(ftmp)
RETURN
/* ---------------------- */
GetPattern:
DO i=5 TO 200
z.i=READCH(ftmp)
a=i-4
b=i-3
c=i-2
d=i-1
IF z.a''z.b''z.c''z.d''='PTRN' THEN LEAVE
END
DO i=1 TO 27
r=READCH(ftmp)
END
n=c2d(r)
pat=''
DO i=1 TO 400
a=READCH(ftmp)
IF EOF(ftmp) | a='00'x | a='0a'x THEN LEAVE
pat=pat''a
IF i=n & EXISTS(pat) THEN RETURN pat
END
RETURN pat
/* ---------------------- */
MyGetENV: PROCEDURE
PARSE ARG name
TheFile='ENV:'name
IF (open(TEMPFILE, TheFile,'read')) THEN
DO
ENVvalue=READLN(TEMPFILE)
Result=Close(TEMPFILE)
END
ELSE
ENVvalue="NOVALUE"
RETURN ENVvalue
/* ---------------------- */
Init:
OPTIONS RESULTS
OPTIONS FAILAT 30
CR='0a'x
AppName='EasyPattern ©EasySystem'
Language=GetClip('Language')
IF ~EXISTS('EASys!_rexx:'Language'/FileManager.1') THEN Language='english'
ProcessNumber=PRAGMA('ID')
MaxTitleChars=MyGetENV("RefTable/GUI-ShellTitleChars")
ConsoleType=MyGetENV('RefTable/GUI-ConsoleType')
IF ConsoleType='' THEN ConsoleType="CON:"
ConsoleSize=MyGetENV('SHELLsize')
IF ConsoleSize='' THEN ConsoleSize="40/50/600/200"
ReqLE=MyGetENV('RefTable/GUI-ReqLE') /* Main Window */
ReqTE=MyGetENV('RefTable/GUI-ReqTE')
ReqHeight=MyGetENV("RefTable/GUI-ReqHeight")
ConW=520
ConH=210
BarWinW=250
BarWinL=ReqLE+ConW-BarWinW
BarWinT=ReqTE
PosTags="rt_reqpos=reqpos_topleftscr rt_leftoffset=" ReqLE " rt_topoffset=" ReqTE
EZtags=PosTags
GLtags=PosTags' rtgl_min=0 rtgl_max=1500 rtgl_backfill=true '
GStags=PosTags' rtgs_backfill=false rtgs_width=300'
POINTER_TAGS='rt_reqpos=reqpos_pointer'
DIR_TAGS=PosTags' rtfi_flags=freqf_nofiles|freqf_save rtfi_height='ReqHeight
FILE_TAGS=PosTags' rtfi_flags=freqf_multiselect|freqf_selectdirs rtfi_height='ReqHeight
ONEFILE_TAG=PosTags' rtfi_height='ReqHeight
Console='>"'ConsoleType''ConsoleSize'/'AppName' Messages.../AUTO/NOClose/ALT'ReqLE'/'ReqTE'/ConW/ConH"'
ConStat=0
/* OS 3.5 WB Port */
IF SHOW('P','WORKBENCH') THEN WB_port=1
RETURN
/* ---------------- */
ExitMe:
PARSE ARG ExitVal
CALL SetClip('EasyPattern',0)
IF ~(ExitVal=0) THEN
EXIT ExitVal
ELSE
EXIT 0