Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Help vb??!!
Forum - Visual Basic 6 - Help vb??!!

Avatar
kevin Mitnick (Normal User)
Newbie


Messaggi: 4
Iscritto: 05/12/2008

Segnala al moderatore
Postato alle 20:04
Venerdì, 12/12/2008
Mi dite a cosa serve la funzione instr in vb e mi fate qualche esempio per capirla meglio...grazie e ciao

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 20:46
Venerdì, 12/12/2008
allora molto semplice...
restituiscono un intero che ....

instr("prova","o") dovrebbe restituire 3 (o forse 2) xk la "o" appare la prima volta al terzo carattere

anche instr("prova","ova") = 3 (o 2)

ps. nn ricordo se come parametro deve essere passata prima la stringa 'intera' o la quella da cercare

se la funzione restitusce 0, la stringa cercata nn esiste nell' altra

es instr("prova","zz")=0

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 10:30
Sabato, 13/12/2008
Antometal ti sei dimenticato un parametro...(oppure forse è a 1 di default e io nn lo sapevo)...

Comunque la funzione instr serve per cercare in un testo un input dato.

esempio:
dim i as integer
i = Instr(1, "come stai?", "me")

se i è = a 0 significa che in "come stai?" non c'è la parola "me" ma visto che c'è restituirà un valore numerico, questo valore numerico è dato dal fatto che vb controlla ogni carattere, prima "c" poi "o" poi "m" e così via finche non trova "me" quando lo trova restituisce la sua "posizione" cioè a che punto sta nella stringa + 1 cioè
logicamente sarebbe:

COME STAI?

C = 1° carattere
O = 2° carattere
e poi viene ME quindi uno pensa "dovrebbe restituire 2" invece cè il +1 quindi restituisce 3
praticamente al posto di fermarsi alla M si ferma SEMPRE alla 2° lettera della parola e se uno ricerca ad esempio solo "m"?
in questo caso la seconda lettera non c'è ma si ferma comunque dopo la prima lettera della parola

è per questo che in alcuni casi si mette:
dim i as integer
i = Instr(1, "come stai?", "me") + 1

In questo modo ritorna un valore PRECISO che si ferma prima della parola cercata...

Però la funzione instr se vedi ha come primo parametro "1" che significa? Significa che la ricerca si ferma al primo risultato, se uno mette per esempio "2" come di seguito: (anche se nn ha senso ma è per farti capire...lol)

instr(2, "come stai? Le mamme...", "me")

in questo caso non si ferma al "me" di come ma al secondo "me" che trova, cioè quello di mamme.

Ti è più chiaro ora?

Riassumento la sintassi è la seguente:
Instr(valore integer di quando si deve fermare, "testo in cui cercare", "parola da cercare")

PM Quote