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 - confrontsre due text
Forum - Visual Basic 6 - confrontsre due text

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
salve ragazzi....
e' da qualche giorno che mi sto' scervellando su un problema , forse piuttosto semplice ,....

io ho due text con una serie di numeri separati tra di loro da uno spazio es. no 256 ma 2 5 6 ....
devo fare in modo di confrontare due numeri per colta di una text se non presenti nell'altra
es.
text(0)= 1 3 5 6 8 2
text(1)= 6 8 3 4 9 0

devo verificare se i numeri della text(0) 1 3 sono presenti nella text(1) ma non separatamente ma assieme come si farebbe su un ambo del gioco lotto (tanto per intenderci).....e poi passare ai numeri 5 6 e cosi' via.....

avete qualche idea sulla fattibilita' di questo?

ciao a tutti  

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 10:02
Giovedì, 13/11/2008
allora tu hai detto che sia in text(0) che in text(1) tutti i numeri sono separati da uno spazio, allora che significato ha riunirli?

Non puoi cercare direttamente "1 3" visto che se sn presenti in text(1) si presentano sotto questa forma?

Cmq non sei stato molto chiaro nel descrivere il tuo probl...

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 10:54
Giovedì, 13/11/2008
no non voglio riunirli voglio cercare "1 3" , solo che i numeri cambiano dopo un po' non sono sempre gli stessi....io ho messo dei numeri d'esempio....
vorrei ma non riesco creare un ciclo for che mi cerchi "? ?" all'interno della text(1)  
non riesco ad impostare un ciclo for che mi permetta di cercare questo


PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 11:57
Giovedì, 13/11/2008
Per cercare qualcosa si utilizza la funzione Instr() la cui sintassi è:

dim i as integer
i = Instr(1, "testo in cui cercare", "parola da cercare")

Quindi nel tuo caso sarà:

i = Instr(1,text(1), "? ?")

i assume il valore 0 se non viene trovato niente, altrimenti assume un valore numerico che corrisponde al numero dei caratteri che ci sn prima della parola cercata...esempio:
Hai un testo così:
Questa è una prova.
Con Instr cerchi "prova", allora i avrà valore: 14 perchè:
Q(1)u(2)e(3)s(4)t(5)a(6) (7)è(8) (9)u(10)n(11)a(12) (13)

In realtà sono 13 ma la instr restituisce n + 1 quindi in questo caso 13 + 1 = 14

Ma perchè all'inizio della funzione ho messo 1 (Instr(1,...)?
Perchè quell'1 significa che la instr deve restituire il numero di caratteri contando dall'inizio fino a prova + 1 e se si ripreme ad esempio il pulsante per la ricerca e se nel testo c'è un'altra parola che è sempre prova, quindi due "prova" cosa deve fare? L'1 indica che deve fermarsi al primo, quindi se abbiamo:
Questa è una prova, cioè prova...
In questo caso la Instr si ferma sempre a 14 quindi sempre alla prima "prova" che trova. Come si fa a dirgli che ogni volta ke si preme il pulsante di ricerca si deve andare a cercare le parole successive? Si deve incrementare l'1, in questo modo:
fuori dalla sub si dichiara: dim i as integer
nella form_load si mette: i = 1
nella sub del pulsante si mette:
i = Instr(i,...,...)
if i > 0 then
i = i + 1 'Incremento per la prox ricerca
msgbox "trovata parola"
else
i = 1 'se non la trova si riazzera
end if

+ o - hai capito come funziona?

Ultima modifica effettuata da GrG il 13/11/2008 alle 11:59
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 18:18
Giovedì, 20/11/2008
grazie mille della abbondante spiegazione, sono riuscito a risolvere il problema....

  

PM Quote