Autore Topic: [Risolto]Esitare un'istruzione  (Letto 577 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
[Risolto]Esitare un'istruzione
« il: 18 Aprile 2010, 19:16:55 »
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:
Codice: [Seleziona]
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?
« Ultima modifica: 19 Aprile 2010, 00:08:43 da Picavbg »
:ciao:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Esitare un'istruzione
« Risposta #1 il: 18 Aprile 2010, 20:08:40 »
Codice: [Seleziona]
if InStr(Stringa, Sottostringa)=0 then

   'codice  d aeseguire se non trova la corrispondenza

ELSE
   'codice da eseguire se trova la corrispondenza
END IF

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Esitare un'istruzione
« Risposta #2 il: 19 Aprile 2010, 00:08:15 »
Grazie; la soluzione è molto più semplice di quanto la immaginassi.  :-X  :)
Ciao.
:ciao:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: [Risolto]Esitare un'istruzione
« Risposta #3 il: 19 Aprile 2010, 13:08:38 »
puoi anche farti un apposita funzione:
Codice: [Seleziona]
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:

Codice: [Seleziona]
if trova(stringa,substringa)=true then

  'codice da eseguire se ce la corrispondenza
end if

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: [Risolto]Esitare un'istruzione
« Risposta #4 il: 19 Aprile 2010, 13:51:57 »
dovrebbe funzionare anche così:
Codice: [Seleziona]
IF InStr(stringa, substringa) THEN 
...Codice se TRUE
ELSE
...Codice se FALSE
ENDIF