GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
Ciao!
Ho un ennesimo problema, io sto realizzando un programma..., ma qualkosa nn va..ecco un pezzo di codice:
Codice sorgente - presumibilmente VB.NET |
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 il 13/12/2007 alle 15:51 |
|
LuigiBiasi (Normal User)
Expert
Messaggi: 237
Iscritto: 15/09/2006
|
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 il 13/12/2007 alle 19:08 |
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
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...
|
|
LuigiBiasi (Normal User)
Expert
Messaggi: 237
Iscritto: 15/09/2006
|
scusa tu le parole non le inserisci nell'array??!!
altrimenti non puoi confrontarli!
Devi solo verificare se la parola "ciao" è presente negli array.
Ciao.
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
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 il 14/12/2007 alle 19:24 |
|
P4p3r0g4 (Member)
Guru
Messaggi: 1319
Iscritto: 29/12/2006
|
non so perchè non ti funzioni ma qui sicuramente c'è un errore.
Codice sorgente - presumibilmente VB.NET |
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 il 14/12/2007 alle 21:25 |
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
è 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 il 14/12/2007 alle 22:51 |
|
P4p3r0g4 (Member)
Guru
Messaggi: 1319
Iscritto: 29/12/2006
|
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 il 15/12/2007 alle 16:10 |
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
Proprio nn va...
Cmq grazie lo stesso, A questo punto va bene se ti mando il progetto x xxxxx??
(praticamente sarebbe il vb-antivirus anke se l'ho fatto un pò mio e l'ho continuato aggiungiendoci anche codici di virus...)
p.s. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
pp.s: Cmq se devo essere proprio sincero il mio prog. nn mi ha più funzionato da quando ho modificato l'ultima volta archivivirali (ke è un .txt così se vuoi ti vedi alcune righe di codici ke ho trovato)
Ultima modifica effettuata da gius il 16/12/2007 alle 10:09 |
|