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:
- nella directory corrente (es. quella della nostra applicazione)
- nella cartella di installazione di Vfp
- in una cartella compresa nei percorsi di ricerca ms-dos (variabile di sistema PATH).
Con questo file, possiamo impostare la configurazione di avvio per Vfp, o per la nostra applicazione ed in particolare possiamo:
- settare tutte le impostazioni tipiche dei comandi SET
- impostare il valore delle variabili di sistema
- eseguire un comando all'avvio
- altre impostazioni speciali
- nascondere o impostare il titolo della finestra principale di Vfp (SCREEN)
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 = 300Possiamo 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.appAltre 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. |
| 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:
- Possiamo nascondere o cambiare il titolo della finestra principale di Vfp, prima che questa appaia, dando così alla nostra applicazione un'immagine più professionale.
- Possiamo costruire un file config.fpw direttamente dal cliente, impostando di volta in volta i valori più appropriati per i percorsi dei file temporanei e/o per alcune impostazioni SET.
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
dal 22 Giugno 1999