TCL/TK è un ambiente per la realizzazione di interfacce grafiche basato sul linguaggio di scripting TCL. La caratteristica principale di questo ambiente di sviluppo è la semplicità e la velocità di creazione delle interfacce utente in Linux. Tra le altre caratteristiche che contribuiscono alla sempre più grande diffusione di TCL/TK si trovano:
Vediamo le caratteristiche del linguaggio di scripting, quindi i cui programmi sono interpretati da una shell di comandi, TCL ( che si pronuncia “ticl” ). Uno degli aspetti più importanti di TCL è la possibilità di essere incapsulato in codice di programmi C/C++ attraverso delle librerie, per ora che siamo agli inizi della spiegazione del linguaggio utilizzeremo solo lo scripting. Per interpretare TCL su Linux ci sono vari modi basati sull’uso di una delle shell: TCL-Shell ( tclsh ) e Windowing-Shell ( wish ) quest’ultima in grado di eseguire anche comandi TK. Il miglior modo per prendere confidenza con i comandi è quello di aprire una tra le due shell con i comandi tclsh o wish ed eseguire dal prompt un comando TCL ed attenderne l’effetto, per esempio:
tclsh % set PI 3.14 % puts $PI % exit
un altro modo è quello di inserire il codice in un file e poi lanciare tclsh file.tcl. La sintassi del TCL è molto ridotta, questo rende semplice l’apprendimento e la creazione di applicazioni anche complesse. Ogni comando segue questa sintassi:
% nome_comando arg1 arg2 arg3 …
Abbiamo già visto che per dichiarare una variabile si utilizza l’istruzione set e per stamparla puts, per richiamare il valore della variabile si deve inserire un $ prima del nome della stessa, come avveniva per la shell di Linux. TCL ha solo variabili di tipo stringa, questo significa che per fare calcoli matematici si dovrà trasformare la stringa in valore numerico. Una variabile può essere inizializzata con un valore numerico, sapendo sempre che a basso livello è sempre una stringa, in questo modo:
TCL mette a disposizione due tipi di comandi per la gestione dei numeri: incr ed expr, il primo per aggiungere un valore intero ad una variabile contente un intero, mentre il secondo per effettuare calcoli matematici più complessi.
set k 3 incr k 7 incr k -4 puts $k
In questo semplice esempio si dichiara la variabile k avente valore 3, poi aggiungiamo 7 e togliamo 4. Vediamo qualcosa di più complesso:
set PI 3.14 set raggio 2.76 set area [expr $PI * pow($raggio, 2)] puts "Il valore del cerchio di raggio $raggio è di $area"
in questo esempio abbiamo dichiarato il raggio ed abbiamo calcolato l’area del cerchio. Le parentesi quadre servono a sostituire l’espressione con il valore prodotto e l’uso di expr per poter utilizzare le funzioni matematiche, in questo caso la potenza di due. Alcune delle funzioni che si possono utilizzare sono:
per le altre funzioni si veda la documentazione di TCL. Per la manipolazione delle stringhe abbiamo le funzioni append e string: la prima serve per concatenare due stringhe, mentre la seconda consente alcune operazioni, vediamone le opzioni:
Come in ogni altro linguaggio che si rispetti abbiamo anche la gestione delle condizioni ed i cicli che si rifanno al linguaggio C, vediamone un esempio esemplificativo molto semplice:
set s "Ferma! - " for {set i 1} {$i<=10} {incr i} { if {$i == 5} { append s "Sono arrivato al valore $i" } } puts $s
Attenzione a mettere la parentesi graffa all’inizio del corpo del ciclo sulla stessa linea, non come avviene in C che possiamo inserirla dove vogliamo, pena un difficile errore da scovare, durante l’esecuzione del programma. Per informazioni sulla creazione di interfacce utente in linguaggio TCL/TK potete leggere questo articolo.
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→