
Mass change of all Warp 3 URL's to Warp 4 URLs
Quote:
>Is there a way to do a mass change of all of the Warp 3 URL objects
>(class WebExplorer_URL) to Warp 4 URL objects (class WPUrl)? I can
>change them individually via their notebook settings, but I have way too
>many to do manually. I thought that Unimaint could do this, but it
>cannot (their tech support confirmed this).
>Any ideas? Can someone write up a short REXX cmd to do this so I can
>select all of the URL objects and drop them on the REXX cmd program
>object?
I don't have a REXX program that specifically does this, but I do have one
that creates URL objects for Warp V4 from the WebExplorer quicklist. I
have another version that creates them from a NetScape for OS/2 bookmark
file.
The following REXX program takes entries from the quicklist and puts them
into a folder:
/* Parse explore.ini and add objects to folder */
/* Written by Bill Parrill */
/* Updated for OS/2 Warp V4 */
Env = 'OS2ENVIRONMENT'
parse arg IniFile
if RxFuncQuery('SysCreateObject') then
call RxFuncAdd 'SysCreateObject', 'RexxUtil', 'SysCreateObject'
/* Set default INI file */
if IniFile = '' then IniFile = VALUE('ETC',,Env)||'\EXPLORE.INI'
/* Make sure INI file exists */
if STREAM(IniFile, 'C', 'QUERY EXISTS') = '' then DO
say ''
say IniFile' was not found!'
EXIT 1
END
/* Parse file until quicklist entries found */
do until (POS('[quicklist]', Line) \= 0) | \LINES(IniFile)
Line = LINEIN(IniFile)
end /* do */
say 'Parsing 'IniFile
/* Now the current line should be set to the top */
/* of the quicklist entries, but check first! */
if Line \= '[quicklist]' then DO
say ''
say 'It looks like there were no quicklist entries in 'IniFile
EXIT 2
end /* Do */
/* Read the rest of the file either to the end or to the next */
/* parameter block */
Num = 0 /* Number of quicklist entries */
do until \LINES(IniFile) | (POS('[', Line) \= 1)
Num = Num + 1
PARSE VALUE LINEIN(IniFile) WITH 'quicklist= ' QuickList.Num.Desc
if QuickList.Num.Desc = '' then Num = Num - 1
else QuickList.Num.Command = LINEIN(IniFile)
end /* do */
CALL STREAM IniFile, 'C', 'CLOSE'
/* Create a folder and add objects */
ClassName = 'WPFolder'
Title = 'QuickList Entries'
Location = '<WP_DESKTOP>'
Setup = 'OBJECTID=<FS_QUICKLST>;SHOWALLINTREEVIEW=YES;OPEN=TREE;'
call SysCreateObject ClassName, Title, Location, Setup, 'U'
ClassName = 'WPUrl' /* All these will be programs */
Location = '<FS_QUICKLST>' /* in the folder we just made */
do I = 1 to Num
say 'Command: 'QuickList.I.Command
say 'Description: 'QuickList.I.Desc
rc = SysCreateObject(ClassName, QuickList.I.Desc, Location, 'URL='QuickList.I.Command';', 'R')
say 'Added 'QuickList.I.Desc' ('rc')'
end /* do */
EXIT
Hope this helps. If anyone is interested in the version that converts the
Netscape entries, let me know...
Bill Parrill