Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Condizione If e gli operatori logici con ActionScript

Come e quando si applica. Utile anche a chi ha già avuto esperienze di programmazione.
Come e quando si applica. Utile anche a chi ha già avuto esperienze di programmazione.
Link copiato negli appunti

Breve parentesi per apprendisti

Prima di continuare apro un breve parentesi sugli operatori di eguaglianza ed assegnazione.

L'operatore di assegnazione il classico = (uguale). Tramite questo, è possibile assegnare un valore ad una variabile (come già visto).

L'operatore di eguaglianza invece, è il ==, con cui è possibile verificare l'uguaglianza tra due variabili (se i loro valori sono identici o meno).

Detto questo, continuiamo con le lezioni...

Condizione If 

L'istruzione if è detta "condizione" perché permette di controllare una condizione e di effettuare diverse azioni a seconda che la condizione si sia avverata o meno.

Esempio pratico

Scarica questo esempio figura

Provate prima a fare una verifica con i due valori già presenti, poi provate ad immettere due valori differenti. Come potete vedere, ho utilizzato l'operatore di eguaglianza e non di assegnazione al momento della verifica. Attenti a non sbagliare! È molto importante capire la differenza tra i due operatori.

Script per il bottone "Verifica"

on (release) {
if (n1==n2) {
risp = "vera";
} else {
risp = "falsa";
}
}

Tradotto in italiano: (salto la riga on(release) )

se n1 è eguale a n2 allora
	assegna a risp la stringa "vera" 
altrimenti
	assegna a risp la stringa "falsa".

L'azione risp = "vera"; è compresa tra le parentesi graffe che identificano l'avverarsi della condizione, mentre risp = "falsa"; è compresa all'interno dell'istruzione else che identifica il non avverarsi della condizione (altrimenti). Immagino non ci sia bisogno di dire che n1, n2 e risp sono le tre caselle di testo.

Ecco un altro esempio:

Scarica questo esempio figura

In questo caso lo script cambia leggermente:

on (release) {
if (Number(n1) > Number(n2)) {
risp = "più alto";
} else {
risp = "più basso";
}
}

Per stabilire se il primo numero è maggiore del secondo, ho utilizzato l'operatore >(maggiore).

Tradotto in italiano: (salto la riga on(release) )

se n1 è maggiore di  n2 allora
	assegna a risp la stringa "più alto" 
altrimenti
	assegna a risp la stringa "più basso".

Questo esempio però non controlla l'eguaglianza tra le due variabili. Ho dovuto utilizzare la funzione Number() perché l'operatore > può essere utilizzato anche come confronto tra due stringhe (in base all'ordine alfabetico).

Operatori di confronto

L'operatore > fa parte di questa categoria:

Operatori
di confronto

> Maggiore di
< Minore di
>= Maggiore o uguale a
<= Minore o uguale a

Tramite questi operatori è possibile confrontare due variabili e stabilire quali delle due è maggiore/minore (o uguale) all'altra.

Operatori logici

Gli operatori logici vengono utilizzati con l'istruzione if.
Essi sono:

Operatori
logici

&& AND
|| OR
! NOT

Piccola precisazione: il tasto per digitare le due "barre" dell'operatore OR è quello prima del tasto 1 nella tastiera, sulla destra.

A cosa servono questi operatori? Ve lo spiego subito con un esempio...

|| (or)

All'interno del nostro filmato vi è un modulo per l'invio di dati, non vi sembra "elegante" inserire un controllo sui campi? Cioè, dopo che l'utente ha cliccato sul bottone "invia", il filmato fa una verifica e, se tutti i campi sono stati compilati, il modulo viene inviato altrimenti viene visualizzato un messaggio che indica di compilare completamente il modulo.

Scarica questo esempio figura

Script per il bottone "Invia"

on (release) {
if (String(nome) == "" || String(email) == "") {
gotoAndStop ("errore");
} else {
gotoAndStop("inviato");
}
}

Traduzione

se nome è vuota (uguale a  "" significa vuota)  
	oppure email è vuota 

allora
	visualizza l'errore
altrimenti
	invia il modulo

Tramite || la condizione if si avvera se nome oppure email sono nulli... Quindi si avvera se almeno uno dei due operandi risulta vero.

In questo esempio ho dovuto necessariamente utilizzare la funzione String() che permette di trasformare in stringa un valore numerico (purtroppo è necessario, altrimenti Flash non interpreta le "" come un "non inserimento").

&& (and)

L'operatore && invece, implica che tutt'e due gli operandi siano veri altrimenti, non viene soddisfatta la condizione. Se nel caso precedente avessi inserito l'operatore && al posto di || il risultato sarebbe stato che il gotoAndStop("errore"); sarebbe stato eseguito solo se sia il campo nome, sia il campo email fossero stati vuoti.

! (not)

Il ! logico invece, viene utilizzato in coppia con gli altri operatori. Per esempio, utilizzando != in una condizione if, Flash la interpreta come un "non uguale" e cioè disuguale.

Scarica questo esempio scarica

Azione per il bottone "Invia"

on (release) {
if (String(nome) != "flash") {
gotoAndStop ("errore");
} else {
gotoAndStop ("inviato");
}
}

Traduzione

se nome non è uguale a flash
allora
	visualizza l'errore
altrimenti
	invia il modulo

Ti consigliamo anche