Gambas – Modificare cursore del form

Alle volte, per particolari applicazioni, può essere utile e/o pratico modificare il cursore del mouse per tutta l’area di un determinato form. Questo tipo di pratica la si trova sopratutto nei videogame dove il puntatore de mouse assume le forme consone al tema del videogioco stesso.

Effettuare tale operazione in Gambas è abbastanza semplice e la dinamicità del codice permette di modificare il cursore anche in base agli eventi. Premettendo che molti degli oggetti di Gambas hanno la funzione per scegliere il puntatore, tale metodo è pratico perchè permette di associare un’immagine al cursore e non di scegliere tra un limitato numero di esempi predefiniti.

Analizziamo il codice. Per praticità lo inserirò nella sub di apertura del form ma ovviamente esso potrà essere usato quando e dove serve.



Come si vede inizialmente si dichiara una variabile di tipo immagine di nome pCursor. Essa servirà a contenere l’immagine del nostro puntatore. Nella sub open del form si nota come si sia semplicemente associata un’immagine ala variabile prima dichiarata mediante l’uso di Picture.Load, al quale passeremo l’indirizzo dell’immagine, e si sia istanziato un nuovo puntatore associato a Me.Cursor (dove ME indica il form in cui ci si trova) mediante l’operatore NEW.

Il codice è banale ma l’effetto è sicuramente pratico laddove possa risultare utile allo sviluppatore.

Gambas – Conoscere il proprio indirizzo IP

Lavorando ad un progettino avevo pensato alla possibilità di conoscere l’indirizzo IP dell’utente. Questo può essere utile quando si ha la necessità di conoscere l’indirizzo con cui ci si affaccia alla rete magari per comunicare con altri computer. Gambas, che io sappia, non ha librerie o funzioni particolari che permettano di svolgere tale compito e pertanto ci si deve affidare ad un semplice comando esterno che verrà intercettato e mostrato a schermo.

Il nostro lavoro verrà svolto da una riga di comando:

wget http://checkip.dyndns.org/ -q -O – |grep -Eo ‘\’

Esso non fa altro che rivolgersi al servizio http://checkip.dyndns.org/ (che altri non è che una riga di testo del tipo)

Current IP Address: 93.xxx.xxx.xx

e ne preleva solo le cifre, ovvero l’indirizzo IP. In questo modo ci verrà restituito il nostro indirizzo.

La funzione Gambas che ci restituirà l’IP sarà:


Come si vede la funzione è semplice. Essa dichiara una variabile di nome result di tipo stringa che conterrà l’output del comando. La riga successiva è l’esecuzione del comando visto prima con relativo redirect sulla variabile appena dichiarata. Ottenuto l’IP lo restituiamo con RETURN.

MySql : operatore BETWEEN

Nel post precedente abbiamo visto come sfruttare l’operatore IN di MySql per poter compattare il codice e renderlo sicuramente più veloce. Come detto l’operatore IN permette la selezione di un parametro tra una lista di possibili soluzioni candidate.

In questo post vedremo invece come effettuare una selezione in un range di valori mediante l’operatore BETWEEN. Immaginiamo di avere bisogno di selezionare da una tabella di utenti solo quelli che hanno un’altezza compresa tra 100 e 180 centimetri (ovvero 1 e 1.80 metri) per studiarne alcune composizioni statistiche. La query di selezione risulterebbe alquanto contorto se ci applicassimo la selezione usando gli operatori di comparazione di maggioranza e minoranza (“”). In tal caso il tutto si riduce ad una semplice query, abbastanza lineare del tipo:

SELECT * FROM ‘TabellaUtenti’ WHERE altezza BETWEEN 100 AND 180

L’uso di BETWEEN è sicuramente pratico quanto quello di IN e permette una soluzione stilistica decisamente migliore rispetto ad analoghi codici.