Differenze tra le versioni di "Application"
(11 versioni intermedie di un altro utente non mostrate) | |||
Riga 1: | Riga 1: | ||
− | Questa classe tutte le informazioni relative all'applicazione corrente, e garantisce l'accesso all'ambiente e alla linea di comando del processo. | + | Questa classe gestisce tutte le informazioni relative all'applicazione corrente, e garantisce l'accesso all'ambiente e alla linea di comando del processo. |
+ | La classe è anche utilizzata come classe base per gli oggetti Application delle librerie [[gb.gtk]] e [[gb.qt]]. | ||
− | '''Tipo''' | + | '''''Tipo''''' |
---- | ---- | ||
La classe è di tipo statico, metodi e proprietà compresi, ovvero è sempre presente in memoria, ed è accessibile da tutti i componenti del processo. | La classe è di tipo statico, metodi e proprietà compresi, ovvero è sempre presente in memoria, ed è accessibile da tutti i componenti del processo. | ||
− | '''Proprietà''' | + | '''''Proprietà''''' |
---- | ---- | ||
+ | '''ActiveControl''' : (oggetto, solo lettura, solo librerie "gb.gtk" e "gb.qt") | ||
+ | |||
+ | Ritorna il controllo che ha attualmente il fuoco. | ||
+ | |||
+ | '''ActiveWindow''' : (oggetto, solo lettura, solo librerie "gb.gtk" e "gb.qt") | ||
+ | |||
+ | Ritorna la finestra corrente attiva, ad esempio quella proprietaria del controllo che ha attualmente il fuoco. | ||
+ | |||
'''Args''' : (oggetto, solo lettura) | '''Args''' : (oggetto, solo lettura) | ||
+ | |||
Ritorna un array contenente gli argomenti passati da riga di comando al programma. Dato che l'array è in realtà un oggetto Collection, la lettura degli elementi può essere effettuata solo tramite il comando FOR EACH...NEXT; ogni valore ritornato è una stringa. | Ritorna un array contenente gli argomenti passati da riga di comando al programma. Dato che l'array è in realtà un oggetto Collection, la lettura degli elementi può essere effettuata solo tramite il comando FOR EACH...NEXT; ogni valore ritornato è una stringa. | ||
Il primo elemento ritornato (argumento #0) è sempre il nome del programma. | Il primo elemento ritornato (argumento #0) è sempre il nome del programma. | ||
+ | |||
+ | Esempio di lettura: | ||
+ | |||
+ | PUBLIC SUB Main() | ||
+ | DIM sArg AS String | ||
+ | FOR EACH sArg IN Application.Args | ||
+ | PRINT sArg | ||
+ | NEXT | ||
+ | END | ||
+ | |||
+ | '''Busy''' : (intero, solo librerie "gb.gtk" e "gb.qt") | ||
+ | |||
+ | Modifica lo stato di occupato dell'applicazione. | ||
+ | Quando questa proprietà è maggiore di zero, il cursore del mouse è bloccato (visualizza una clessidra) per mostrare che l'applicazione è occupata e non risponde ai comandi. | ||
+ | Il valore di questa proprietà và incrementato all'avvio di una lunga elaborazione, e decrementato al termine della stessa. In questo modo viene evitato il lampeggio fastidioso durante il processo. | ||
+ | Attenzione a decrementare questa proprietà, se l'elaborazione fallisce (vedi TRY...CATCH)! | ||
'''Daemon''' : (logico) | '''Daemon''' : (logico) | ||
+ | |||
Se uguale a TRUE, l'applicazione viene eseguita come un demone. In questo caso, l'applicazione si biforca e termina l'oggetto parent di recente creazione, di modo che il reale parent dell'applicazione non attende la sua chiusura; la directory di lavoro corrente diventa la root "/"; lo standard input, lo standard output e lo standard error output vengono chiusi. | Se uguale a TRUE, l'applicazione viene eseguita come un demone. In questo caso, l'applicazione si biforca e termina l'oggetto parent di recente creazione, di modo che il reale parent dell'applicazione non attende la sua chiusura; la directory di lavoro corrente diventa la root "/"; lo standard input, lo standard output e lo standard error output vengono chiusi. | ||
Una volta impostata come demone, l'applicazione non può ritornare nello stato normale (Daemon=FALSE). | Una volta impostata come demone, l'applicazione non può ritornare nello stato normale (Daemon=FALSE). | ||
Riga 19: | Riga 46: | ||
'''Dir''' : (stringa, solo lettura) | '''Dir''' : (stringa, solo lettura) | ||
+ | |||
Ritorna la directory dell'applicazione. Questa è la directory corrente di lavoro all'avvio dell'applicazione. | Ritorna la directory dell'applicazione. Questa è la directory corrente di lavoro all'avvio dell'applicazione. | ||
+ | |||
+ | '''Embedder''' : (puntatore, solo librerie "gb.gtk" e "gb.qt") | ||
'''Env''' : (oggetto, solo lettura) | '''Env''' : (oggetto, solo lettura) | ||
+ | |||
Ritorna un array di stringhe virtuale, contenente le variabili di ambiente (ovvero di sistema). Come per Args, la lettura degli elementi può essere effettuata solo tramite il comando FOR EACH...NEXT. | Ritorna un array di stringhe virtuale, contenente le variabili di ambiente (ovvero di sistema). Come per Args, la lettura degli elementi può essere effettuata solo tramite il comando FOR EACH...NEXT. | ||
+ | |||
+ | Esempio di lettura: | ||
+ | |||
+ | PUBLIC SUB Main() | ||
+ | DIM sEnv AS String | ||
+ | FOR EACH sEnv IN Application.Env | ||
+ | PRINT sEnv | ||
+ | NEXT | ||
+ | END | ||
+ | |||
+ | '''Font''' : (oggetto, solo librerie "gb.gtk" e "gb.qt") | ||
+ | |||
+ | Ritorna o modifica globalmente il font usato dall'applicazione. | ||
'''Handle''' : (intero, solo lettura) | '''Handle''' : (intero, solo lettura) | ||
+ | |||
Ritorna il pid di sistema (identificatore di processo) del programma. | Ritorna il pid di sistema (identificatore di processo) del programma. | ||
'''Id''' : (intero, solo lettura) | '''Id''' : (intero, solo lettura) | ||
+ | |||
Ritorna il pid di sistema (identificatore di processo) del programma (come Handle). | Ritorna il pid di sistema (identificatore di processo) del programma (come Handle). | ||
+ | |||
+ | '''MainWindow''' : (oggetto, solo lettura, solo librerie "gb.gtk" e "gb.qt") | ||
+ | |||
+ | Ritorna la finestra principale dell'applicazione. | ||
+ | La finestra principale è la prima finestra (o Form) creata nell'applicazione. La chiusura della finestra principale implica la chiusura di tutte le finestre aperte, e il termine dell'applicazione. | ||
'''Name''' : (stringa, solo lettura) | '''Name''' : (stringa, solo lettura) | ||
+ | |||
Ritorna o imposta il nome del programma, così come definito nel progetto. | Ritorna o imposta il nome del programma, così come definito nel progetto. | ||
'''Path''' : (stringa, solo lettura) | '''Path''' : (stringa, solo lettura) | ||
+ | |||
Ritorna la directory dove risiede l'applicazione. | Ritorna la directory dove risiede l'applicazione. | ||
'''Return''' : (intero) | '''Return''' : (intero) | ||
+ | |||
Ritorna o imposta il valore che l'applicazione ritorna al sistema quando termina. | Ritorna o imposta il valore che l'applicazione ritorna al sistema quando termina. | ||
+ | La proprietà può essere utilizzata, ad esempio, per ritornare un codice particolare al sistema operativo in caso di errore. Di default, l'applicazione termina con un valore '1', se il programma termina a causa di un errore, altrimenti ritorna '0'. | ||
+ | |||
+ | '''Theme''' : (stringa, solo librerie "gb.gtk" e "gb.qt") | ||
+ | |||
+ | Ritorna o imposta globalmente il tema dell'applicazione. | ||
+ | Al momento, il valore viene usato solo dalla classe Stock, per la selezione di un blocco di icone. | ||
'''Title''' : (stringa, solo lettura) | '''Title''' : (stringa, solo lettura) | ||
− | Ritorna | + | |
+ | Ritorna il titolo dell'applicazione, così come impostato nel progetto. | ||
+ | |||
+ | '''ToolTip''' : (oggetto, solo lettura, solo librerie "gb.gtk" e "gb.qt") | ||
+ | |||
+ | Ritorna un oggetto virtuale, usato per configurare i messaggi tooltip. Le proprietà dell'oggetto virtuale, permettono di abilitare globalmente i tooltip, e di definirne il font. | ||
'''Version''' : (stringa, solo lettura) | '''Version''' : (stringa, solo lettura) | ||
+ | |||
Ritorna la versione del programma, così come impostata nel progetto. | Ritorna la versione del programma, così come impostata nel progetto. | ||
+ | Il valore comprende 3 numeri, separati da un punto, che identificano: mayor version, minor version, release version. | ||
+ | E' da tener presente che la generazione di un nuovo eseguibile in ambiente IDE, aggiorna automaticamente la versione alla release successiva. | ||
+ | |||
+ | Esempio: | ||
+ | |||
+ | PRINT Application.Version | ||
+ | > 0.0.1 | ||
− | '''Metodi''' | + | '''''Metodi''''' |
---- | ---- | ||
− | + | La classe Application, nella libreria "gb" non ha metodi, nella sua struttura di base; eventuali funzionalità possono essere aggiunte, creando una nuova classe derivata da Application. | |
− | '''Eventi''' | + | '''''Eventi''''' |
---- | ---- | ||
'''Application_Read()''' : | '''Application_Read()''' : | ||
Riga 57: | Riga 130: | ||
− | '''Descrizione''' | + | '''''Descrizione''''' |
---- | ---- | ||
− | Anche se | + | Anche se statica, è possibile creare classi Application derivate da quella di base, personalizzabili a seconda delle proprie esigenze (aggiunta di altre proprietà e/o metodi). Ad esempio: |
+ | |||
+ | Class MyApplication | ||
+ | |||
+ | STATIC PUBLIC SUB Run() | ||
+ | ... | ||
+ | END | ||
+ | Una cosa molto importante è che tutte le nuove proprietà e i nuovi metodi aggiunti, siano dichiarati STATIC; non è possibile, e ammesso, costruire metodi e proprietà dinamiche in una classe dichiarata statica (mentre è vero il contrario, anche se i metodi non devono contenere riferimenti, o chiamate, a entità dinamiche della stessa classe). | ||
− | '''Esempi''' | + | '''''Esempi''''' |
---- | ---- |
Versione attuale delle 07:28, 12 gen 2009
Questa classe gestisce tutte le informazioni relative all'applicazione corrente, e garantisce l'accesso all'ambiente e alla linea di comando del processo. La classe è anche utilizzata come classe base per gli oggetti Application delle librerie gb.gtk e gb.qt.
Tipo
La classe è di tipo statico, metodi e proprietà compresi, ovvero è sempre presente in memoria, ed è accessibile da tutti i componenti del processo.
Proprietà
ActiveControl : (oggetto, solo lettura, solo librerie "gb.gtk" e "gb.qt")
Ritorna il controllo che ha attualmente il fuoco.
ActiveWindow : (oggetto, solo lettura, solo librerie "gb.gtk" e "gb.qt")
Ritorna la finestra corrente attiva, ad esempio quella proprietaria del controllo che ha attualmente il fuoco.
Args : (oggetto, solo lettura)
Ritorna un array contenente gli argomenti passati da riga di comando al programma. Dato che l'array è in realtà un oggetto Collection, la lettura degli elementi può essere effettuata solo tramite il comando FOR EACH...NEXT; ogni valore ritornato è una stringa. Il primo elemento ritornato (argumento #0) è sempre il nome del programma.
Esempio di lettura:
PUBLIC SUB Main() DIM sArg AS String FOR EACH sArg IN Application.Args PRINT sArg NEXT END
Busy : (intero, solo librerie "gb.gtk" e "gb.qt")
Modifica lo stato di occupato dell'applicazione. Quando questa proprietà è maggiore di zero, il cursore del mouse è bloccato (visualizza una clessidra) per mostrare che l'applicazione è occupata e non risponde ai comandi. Il valore di questa proprietà và incrementato all'avvio di una lunga elaborazione, e decrementato al termine della stessa. In questo modo viene evitato il lampeggio fastidioso durante il processo. Attenzione a decrementare questa proprietà, se l'elaborazione fallisce (vedi TRY...CATCH)!
Daemon : (logico)
Se uguale a TRUE, l'applicazione viene eseguita come un demone. In questo caso, l'applicazione si biforca e termina l'oggetto parent di recente creazione, di modo che il reale parent dell'applicazione non attende la sua chiusura; la directory di lavoro corrente diventa la root "/"; lo standard input, lo standard output e lo standard error output vengono chiusi. Una volta impostata come demone, l'applicazione non può ritornare nello stato normale (Daemon=FALSE). La directory di lavoro temporanea viene rinominata con l'identificatore del processo dopo la variazione.
Dir : (stringa, solo lettura)
Ritorna la directory dell'applicazione. Questa è la directory corrente di lavoro all'avvio dell'applicazione.
Embedder : (puntatore, solo librerie "gb.gtk" e "gb.qt")
Env : (oggetto, solo lettura)
Ritorna un array di stringhe virtuale, contenente le variabili di ambiente (ovvero di sistema). Come per Args, la lettura degli elementi può essere effettuata solo tramite il comando FOR EACH...NEXT.
Esempio di lettura:
PUBLIC SUB Main() DIM sEnv AS String FOR EACH sEnv IN Application.Env PRINT sEnv NEXT END
Font : (oggetto, solo librerie "gb.gtk" e "gb.qt")
Ritorna o modifica globalmente il font usato dall'applicazione.
Handle : (intero, solo lettura)
Ritorna il pid di sistema (identificatore di processo) del programma.
Id : (intero, solo lettura)
Ritorna il pid di sistema (identificatore di processo) del programma (come Handle).
MainWindow : (oggetto, solo lettura, solo librerie "gb.gtk" e "gb.qt")
Ritorna la finestra principale dell'applicazione. La finestra principale è la prima finestra (o Form) creata nell'applicazione. La chiusura della finestra principale implica la chiusura di tutte le finestre aperte, e il termine dell'applicazione.
Name : (stringa, solo lettura)
Ritorna o imposta il nome del programma, così come definito nel progetto.
Path : (stringa, solo lettura)
Ritorna la directory dove risiede l'applicazione.
Return : (intero)
Ritorna o imposta il valore che l'applicazione ritorna al sistema quando termina. La proprietà può essere utilizzata, ad esempio, per ritornare un codice particolare al sistema operativo in caso di errore. Di default, l'applicazione termina con un valore '1', se il programma termina a causa di un errore, altrimenti ritorna '0'.
Theme : (stringa, solo librerie "gb.gtk" e "gb.qt")
Ritorna o imposta globalmente il tema dell'applicazione. Al momento, il valore viene usato solo dalla classe Stock, per la selezione di un blocco di icone.
Title : (stringa, solo lettura)
Ritorna il titolo dell'applicazione, così come impostato nel progetto.
ToolTip : (oggetto, solo lettura, solo librerie "gb.gtk" e "gb.qt")
Ritorna un oggetto virtuale, usato per configurare i messaggi tooltip. Le proprietà dell'oggetto virtuale, permettono di abilitare globalmente i tooltip, e di definirne il font.
Version : (stringa, solo lettura)
Ritorna la versione del programma, così come impostata nel progetto. Il valore comprende 3 numeri, separati da un punto, che identificano: mayor version, minor version, release version. E' da tener presente che la generazione di un nuovo eseguibile in ambiente IDE, aggiorna automaticamente la versione alla release successiva.
Esempio:
PRINT Application.Version > 0.0.1
Metodi
La classe Application, nella libreria "gb" non ha metodi, nella sua struttura di base; eventuali funzionalità possono essere aggiunte, creando una nuova classe derivata da Application.
Eventi
Application_Read() : Se questo metodo viene definito nella classe di lancio del progetto, lo standard input viene catturato dall'interprete, e il metodo viene chiamato ad ogni lettura dello standard input.
Descrizione
Anche se statica, è possibile creare classi Application derivate da quella di base, personalizzabili a seconda delle proprie esigenze (aggiunta di altre proprietà e/o metodi). Ad esempio:
Class MyApplication
STATIC PUBLIC SUB Run() ... END
Una cosa molto importante è che tutte le nuove proprietà e i nuovi metodi aggiunti, siano dichiarati STATIC; non è possibile, e ammesso, costruire metodi e proprietà dinamiche in una classe dichiarata statica (mentre è vero il contrario, anche se i metodi non devono contenere riferimenti, o chiamate, a entità dinamiche della stessa classe).
Esempi