Più volte abbiamo detto che la WPS (Workplace Shell) di OS/2 non è una semplice interfaccia grafica, ma un'interfaccia ad oggetti. Attraverso il menu contestuale, gli oggetti della cartella Maschere e il blocco delle impostazioni degli oggetti stessi, possiamo interagire con le proprietà degli oggetti o creare nuovi oggetti. Ci sono però alcuni casi in cui è necessario cambiare impostazioni normalmente non accessibili o in cui si può avere l'esigenza di cambiare le impostazioni di una serie di oggetti o di crearne nuovi automatizzando l'operazione tramite un file batch. In questi casi ci viene in soccorso il REXX con le sua libreria di estensioni REXXUTIL.DLL.
Diverse sono le funzioni che ci permettono di interagire con gli oggetti della WorkPlace Shell:
In questo articolo esamineremo in particolare la sintassi di SysCreateObject() relativa alla creazione di Cartelle e oggetti Programma. Vedremo poi come utilizzare i parametri relativi al SETUP dell'oggetto creato con la funzione SysSetObjectData() mentre rimandiamo ai prossimi numeri la trattazione relativa agli altri oggetti, alle altre funzioni e al file \OS2\INI.RC da cui si possono ricavare informazioni preziose riguardo alle impostazioni degli oggetti creati durante l'installazione del sistema.
Perchè sia possibile usare una qualsiasi delle funzioni precedentemente menzionate è necessario caricare in memoria le funzioni stesse.
La sintassi riportata nella documentazione in linea è:
call RxFuncAdd "nomeFunzione", "RexxUtil", "nomeFunzione"per caricare una particolare funzione è:
call RxFuncAdd "SysLoadFuncs", "RexxUtil", "SysLoadFuncs" call SysLoadFuncsper caricare tutte le funzioni presenti nella DLL.
Considerando che, una volta caricate, le funzioni sono accessibili per tutte i processi, data l'efficiente gestione della memoria da parte del sistema, nella maggior parte dei casi conviene creare uno script REXX che carichi solo le REXXUTIL, inserendone una copia collegata nella cartella di Avviamento.
Nel caso la memoria a disposizione sia limitata conviene caricare le funzioni volta per volta inserendo nello scipt, prima della chiamata di qualsiasi funzione RexxUtil:
if RxFuncQuery('SysLoadFuncs') then do
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs
end
Nello stesso caso, per risparmiare al massimo sull'impiego della memoria si potrebbe aggiungere alla fine dei propri script:
call SysDropFuncsper liberare la memoria del sistema dalle funzioni RexxUtil.
La sintassi è:
result = SysCreateObject(classname, title, location, [setup], [option])dove i parametri racchiusi tra "[]" possono essere omessi.
Il valore restituito dalla funzione, result è uguale a 1 nel caso l'oggetto venga creato, 0 nel caso contrario.
L'ultimo parametro, option, indica l'azione da intrapredere se l'oggetto che si vuole creare esiste già. I valori possibili sono:
Prima di esaminare gli altri parametri è opportuno chiarire il concetto di classe.
Gli oggetti della Workplace Shell, le icone con cui l'utente interagisce, sono istanze delle varie classi della Workplace Shell.
Le classi della Workplace Shell sono oggetti System Object Model (SOM) discendenti dalla classe base WPObject da cui derivano le tre classi principali:
SOMObject
+---SOMClass
+---SOMClassMgr
| --WPClassManager
+---WPObject
+-----WPAbstract
| +-- WPClock
| +-- WPCountry
| +-- WPDisk
| +-- WPLaunchPad
| +-- WPKeyboard
| +-- WPMouse
| +-- WPPalette
| | +-- WPColorPalette
| | +-- WPFontPalette
| | --- WPSchemePalette
| +-- WPPower
| +-- WPPrinter
| | --- WPRPrinter
| +-- WPProgram
| +-- WPShadow
| | --- WPNetLink
| +-- WPShredder
| +-- WPSound
| +-- WPSpecialNeeds
| +-- WPSpool
| +-- WPSystem
| --- WPWinConfig
+-- WPFileSystem
| +-- WPDataFile
| | +-- WPHtml
| | +-- WPIcon
| | +-- WPImageFile
| | | --- WPBitmap
| | +-- WPMet
| | +-- WPPif
| | +-- WPPointer
| | +-- WPProgramFile
| | | --- WPCommandFile
| | --- WPUrl
| +-- WPFolder
| +-- WPDesktop
| +-- WPDrives
| +-- WPHost
| +-- WPHwManager
| +-- WPMinWinViewer
| +-- WPNetgrp
| +-- WPNetwork
| +-- WPRootFolder
| +-- WPServer
| +-- WPSharedDir
| +-- WPStartup
| +-- WPTemplates
| --- WPUrlFolder
+-- WPTransient
+-- WPJob
+-- WPDevice
| +-- WPDevAudio
| +-- WPDevBus
| +-- WPDevCDRom
| +-- WPDevCPU
| +-- WPDevDiskette
| +-- WPDevDisplay
| +-- WPDevHarddrive
| +-- WPDevKeyboard
| +-- WPDevMemory
| +-- WPDevMouse
| +-- WPDevParallel
| +-- WPDevPeriph
| +-- WPDevSerial
| +-- WPDevTape
| --- WPDevTimer
+-- WPPort
+-- WPPdr
--- WPQdr
Il parametro classname in SysCreateObject()
Nella funzione SysCreateObject() il parametro classname rappresenta il nome della classe dell'oggetto. La classe identifica il tipo di oggetto. Una cartella (in inglese folder) è un oggetto di classe WPFolder, mentre un programma è un oggetto di classe WPProgram o di classe WPProgramFile per quanto riguarda il file fisico.
Oltre alle classi create durante l'installazione del sistema operativo, qualsiasi programma puo' installare nuove classi di oggetti. Ancora una volta il REXX ci viene in soccorso con la funzione SysQueryClassList() che permette di avere un elenco completo delle classi installate nel sistema:
/* CLASSIDX.CMD * (c) 1996 Alessandro Cantatore * Team OS/2 Italy */
/* carica le funzioni di utilità se non sono già in memoria */
if RxFuncQuery('SysLoadFuncs') then do
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs
end
say " Lista delle classi installate:"
say " Num: Classe: DLL:"
rc = SysQueryClassList("class.")
do i = 1 to class.0
say " "left(i, 5)""left(subword(class.i, 1, 1), 20)" "subword(class.i, 2)
end
exit
Creato il file CLASSIDX.CMD sarà sufficiente avviarlo per ottenere una lista delle classi installate. Dal momento che la qunatità di classi installate è spesso maggiore di quanto pensiamo può essere utile ridirezionare l'uscita del comando verso MORE o verso un file digitando in una sessione comandi OS/2:
CLASSIDX | MOREoppure
CLASSIDX > Classi.Txtper ottenere nel file Classi.Txt una lista completa delle classi installate.
Questo parametro rappresenta semplicemente il nome relativo all'icona dell'oggetto, come viene visualizzato sullo schermo e che in alcuni casi, come quando si rinomina un oggetto tramite la riga di comando, può essere differente dal nome del file fisico. Caratteri non validi per il nome del file sono invece validi per il nome di un oggetto, che può, per esempio contenere caratteri come "\" o "/" o caratteri di "a capo".
Per includere il carattere di "a capo" nel titolo di un oggetto si deve usare la coppia di caratteri esadecimali 0d0a come segue:
Title = "Nome di un" || "0d0a"x || "oggetto spezzato" || "0d0a"x || "su più righe"Per comodità conviene dichiarare una variabile che raggruppi i due caratteri di "a capo". L'esempio seguente è perfettamente equivalente al precedente:
newline = "0d0a"x Title = "Nome di un"newline"oggetto spezzato"newline"su più righe"
Questa indica la posizione in cui si vuole che l'oggetto sia creato. Il modo più semplice per rappresentarla è tramite il percorso completo della directory desiderata:
"C:\SCRIVANIA\PROGRAMMI"Nel caso si voglia creare uno script da utilizzare su più sistemi, può essere utile usare l'ID dell'oggetto che per gli oggetti predefiniti è quasi sempre la stessa in tutte le versioni di OS/2.
/* ListObj.cmd lista le ID degli oggetti installati nella WPS */
/* (c) 1996 * Alessadro Cantatore * Team OS/2 Italy */
arg option
if RxFuncQuery("SysLoadFuncs") then do
call RxFuncAdd "SysLoadFuncs", "RexxUtil", "SysLoadFuncs"
call SysLoadFuncs
end
parse value SysTextScreenSize() with row .
call SysCls
if SysIni("USER", "PM_Workplace:Location", "ALL:", "objId.") \= "ERROR:" then
do i = 1 to objId.0
say objId.i
if i//(row - 3) = 0 & option = P then do
say
say " Premere un tasto qualsiasi per continuare"
call SysGetKey("NOECHO")
call SysCls
end /* do */
end /* do */
else do
say
say " Impossibile accedere al file OS2.INI!"
end /* do */
exit
Digitando
LISTOBJ Pdalla riga di comando otterremo un elenco completo delle ID attualmente riconosciute dal sistema. Cos'altro possiamo fare con questi strani nomi? Per esempio possiamo aprire gli oggetti ad essi associati! Sempre usando il REXX ovviamente:
/* OPENOBJ.CMD * (c) 1996 - 1997 Alessandro Cantatore * Team OS/2 Italy */
/* Apre l'oggetto specificato come parametro o la directory corrente nel */
/* caso non si sia introdotto alcun parametro */
parse arg toBeOpened
if toBeOpened = '' then
toBeOpened = Directory()
if RxFuncQuery('SysLoadFuncs') then do
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs
end
/* cancella eventuali caratteri " iniziali e finali */
toBeOpened = strip(toBeOpened, "B", '"')
/* se l'ID dell'oggetto non comprende i caratteri < > li aggiunge */
if (left(toBeOpened, 1) \= "<" &,
substr(toBeOpened, 2, 1) \= ":") then
toBeOpened = "<"toBeOpened">"
if ( \ SysOpenObject(toBeOpened, 'DEFAULT', 'TRUE')) then do
call beep 880, 200
say " Impossibile aprire" toBeOpened
exit 2
end /* Do */
exit 0
Provate per esempio a vedere cosa succede digitando:
OPENOBJ WP_CLOCKoppure
OPENOBJ WP_KLDKCon OPENOBJ.CMD è possibile aprire un oggetto anche digitando il percorso completo del file corrispondente. Avviando OPENOBJ.CMD senza alcun parametro apriremo invece la directory corrente. Per quanto riguarda le ID degli oggetti, nel caso si voglia usare il nome completo (per esempio <WP_CLOCK>) è necessario includerlo tra virgolette per evitare che l'interprete dei comandi valuti "<" e ">" come ridirezionatori del input/output (per esempio OPENOBJ "<WP_CLOCK>").
Questo rappresenta il parametro più complesso in quanto dipendente anche dalla classe dell'oggetto.
E' sempre nel formato NOMECHIAVE=VALORE con il carattere ";" come separatore di più nomi chiave:
setup = "ALWAYSSORT=YES;BACKGROUND=C:\OS2\BITMAP\OS2LOGO.BMP,S,3,I;DEFAULTVIEW=ICON"I parametri impostabili di un oggetto includono, oltre alle proprietà proprie dell'oggetto stesso, anche quelle dell'oggetto da cui discendono. Le classi che trattiamo in questo articolo, WPFolder e WPProgram discendono entrambe da WPObject ereditando le proprietà di quest'ultimo.
Impostazioni degli oggetti della classe base WPObject
La classe WPObject è la classe base: da essa discendono tutte le altre classi che da essa ereditano l'insieme di parametri impostabili quì di seguito riportato. I nomi chiave o valori seguiti dal carattere '*' sono validi per la versione 4 e successive e possono esere validi per le versioni precedenti secondo il livelo raggiunto tramite fixpak.
Nome chiave Valore Descrizione
CCVIEW DEFAULT Concurrent View indica l'azione da eseguire
quando viene aperto un oggetto già aperto.
Il valore DEFAULT indica di seguire le
impostazioni generali del sistema.
YES Questo implica che viene aperta una nuova
finestra dell'oggetto per ogni azione di
apertura. Per esempio se una cartella viene
aperta più volte, o con un doppio click sulla
sua icona o selezionando aprire dal menu
contestuale, verranno aperte ogni volta nuove
finestre.
NO Questo implica che se c'è una finestra
dell'oggetto aperta in precedenza, questa viene
resa attiva e visualizzata sopra tutte le altre
finestre.
DEFAULTVIEW SETTINGS Imposta l'apertura del blocco impostazioni come
modalità di apertura di default.
id Un valore spefico della classe.
DEFAULT Il valore di default per la classe.
HELPLIBRARY filename Imposta la libreria di help.
HELPPANEL id Imposta la pagina di Help di default per l'Help
specifico dell'oggetto.
HIDEBUTTON Il valore di default è quanto specificato nei
settaggi globali del sistema.
YES Nella finestra viene visualizzato il pulsante
per nascondere invece di quello di
minimizzazione.
NO Viene visualizzato il pulsante di
minimizzazione.
ICONFILE filename Imposta l'icona dell'oggetto ricavandola da un
file icona.
ICONPOS x,y Imposta la posizione iniziale di un oggetto
nella cartella che lo contiene. x e y sono
coordinate percentuali della dimensione della
cartella.
ICONRESOURCE id,module Imposta l'icona dell'oggetto ricavandola da una
risorsa contenuta in una DLL.
LOCKEDINPLACE* YES Rende l'icona dell'oggetto fissa, cioè non
movibile, nell'ambito della cartella che la
contiene.
NO Questo è il valore di default.
MENUITEMSELECTED* menu-item-ID Simula la selezione della voce del menu
specificata dal menu contestuale dell'oggetto.
MENUS* SHORT Riduce il numero delle voci visualizzate nel
menu contestuale dell'oggetto.
DEFAULT Imposta il menu contestuale dell'oggetto in
modo da rendere visibili tutte le voci.
Questo è il valore di default.
MINWIN Il valore di default dipende dall'impostazione
globale del sistema.
HIDE La vista dell'oggetto viene nascosta quando
l'oggetto viene minimizzato.
VIEWER L'oggetto viene ridotto ad icona e visualizzato
nella Cartella delle finestre minimizzate.
DESKTOP L'oggetto viene ridotto ad icona e visualizzato
sulla Scrivania.
NOCOPY YES Imposta l'oggetto come non copiabile.
NO Questo è il valore di default.
NODELETE YES Rende l'oggetto incancellabile tramite la WPS.
(L'oggetto è sempre cancellabile da riga di
comando se è discende dalla classe
WPFileSystem.
NO L'oggetto è cancellabile. Questo è il valore di
default.
NODRAG YES Imposta l'oggetto in modo che non possa più
essere trascinato. A differenza di
LOCKEDINPLACE, precedentemente descritto,
l'oggetto non solo non può essere spostato
nell'ambito della sua stessa cartella, ma non
può essere spostato nemmeno in un'altra
cartella o su un altro oggetto.
NO Resetta la precedente impostazione. Questo è il
valore di default.
NODROP YES Imposta l'oggetto in modo che non accetti altri
oggetti rilasciati su esso dopo un'operazione
di trascinamento.
NO Resetta la precedente impostazione. Questo è il
valore di default.
NOLINK Questo nome chiave è perfettamente equivalente
NOSHADOW.
YES Imposta l'oggetto in modo che non sia possibile
crearne copie collegate (shadow).
NO Resetta la precedente impostazione. Questo è il
valore di default.
NOMOVE YES Imposta l'oggetto in modo che non sia possibile
spostarlo in un'altra directory. L'oggetto può
essere solo copiato. A differenza che con
LOCKEDINPLACE l'oggetto può essere spostato
nell'ambito della cartella che lo contiene.
NO Resetta la precedente impostazione. Questo è il
valore di default.
NOPRINT YES Imposta l'oggetto in modo che non sia possibile
stamparlo.
NO Resetta la precedente impostazione. Questo è il
valore di default.
NORENAME YES Imposta l'oggetto in modo che non sia possibile
rinominarlo.
NO Resetta la precedente impostazione. Questo è il
valore di default.
NOSETTINGS YES Imposta l'oggetto in modo che non sia possibile
aprire il suo blocco impostazioni.
NO Resetta la precedente impostazione. Questo è il
valore di default.
NOSHADOW I valori accettabili e l'effetto di questa
impostazione sono uguali a NOLINK.
NOTVISIBLE YES Questa impostazione rende l'oggetto non
visibile.
NO Resetta la precedente impostazione. Questo è il
valore di default.
OBJECTID <name> Imposta una identità permanente per l'oggetto.
L'identità dell'oggetto permane anche se esso
viene spostato o rinominato. L'identità deve
essere una stringa unica (non sono ammessi più
oggetti con la stessa identità) e deve essere
racchiusa tra i caratteri '<' e '>'.
Il valore di default è non avere identità.
OPEN Di default gli oggetti creati con
SysCreateObject() o modificati con
SysSetObjectData() non vengono aperti.
SETTINGS Apre il blocco delle impostazioni quando
l'oggetto viene creato o ne vengono modificate
le impostazioni tramite SysSetObjectData().
DEFAULT Apre la vista di default secondo la classe
dell'oggetto.
TEMPLATE YES Imposta l'oggetto come maschera (template).
NO Resetta la precedente impostazione. Questo è il
valore di default.
TITLE Title Imposta il titolo dell'oggetto.
Esempio:
setup = "TITLE=Pippo;ICONFILE=pippo.ico;HELPPANEL=132;TEMPLATE=YES;NODELETE=NO"
Impostazioni degli oggetti Cartella
Vediamo ora nei dettagli l'insieme dei nomi chiave e dei relativi valori validi per le cartelle.
I nomi chiave o valori seguiti dal carattere '*' sono validi per la versione 4 e successive e possono esere validi per le versioni precedenti secondo il livelo raggiunto tramite fixpak.
Nome chiave Valore Descrizione
ALWAYSSORT YES La cartella mantiene il suo contenuto
costantemente ordinato.
Ciò può provocare un leggero rallentamento
nelle operazioni di apertura, di
inserimento o rimozione di oggetti nella
cartella.
NO Il contenuto della cartella non viene
mantenuto ordinato.
Questo è il valore di default.
BACKGROUND N,M,S,B,C Questo imposta lo sfondo della cartella.
Le lettere N,M,S,B,C indicano:
N = Nome del file dell'immagine. Deve
essere qualificato dal percorso
completo del file di immagine.
Il file di immagine può essere solo
di tipo bitmap per le versioni di
warp precedenti la 4.0. Quest'ultima
versione accetta anche file in formato
gif e jpg.
M = Modalità di visualizzazione.
I valori validi sono:
N = immagine normale (Normal)
T = immagine affiancata (Tiled)
S = immagine in scala (Scaled)
S = fattore di riduzione dell'immagine
variabile da 1 a 20.
B = tipo di sfondo (Background).
I valori validi sono:
I = immagine
C = tinta unita
C = colore di sfondo espresso come
intensità dei 3 colori primari
(rosso, verde e blu) con numeri
variabili da 0 a 255.
Esempi:
BACKGROUND=C:\OS2\BITMAP\OS2LOGO.BMP,S,3,I
imposta C:\OS2\BITMAP\OS2LOGO.BMP come
immagine di sfondo, da rappresentare in
scala ridotta di 3 volte.
BACKGROUND=,,,C,0 128 128
imposta come sfondo una tinta unita i cui
colori primari rosso, verde e blu hanno
un'intensità rispettivamente di 0, 128 e
128.
DEFAULTSORT* index Indica il valore di default della voce
"Ordinare" del menu della cartella.
E' rappresentato da un numero che indica
l'ordine nella lista dei possibili valori.
Per esempio 0 indica ordinamento secondo
il Nome, 1 ordinamento secondo il Tipo,
2 ordinamento secondo il Nome reale, ecc.
Il valore di default è 0.
DEFAULTVIEW ICON Imposta la modalità di visualizzazione di
default ad icone.
TREE Imposta la modalità di visualizzazione ad
albero.
DETAILS Imposta la modalità di visualizzazione in
modo dettagli.
DETAILSCLASS classname Imposta la classe di oggetti di cui si
vogliono visualizzare i dettagli.
La classe di default è WPFileSystem.
DETAILSFONT fontname Specifica il tipo di font da usare nella
visualizzazione a dettagli.
Il valore di default è "8.Helv".
DETAILSSHADOWCOLOR* color Imposta il colore del testo di un oggetto
per la modalità di visualizzazione a
dettagli. Il valore del colore può essere
rappresentato da un numero variabile da
-2 a 15 per indicare i 16 colori primari
(-2 è il colore di background di default
e -1 è il nero) o dal valore dei tre
colori primari (vedere BACKGROUND).
DETAILSTEXTCOLOR* color Imposta il colore del testo di un oggetto
ordinario per la modalità di
visualizzazione a dettagli. Per il valore
vedere sopra.
DETAILSTODISPLAY* index[,...] Imposta il tipo di dettagli da
visualizzare per una determinata classe.
L'indice rappresenta, partendo dal
numero 0 l'ordine con cui i nomi dei
dettagli sono visualizzati nella pagina
relativa alla visualizzazione a dettagli
nel blocco delle impostazioni delle
cartelle.
Esempio:
DETAILSTODISPLAY=0,2,3
Visualizza solo l'icona, il nome reale
del file e la sua dimensione.
Il valore di default è la visualizzazione
di tutti i dettagli.
DETAILSVIEW NORMAL Indica che nella modalità di
visulizzazione a dettagli le icone hanno
dimensione normale.
MINI Indica di usare icone piccole.
Questo è il valore di default.
ICONFONT fontname Specifica il font da usare nella modalità
di visualizzazione a icone.
Per esempio: "10.Helv".
ICONNFILE index,filename Imposta il nome del file icona da usare
per l'icona della cartella aperta.
"index" deve sempre essere "1".
Esempio:
ICONNFILE=1,D:\ICONS\MYOPEN.ICO
ICONGRIDSIZE* Imposta la distanza tra le icone nella
modalità di visualizzazione allineate
secondo una griglia.
ICONFILE filename Imposta il nome del file da usare come
icona per la cartella chiusa.
ICONNRESOURCE index,id,modname Imposta come icona della cartella
aperta una risorsa contenuta in una DLL.
"index" deve essere 1, mentre id
l'identità dell'icona nella DLL.
"modname" è il nome della DLL senza
estensione.
Esempio:
ICONNRESOURCE=1,35,PMWP
ICONSHADOWCOLOR* color Imposta il colore del testo dell'icona
delle copie collegate nella modalità
di visualizzazione a icone.
(vedere DETAILSSHADOWCOLOR).
ICONTEXTBACKGROUNDCOLOR* color Imposta il colore di sfondo del testo
delle icone per tutte le modalità di
visualizzazione. Per i valori validi
vedere DETAILSSHADOWCOLOR.
ICONTEXTCOLOR* color Imposta il colore del testo degli oggetti
ordinari. Per i valori validi vedere
DETAILSSHADOWCOLOR.
ICONTEXTVISIBLE* YES Imposta la visibilità del testo delle
icone nella modalità di visualizzazione
ad icone.
Questo è il valore di default.
NO Rende il testo delle icone invisibile.
ICONVIEW s1[,s2,...sn] Imposta la modalità di visualizzazione
secondo particolari stili.
I valori validi sono:
GRIDDED* o NONGRID*
FLOWED o NONFLOWED
MINI, NORMAL o INVISIBLE
Il valore di default è NONGRID*,NORMAL
ICONVIEWPOS x,y,cx,cy Imposta la posizione iniziale della
cartella sullo schermo. I valori sono
in percentuale delle dimensioni dello
schermo.
L'origine è l'angolo in basso a sinistra
dello schermo.
"x" e "y" indicano la distanza dello
spigolo inferiore sinistro della cartella
dall'origine.
"cx" e "cy" indicano rispettivamente la
larghezza e l'altezza della cartella.
MENUBAR* YES In warp 4.0 imposta la visualizzazione del
menu contestuale della cartella sotto la
barra del titolo.
NO Disabilita il menu sotto la barra del
titolo della finestra della cartella.
OPEN ICON Apre la cartella nella modalità ad icone
quando viene creata con SysCreateObject()
o quando le impostazioni vengono cambiate
con SysSetObjectData().
TREE Come sopra, ma apre nella modalità ad
albero.
DETAILS Come sopra ma apre nella modalità di
visualizzazione a dettagli.
Il comportamento di default è di non aprire
la cartella quando viene creata o quando
vengono modificate le impostazioni.
REMOVEFONTS YES Ripristina il font di default.
NO Valore di default.
SHOWALLINTREEVIEW* YES Nella modalità di visualizzazione ad
albero, oltre che le subdirectory
vengono mostrati anche i file.
NO Valore di default.
SORTBYATTR* index[,...] Specifica un la lista delle voci da
visualizzare tramite il submenu ordinare
(vedere DETAILSTODISPLAY).
SORTCLASS classname Specifica il tipo di classe cui applicare
il criterio di ordinamento. Il valore di
default è WPFileSystem.
TREEFONT fontname Specifica il tipo di font da utilizzare
nella modalità di visualizzazione ad
albero.
TREESHADOWCOLOR* color Imposta il colore del testo delle copie
collegate nella modalità di
visualizzazione ad albero (vedere
DETAILSSHADOWCOLOR).
TREETEXTCOLOR* color Imposta il colore del testo degli oggetti
ordinari (vedere DETAILSSHADOWCOLOR).
TREETEXTVISIBLE* YES Rende visibile il testo delle icone nella
modalità di visualizzazione ad albero.
Questo è il valore di default.
NO Rende il testo delle icone invisibile.
TREEVIEW s1[,s2,...sn] Imposta la stile relativo alla modalità
di visualizzazione ad albero.
I valori validi sono:
LINES o NOLINES
INVISIBLE, MINI o NORMAL
Il valore di default è LINES,NORMAL.
WORKAREA YES Imposta la cartella come Area di lavoro
NO Questo è il valore di default.
Impostazioni dell'oggetto Programma
L'oggetto Programma fa riferimento ad un file eseguibile allo scopo di permetterne l'avvio tramite un doppio click sulla sua icona. Più oggetti, ognuno con diverse proprietà, possono riferirsi allo stesso eseguibile, in modo da avviarlo secondo le diverse modalità possibili.
Qui di seguito riportiamo l'insieme dei nomi chiave e valori applicabili all'oggetto programma.
I nomi chiave o valori seguiti dal carattere '*' sono validi per la versione 4 e successive e possono esere validi per le versioni precedenti secondo il livelo raggiunto tramite fixpak.
Nome chiave Valore Descrizione
ASSOCFILTER filters Imposta le specifiche dei file associati
con il programma. Valori multipli devono
essere separati con ','.
Esempio:
ASSOCFILTER=*.TXT,*.DOC,*.BAT,*.HTM;
ASSOCTYPE type Specifica il tipo di file associato con
il programma. Si possono specificare più
tipi separandone i valori con ',' come
nell'esempio precedente.
EXENAME filename Il nome del file eseguibile.
Esempio:
EXENAME=C:\OS2\PMCHKDSK.EXE
MAXIMIZED YES Indica che il programma deve essere
avviato massimizzandone la finestra.
NO Questo è il valore di default.
MINIMIZED YES Indica che il programma deve essere
avviato minimizzandone la finestra.
NO Questo è il valore di default.
PROGTYPE DOSMODE* Avvia il programma in un reale ambiente
DOS dopo aver ibernato il corrente
ambiente OS/2.
FULLSCREEN Il programma viene eseguito in una
sessione comandi OS/2 a schermo intero.
PM Il programma viene avviato in una
sessione Presentation Manager, ossia
nell'interfaccia grafica di OS/2.
PROG_30_STD Il programma viene avviato in una
sessione WIN-OS/2 a schermo intero in
modalità standard 3.0.
PROG_31_ENH Il programma viene avviato in una
sessione WIN-OS/2 a schermo intero in
modalità enhanced 3.1.
PROG_31_ENHSEAMLESSCOMMON Il programma viene avviato in una
sessione di tipo WIN-OS/2 finestra in
modalità enhanced 3.1 nella sessione
comune alle altre sessioni WIN-OS/2.
PROG_31_ENHSEAMLESSVDM Il programma viene avviato in una
sessione di tipo WIN-OS/2 finestra in
modalità enhanced 3.1 in una sessione
separata dalle altre sessioni WIN-OS/2.
PROG_31_STD Il programma viene avviato in una
sessione WIN-OS/2 a schermo intero in
modalità standard 3.1.
PROG_31_STDSEAMLESSCOMMON Il programma viene avviato in una
sessione i tipo WIN-OS/2 finestra in
modalità standard 3.1 nella sessione
comune alle altre sessioni WIN-OS/2.
PROG_31_STDSEAMLESSVDM Il programma viene avviato in una
sessione i tipo WIN-OS/2 finestra in
modalità standard 3.1 in una sessione
separata dalle altre sessioni WIN-OS/2.
SEPARATEWIN Il programma viene avviato in una
sessione i tipo WIN-OS/2 finestra in
una separata VDM.
VDM Il programma viene avviato in una
sessione DOS a schermo intero.
WIN Il programma viene avviato in una
sessione WIN-OS/2 a schermo intero.
WINDOWABLEVIO Il programma viene avviato in una
sessione comandi OS/2 in finestra.
WINDOWEDVDM Il programma viene avviato in una
sessione in finestra.
WINDOWEDWIN Il programma viene avviato in una
finestra seamless WIN-OS/2.
NOAUTOCLOSE YES Lascia la finestra aperta quando il
programma termina.
NO Chiude la finestra alla terminazione
del programma.
Questo è il valore di default.
PARAMETERS params Imposta la lista dei parametri.
SET XXX=VVV XXX è una variabile di ambiente.
VVV è il valore cui impostare la
variabile.
Questo viene usato per specificare le
impostazioni specifiche dei programmi
DOS e WIN-OS/2.
I settaggi che implicano la scelta tra
due valori devono essere posti a 1 o 0.
Esempi:
SET COM_DIRECT_ACCESS=1
SET DOS_DEVICE=D:\OS2\A.SYS,D:\OS2\B.SYS
SET DOS_FILES=40
Per i nomi delle variabili di ambiente
ammesse si veda la pagina delle
impostazioni DOS - WIN-OS/2 del blocco
impostazioni di un oggetto programma.
STARTUPDIR pathname Imposta la directory di lavoro.
Un esempio di una valida stringa di setup per un oggetto programma:
setup = "EXENAME=C:\PIPPO\PIPPO.EXE;PROGTYPE=VDM;" ||,
"SET COM_DIRECT_ACCESS=1;SET DOS_DEVICE=D:\OS2\MDOS\ANSI.SYS," ||,
"D:\OS2\MDOS\PIPPO.SYS,D:\OS2\MDOS\PLUTO.SYS;" ||,
"SET DOS_FILES=40"
Questa funzione permette di cambiare le impostazioni di un oggetto.
result = SysSetObjectData(name, setup)Il valore restituito dalla funzione è 1 nel caso l'oggetto sia stato aggiornato e 0 nel caso contrario.
name, il nome dell'oggetto puo' essere semplicemente l'ID di un oggetto (per esempio <WP_DESKTOP>) oppure il nome del file corrispondente, incluso il percorso (per esempio C:\Scrivania).
L'ultimo parametro è perfettamente equivalente al parametro usato da SysCreateObject().
Questa funzione è equivalente, nel caso l'oggetto sia stato precedentemente creato, a SysCreateObject() con il parametro UPDATE e nel caso la stringa di setup di SysSetObjectData() sia costituita da un semplice OPEN=modalità di apertura, è equivalente a SysOpenObject().
|