Oppure

Loading
13/12/07 14:51
GrG
Ciao!
Ho un ennesimo problema, io sto realizzando un programma..., ma qualkosa nn va..ecco un pezzo di codice:

Dim b As Integer
Dim a(1 To 9999999) As String
Dim i As Integer
Dim j As Integer
Dim linea(1 To 9999999) As String
Dim arcvir(1 To 9999999) As String
Dim numln As Integer
Dim numln2 As Integer

Open Text1.Text For Input As #1
Do
numln = numln + 1
Line Input #1, linea(numln)
Loop Until EOF(1) = True
Close #1

Open App.Path & "\archivivirali.txt" For Input As #1
Do
numln2 = numln2 + 1
Line Input #1, arcvir(numln2)
Loop Until EOF(1) = True
Close #1

For i = 0 To numln
j = j + 1
For X = 1 To numln2

If arcvir(X) = linea(j) Then
MsgBox "Fine!"
Exit Sub
End If
Next X
Next i



questo codice funziona, ma x metà...Cioè
io in archivivirali.txt ho scritto:
--------------------------------------------------
ciao
salve
buongiorno
[...]
--------------------------------------------------
mentre nel file da controllare (text1) se ho:
--------------------------------------------------
ciao
kkk
tris
[...]
--------------------------------------------------

visto che analizza stringa x stringa il mio programma vede ciao = ciao e allora manda la msgbox; questo accade anche se ad esempio ciao nel file il cui percorso è nella text1 si trova x esempio al 10° posto xkè il mio programma analizza riga x riga di archivivirali.txt con il file, quindi accade:
ciao = kkk
niente msgbox xke ciao non è = a kkk
e quando vede:
ciao = ciao
manda la msgbox xkè ciao è = a ciao

xò se l'elenko del file della text1 è così:
--------------------------------------------------
kkk
lll
[...Diciamo che ci sono altri 9090 file...]
ciao
--------------------------------------------------
quindi se ciao è x esempio il 9091° file il mio programma non manda nessuna msgbox mentre invece dovrebbe farlo...
Dov'è il problema?
Ultima modifica effettuata da GrG 13/12/07 14:51
aaa
13/12/07 18:07
LuigiBiasi
ma nell'array c'è la parola "ciao"? cioè dico quando vai a salvare le parole nell'array c'è la parola "ciao" nel secondo array?
Ultima modifica effettuata da LuigiBiasi 13/12/07 18:08
aaa
13/12/07 18:34
GrG
Postato originariamente da LuigiBiasi:

ma nell'array c'è la parola "ciao"? cioè dico quando vai a salvare le parole nell'array c'è la parola "ciao" nel secondo array?


Io non devo salvare niente io devo leggere 2 file e metterli a confronto...
aaa
13/12/07 19:22
LuigiBiasi
scusa tu le parole non le inserisci nell'array??!!
altrimenti non puoi confrontarli!
Devi solo verificare se la parola "ciao" è presente negli array.
Ciao.
aaa
14/12/07 15:15
GrG
Nn riesco a capire bene...
Io solitamente sono su msn verso le 18:00/18:30...o + tardi...

Xò dmn(sabato) avrò da fare x tutta la giornata.
Ultima modifica effettuata da GrG 14/12/07 18:24
aaa
14/12/07 20:24
P4p3r0g4
non so perchè non ti funzioni ma qui sicuramente c'è un errore.
For i = 0 To numln
j = j + 1
For X = 1 To numln2

If arcvir(X) = linea(j) Then
MsgBox "Fine!"
Exit Sub
End If
Next X
Next i 


j infatti essendo costantemente i + uno andra a finire a essere numln+1 che supera l'ultimo elemento dell'array linea di 1

edit: si aggiunga l'inutilità di j. non basta i??
Ultima modifica effettuata da P4p3r0g4 14/12/07 20:25
aaa
14/12/07 21:51
GrG
è la stessa cosa... anke se faccio:

for i = 1 to numln
[...]
if arcvir(x) = linea(i)
[...]
next i

nn mi funge...

Eppure prima il codice mi funzionava!!
Ultima modifica effettuata da GrG 14/12/07 21:51
aaa
15/12/07 15:06
P4p3r0g4
Postato originariamente da GrG:

è la stessa cosa... anke se faccio:

for i = 1 to numln
[...]
if arcvir(x) = linea(i)
[...]
next i

nn mi funge...

Eppure prima il codice mi funzionava!!

Cosa? è impossibile...

Ps: altra inesattezza.
setta i (e j?) a long altrimenti non copri l'intervallo.
integer = da -32,768 a 32,767
9999999 > 32767
Ultima modifica effettuata da P4p3r0g4 15/12/07 15:10
aaa