TRY è la trasposizione in Gambas dell'Assert del C.
In pratica chiedi all'interprete di "provare" (try significa appunto provare) una istruzione od un comando: se si verifica un errore, questo verrà restituito dall'oggetto ERROR, a cui puoi accedere subito dopo il Try, senza che la tua applicazione vada in crash se si verifica qualcosa che non va.
Esempio:
TRY una_istruzione
IF ERROR THEN
.....istruzioni per gestire l'errore
1)
L'effetto che dici dipende dal refresh della videocamera. In genere quelle di medio-basso prezzo hanno refresh non molto elevati, al max. non superiori ai 25 fps, che oltretutto calano all'aumento della risoluzione.
25 fps vuol dire 25 immagini prese al secondo, cioè una ogni 40 ms. Aumentare il tempo del timer non ti porta nessun vantaggio, secondo me: campioneresti più volte lo stesso fotogramma, con l'effetto inderiderato, però, di rallentare l'esecuzione del tuo programma.
2)
Per inserire un elemento in una ListBox si usa il metodo Add:
MiaListBox.Add(testo_da_aggiungere [,eventuale_indice])
@Leo72
Grazie, ora, continuando con l'aggiunta di oggetti nel listbox avrei bisogno di chiedere un'altra cosa, seguendo il metodo da te indicatomi, aggiungo un'aggetto(ovvero un testo) e quando ci clicco su il mio programma fa qualcosa, ora il punto è questo, vorrei poter far questo, all'avvio mi dovrebbe dire se vi sono videodevice collegati, ad esempio la mia webcam che si trova in /dev/video0, quindi se la trova la inserisce nel listbox altrimenti no.
Io avevo pensato di scrivere cosi:
TRY File.OPEN("/dev/video0")
ListBox1.Add("/dev/video0")
IF ERROR THEN
Message("nessun video device")
END IF
Ma ovviamente non va, dato che all'apertura mi dice nessun video device e poi lo addiziona lo stesso nel listbox...credo perchè forse non devo usare file open e poi perchè gli ho detto di aggiungere lo stesso nel listbox il testo...
forse risolvo se aggiungo un else e sposto l'addizione al listbox...ma comunque il "fileopen" non va....
difficile imparare....soprattutto per uno che non ha mai studiato informatica....
Ciao :cry:
potresti provare con
dim i as integer
dim percorso as string
for i=0 to 6
percorso="/dev/video" & i
if exist(percorso) then
ListBox1.Add(percorso)
endif
next
if listbox1.count=0 then
Message("nessun video device")
END IF
in questo modo cerca device da 0 a 5 e se esistono li pone nella list box
se non ve ne sono messaggio di avviso