Il file di configurazione CONFIG.FPW

(principianti)

Visual FoxPro utilizza un file di configurazione CONFIG.FPW per contenere le impostazioni di configurazione e le informazioni del registro di sistema impostate con la finestra di dialogo Opzioni.

Per mezzo di questo file è possibile creare impostazioni particolari semplificando notevolmente la distribuzione delle nostre applicazioni. Le impostazioni scritte in questo file modificano temporaneamente quelle predefinite da Visual FoxPro nel registro di sistema di windows.

Config.fpw è un normale file di testo, editabile per esempio con NOTEPAD o altro editor di testi. Vfp cerca questo file nel seguente ordine:

Con questo file, possiamo impostare la configurazione di avvio per Vfp, o per la nostra applicazione ed in particolare possiamo:

Come inserire i comandi SET, nel file config.fpw:

Un esempio vale più di mille parole, quindi se volessimo inserire il corrispondente dell'istruzione:

Comando SET Corrispondente nel file config.fpw
   
SET CENTURY ON CENTURY=ON
SET MULTILOCKS ON MULTILOCKS=ON
SET EXACT OFF EXACT=OFF

In pratica si toglie la parola chiave SET e si aggiunge il simbolo =

Come impostare una variabile di sistema nel config.fpw

Le variabili di sistema, sono quelle che cominciano con il carattere _ (underscore), nell'help di vfp, basta cercare "system variables a-z" per vederne un elenco completo. La variabile più interessante che possiamo utilizzare è la _SCREEN che è la variabile oggetto della finestra principale di Vfp, che contiene tutte le tipiche proprietà di un form.

Impostare il valore di queste variabili è molto semplice, per esempio:

_SCREEN.caption = "Titolo della mia applicazione"
_SCREEN.width = 300

Possiamo anche utilizzare delle funzioni, partendo ovviamente dalla variabili di sistema, in quando le nostre variabili, nel momento in cui Vfp legge il config.fpw, non esistono ancora; possiamo quindi scrivere:

_SCREEN.caption = "Sistema operativo: "+OS(1)

Come eseguire comandi nel config.fpw

Potrebbe, rivelarsi utile avviare automaticamente un'applicazione all'avvio di Vfp, per evitare, ad esempio, che un cliente acceda all'ambiente di sviluppo o alla finestra dei comandi. In tal caso, possiamo scrivere:

COMMAND = DO MiaApplicazione.APP

Il lancio di un'applicazione all'avvio di Vfp, può essere inoltre ottenuto impostando la variabile di sistema _STARTUP, in questo modo:

_STARTUP = MiaApplicazione.app

Altre impostazioni settabili nel config.fpw:

Parola chiave per config.fpw
Spiegazione ed esempio
   
MVCOUNT Imposta il numero massimo di variabili che Vfp può memorizzare. Il valore deve essere compreso tra 128 e 65.000, il valore predefinito è: 1024
Es: MVCOUNT = 2048
PROGWORK Path Indicare il percorso che Vfp dovrà utilizzare come area di cache per l'esecuzione dei programmi.Particolarmente utile in ambienti di rete, in questo caso specificare sempre un percorso di disco locale.
Es: PROGWORK C:\TEMP
RESOURCE Path\file Indicare, se necessario, il percorso ed eventualmente il nome del file (se diverso dal nome di default foxuser.dbf), che Vfp dovrà utilizzare.
SORTWORK Path Indicare il percorso che Vfp dovrà utilizzare come area per i files temporanei creati dalle istruzioni del tipo SORT e INDEX.Particolarmente utile in ambienti di rete, in questo caso specificare sempre un percorso di disco locale.
Es: SORTWORK C:\TEMP
TEDIT /N Editor Utile nel caso si volesse utilizzare un editor diverso da quello di Vfp per editare i programmi. L'opzione /N deve esserci qualora si indicasse un editor per windows.
Es: TEDIT /N winword
TITLE titolo

Imposta il titolo della finestra principale di Vfp.
Es: TITLE "Questo è il mio titolo"

TMPFILES Drive Imposta il drive per i file temporanei. Questa impostazione viene ereditata da PROGWORK e SORTWORK, qualora queste non fossero già impostate ad un valore diverso.Particolarmente utile in ambienti di rete, in questo caso specificare sempre un percorso di disco locale.

 

Come config.fpw può aiutarci a distribuire la nostra applicazione.

Se dobbiamo scrivere un'applicazione da distribuire, config.fpw diventa uno strumento indispensabile per almeno due motivi:

Inoltre può capitare che l'applicazione funzioni sul nostro pc, dove l'abbiamo sviluppata, ma nel momento in cui questa viene installata su un'altro pc o presso il cliente, scopriamo che non funziona proprio nello stesso modo.

Questo inconveniente capita perché sul nostro pc, Vfp risulta configurato in un certo modo (Vfp memorizza la configurazione nel registry), quello adatto a far funzionare bene l'applicazione, ma nel momento in cui distribuiamo l'applicativo, dobbiamo distribuire anche la configurazione adeguata, ecco che config.fpw ci viene in aiuto, permettendoci di memorizzare ed esportare i settaggi del sistema.

Includere config.fpw nell'eseguibile.

In alcuni casi può essere utile includere config.fpw nell'eseguibile, in modo da distribuirlo insieme ad esso, questa operazione offre il vantaggio di impedire al cliente la manipolazione del file, ma per contro impedisce al programmatore di settarlo in modo differenziato, in base alle necessità dell'installazione.
Per includere il config.fpw nell'eseguibile è sufficiente includerlo nel progetto, sotto la voce Other/text files, quindi ricompilare l'applicazione.

Alcuni esempi

Ecco due esempi di config.fpw già pronti per l'uso, magari con qualche piccola personalizzazione:

Esempio 1: config.fpw per creare un'applicazione senza _SCREEN, che funzioni in ambiente multiutente, con i campi data nel formato italiano e l'anno espresso con 4 cifre e più di 1024 variabili di memoria da gestire.

SCREEN=OFF
EXCLUSIVE=OFF
MULTILOCKS=ON
EXACT=OFF
NEAR=ON
CENTURY=ON
DATE=ITALIAN
DELETED=ON
STATUS BAR=OFF
TALK=OFF
MVCOUNT=2048

 

Esempio 2: config.fpw per creare un'applicazione con _SCREEN che appaia però immediatamente con il titolo desiderato (di default il titolo di _SCREEN é "Microsoft Visual FoxPro"), in ambiente monoutenza, che utilizzi le impostazioni internazionali di Windows per quanto riguarda il formato dei campi data, il punto decimale ecc.

TITLE = "Titolo della mia applicazione"
SYSFORMATS=ON
EXCLUSIVE=ON
EXACT=OFF
NEAR=ON

 

Articolo di Bruno Rodia ©

© FoxPro e Visual FoxPro sono un marchi registrati da Microsoft Corporation

 



Data: 21/05/2001
webmaster@foxitaly.com

 

dal 22 Giugno 1999