home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 9 Archive
/
09-Archive.zip
/
wpicreat.zip
/
oskwisc.zip
/
oskwisc.cmd
< prev
next >
Wrap
OS/2 REXX Batch file
|
1999-12-17
|
9KB
|
409 lines
/* OSK WarpIN Script Creater */
language = value(oskwisc,,os2environment)
parse source . . pathname
rc = directory(filespec(D, pathname)filespec(P, pathname)".")
signal on error name startRX
RXVERS
signal off error
call RxFuncAdd "SysLoadFuncs", "RexxUtil", "SysLoadFuncs"
call SysLoadFuncs
call loadLanguage(language)
n = initDialog()
rxdlg n '"'language.title'"' "WINDOWSIZE" "NOCLOSE"
call enabletime
do forever
rxdlg
if rxid = -98 then exit /* Close Icon */
if rxid = -99 then exit /* Exit by caller */
if rxid = 1 then do /* buttons */
if rxval.1 = 2 then do
call save
exit
end
else if safetyQuestion() = 0 then exit
end
if rxid = 4 then /* menu */
select
when rxsubid = 2 then call clear
when rxsubid = 3 then call open
when rxsubid = 4 then call save
when rxsubid = 5 then call saveAs
when rxsubid = 6 then if safetyQuestion() = 0 then exit
when rxsubid = 7 then do
call save
exit
end
end
if rxid = 0 then call updateHelp
end
updateHelp:
rxactive
do counter=1 to 10
if symbol("language.help.rxid.rxsubid.counter") = var
then newline = language.help.rxid.rxsubid.counter
else newline = " "
rxset '"'language.title'"' 5 counter val newline
end
return
enabletime:
rxset '"'language.title'"' time 200
return
disabletime:
rxset '"'language.title'"' time 0
return
test:
test = 1
do n = 1 to 7
if values.n = '' then test = 0
end
return test
saveAs:
drop pattern
call save
return
getPattern:
arg operation
pattern = "*.osk"
call disabletime
rxfile operation "PATTERN" "|" value((language.)(filetitle)operation)
call enabletime
if pattern = "*.osk" then do
drop pattern
return 1
end
return 0
clear:
rxset '"'language.title'"' 2 2 val 1
do counter = 1 to 7
rxset '"'language.title'"' 3 counter val
end
return
open:
if safetyQuestion() <> 0 then return
call clear
if getPattern(load) > 0 then return
if translate(right(pattern,4))=.osk then pattern=left(pattern,length(pattern)-4)
filename = pattern".osk"
error = lines(filename)
do while lines(filename) = 1
line = linein(filename)
element = 0
key = word(line,1)
value = delword(line,1,1)
if key = "SHORTNAME:" then do
element = 3
subelement = 7
end
if key = "PACKAGENAME:" then do
element = 3
subelement = 6
end
if key = "LONGNAME:" then do
element = 3
subelement = 5
end
if key = "VERSION:" then do
element = 3
subelement = 4
end
if key = "SECTION:" then do
element = 3
subelement = 3
end
if key = "DIRECTORY:" then do
element = 3
subelement = 2
end
if key = "DESCRIPTION:" then do
element = 3
subelement = 1
end
if key = "TYPE:" then do
element = 2
if value = "KONSOLE" then do
subelement = 1
end
else subelement = 2
value = 1
end
if element > 0 then
rxset '"'language.title'"' element subelement val value
else error=0
end
call charout filename
if error = 0 then rxsay language.error1'|'32
return
save:
if symbol(pattern) = lit then if getPattern(save) > 0 then return
if translate(right(pattern,4))=.osk then pattern=left(pattern,length(pattern)-4)
filename = pattern".osk"
call SysFileDelete filename
if stream(filename,c,open) <> "READY:" then do
drop pattern
rxsay language.error2'|'64
return
end
if rxval.2 = 1 then type = konsole
if rxval.2 = 2 then type = pmwps
shortname = values.7
packagename = values.6
longname = values.5
version = values.4
section = values.3
directory = values.2
description = values.1
call lineout filename,"SHORTNAME: "shortname
call lineout filename,"PACKAGENAME: "packagename
call lineout filename,"LONGNAME: "longname
call lineout filename,"VERSION: "version
call lineout filename,"SECTION: "section
call lineout filename,"DIRECTORY: "directory
call lineout filename,"DESCRIPTION: "description
call lineout filename,"TYPE: "type
call charout filename
filename = pattern".wis"
if shortname = "" then shortname = pattern
if packagename = "" then packagename = shortname
if longname = "" then longname = shortname
if version = "" then version = "1.0"
if section = "" then section = packagename
if directory = "" then directory = shortname
if description = "" then description = packagename
call SysFileDelete filename
call lineout filename, "<WARPIN>"
call lineout filename, ""
call lineout filename, "<HEAD>"
call lineout filename, ""
call lineout filename, "<PCK INDEX=1"
parse var version maior'.'minor
call lineout filename,,
' PACKAGEID="OSK\'shortname'\'packagename'\'maior'\'minor'"'
call charout filename, ' TARGET="$(OSK_DRIVE):$(OSK_'
if type = pmwps
then call charout filename, "PM"
else call charout filename, "TXT"
call lineout filename, 'PATH)\'section'\'directory'"'
call lineout filename, ' TITLE="'longname'"'
call lineout filename, ""
call lineout filename, " SELECT NODESELECT"
call lineout filename,,
" > This package contains "description".</pck>"
call lineout filename, "</HEAD>"
call lineout filename, ""
call lineout filename, "<BODY>"
call lineout filename, "<PAGE INDEX=1 TYPE=CONTAINER>"
call lineout filename, "<NEXTBUTTON TARGET=2>~Next</NEXTBUTTON>"
call lineout filename, "<TEXT>"
call lineout filename, "Want to change the path?"
call lineout filename, "</TEXT>"
call lineout filename, "</PAGE>"
call lineout filename, "<PAGE INDEX=2 TYPE=CONFIGURE>"
call lineout filename, "<NEXTBUTTON TARGET=0>~Install</NEXTBUTTON>"
call lineout filename, "<TEXT>"
call lineout filename, "Press install to start"
call lineout filename, "</TEXT>"
call lineout filename, "</PAGE>"
call lineout filename, "</BODY>"
call lineout filename, "</WARPIN>"
call charout filename
return
initDialog:
n = 1
rxtype.n = result
rxval.n = ' '
rxflags.n = end
rxlabel.n = ' '
rxinfo.n = 1 2
rxx.n = 120
rxy.n = 30
n = 2
rxtype.n = radio
rxval.n = 2
rxflags.n = ' '
rxlabel.n = language.type
rxinfo.n = 2 1 150
rxx.n = 105
rxy.n = 80
n = 3
rxtype.n = entry
rxval.n = values
values. = ' '
rxflags.n = end
rxlabel.n = (language.description)d2c(255)"|"d2c(255)
rxlabel.n = (rxlabel.n)(language.directory)(d2c(255))"|"d2c(255)
rxlabel.n = (rxlabel.n)(language.section)(d2c(255))"|"d2c(255)
rxlabel.n = (rxlabel.n)(language.version)(d2c(255))"|"d2c(255)
rxlabel.n = (rxlabel.n)(language.longname)(d2c(255))"|"d2c(255)
rxlabel.n = (rxlabel.n)(language.package)(d2c(255))"|"d2c(255)
rxlabel.n = (rxlabel.n)(language.shortname)(d2c(255))
rxinfo.n = 7 1 150
rxx.n = 180
rxy.n = 180
n = 4
rxtype.n = menu
rxflags.n = ' '
rxinfo.n = 1 file
file.0 = language.file
file.1 = language.new
file.2 = language.load
file.3 = language.save
file.4 = language.saveas
file.5 = language.abort
file.6 = language.saveandexit
file.7 = " "
n = 5
rxtype.n = text
rxflags.n = ' '
rxlabel.n = ' '
rxinfo.n = 10 1 200
rxx.n = 360
rxy.n = 180
windowsize = 600 400 300 250
return n
loadLanguage:
arg lang
languagefile = lang".lng"
if stream(languagefile,c,query exists) = "" then languagefile = english.lng
language.title = linein(languagefile)
language.filetitleload = linein(languagefile)
language.filetitlesave = linein(languagefile)
language.shortname = linein(languagefile)
language.package = linein(languagefile)
language.longname = linein(languagefile)
language.version = linein(languagefile)
language.section = linein(languagefile)
language.directory = linein(languagefile)
language.description = linein(languagefile)
language.type = linein(languagefile)
language.file = linein(languagefile)
language.new = linein(languagefile)
language.load = linein(languagefile)
language.save = linein(languagefile)
language.saveas = linein(languagefile)
language.abort = linein(languagefile)
language.saveandexit = linein(languagefile)
language.question1 = linein(languagefile)
language.error1 = linein(languagefile)
language.error2 = linein(languagefile)
call readHelp 2,6
call readHelp 2,5
call readHelp 2,4
call readHelp 2,3
call readHelp 2,2
call readHelp 2,1
call readHelp 2,0
call readHelp 1,1
call readHelp 1,0
call charout languagefile
return
readHelp:
arg forrxid, forrxsubid
line = linein(languagefile)
do counter=1 to 10 until line = eop
language.help.forrxid.forrxsubid.counter = line
line = linein(languagefile)
end
return
safetyQuestion:
if values.7 = "" then return 0
rxsay language.question1'|'21
rcsQ = rc
if rcsQ = 6 then call save
if rcsQ = 2 then return 1
return 0
startRX:
parse arg languageOverride
if languageOverride <> "" then oldenv = value(oskwisc,languageOverride,os2environment)
'@rx.exe' '"'pathname'"'
rc = value(oskwisc,oldenv,os2environment)
exit