Vorrei conoscere la status legato al campo di destinazione, dopo l'esecuzione di un'istruzione. Prendiamo ad esempio l'istruzione:
Position = InStr ( String AS String , Substring AS String [ , Start AS Integer , Comparison AS Integer ] )
Dopo la ricerca della Substring all'interno della String di partenza, Position dovrebbe contenere il valore relativo alla posizione occupata nella stringa del 1° ctrt della sottostringa. Ciò vuol dire che:
Dim Position as Integer
Dim Stringa as String = "Vattela a pescà"
Dim Sottostringa as String = " "
Position = InStr(Stringa, Sottostringa)
1) nell'esempio il crt " " da cercare viene sicuramente trovato e Position conterrà "8", cioè la posizione della prima ricorrenza nella stringa di partenza, corrispondente a TRUE
2) Se invece la sottostringa contenesse "z", Position conterrà "0", corrispondente a FALSE
Supponiamo allora che io volessi interrogare non il contenuto numerico di Position, ma semplicemente la condizione di TRUE o FALSE determinata dall'esecuzione dell'istruzione. Cosa dovrei interrogare?
if InStr(Stringa, Sottostringa)=0 then
'codice d aeseguire se non trova la corrispondenza
ELSE
'codice da eseguire se trova la corrispondenza
END IF
puoi anche farti un apposita funzione:
PUBLIC SUB trova(stringa AS String, substringa AS String) AS Boolean
DIM risultato AS Boolean = FALSE
IF InStr(stringa, substringa) <> 0 THEN
risultato = TRUE
ELSE
risultato = FALSE
ENDIF
RETURN risultato
END
da utilizzare così ad esempio:
if trova(stringa,substringa)=true then
'codice da eseguire se ce la corrispondenza
end if
dovrebbe funzionare anche così:
IF InStr(stringa, substringa) THEN
...Codice se TRUE
ELSE
...Codice se FALSE
ENDIF