Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: milio - 28 Maggio 2008, 12:52:16

Titolo: Opzioni da terminale.
Inserito da: milio - 28 Maggio 2008, 12:52:16
Ciao a tutti.
Ho la necessita' di lanciare un programma scritto con gambas da terminale, passandogli delle opzioni.

Es.

prog.gambas -o


Voi avete qualche idea di come fare?
Titolo: Re: Opzioni da terminale.
Inserito da: md9327 - 28 Maggio 2008, 13:43:58
Da quello che ho notato, i parametri possono essere passati, ma senza inserire etichette di condizionamento. Diciamo che sono posizionali.

A riga di comando, Gambas ha già dei prefissi predefiniti, che possono essere usati per condizionare l'applicazione, ma per quanto riguarda info proprietarie, devi allegarle alla riga di comando appena dopo il nome dell'eseguibile.
Titolo: Re: Opzioni da terminale.
Inserito da: koko - 16 Giugno 2008, 18:03:47
Io sto avendo seri problemi a proposito.
L'utilizzo del componente gb.option mi è impossibile nel momento in cui includo gb.qt.kde ed assegno un parametro tramite progetto->proprietà->ambiente.
Al 'run' del' progetto, l'applicazione si chiude istantaneamente con codice d'errore 254.

Uso Gambas 2.5 dato che non esiste ancora un ebuild per gentoo per la 2.6, mi chiedo:

1- qualcuno potrebbe confermare o smentire il bug per l'ultima versione? Allego il progetto di prova.

2- Esistono metodi alternativi al GetOptions di gb.options per fare il parse delle opzioni e/o gli argomenti della linea di comando?

Grazie in anticipo!
Titolo: Re: Opzioni da terminale.
Inserito da: giulio - 16 Giugno 2008, 18:46:56
Ti confermo che il bug c'è anche sulla 2.7. Il componente gb.option è in versione Beta. Per fare il parsing delle opzioni, con un po' di sbattimento puoi usare Application.Args[]. Application.Args[0] è il nome dell'applicazione. Ciao.
Titolo: Re: Opzioni da terminale.
Inserito da: koko - 16 Giugno 2008, 23:03:44
Grazie mille, domani proverò application.args, infondo le mie esigenze sono di fare il parse di un unico argomento, per ora.