Lino (Normal User)
Newbie
Messaggi: 14
Iscritto: 04/10/2007
|
Ragazzi ho bisogno di voi spero che mi possiate aiutare...
Ho la necessità di confrontare due file (a prescindere della loro estensione), per ora ho buttato giù qualche riga di codice aprendo i due file in binario e poi confrontandoli...ma mi sono bloccato sul confronto, se mi potesse aiutare o mi dareste qualche dritta mi farete un grosso favore
|
|
M@d_Hacker (Ex-Member)
Expert
Messaggi: 254
Iscritto: 25/02/2008
|
in ke senso confrontarli??
|
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
Se li vuoi confrontare, dopo averli aperto in binario, leggi una porzione del primo e un'altra del secondo e con una if confronti i due pezzi ...
e continui con gli altri pezzi fino alla fine ...
|
|
Lino (Normal User)
Newbie
Messaggi: 14
Iscritto: 04/10/2007
|
Postato originariamente da gantonio:
Se li vuoi confrontare, dopo averli aperto in binario, leggi una porzione del primo e un'altra del secondo e con una if confronti i due pezzi ...
e continui con gli altri pezzi fino alla fine ... |
Si praticamente era questo il modo metodo che volevo utilizzare, il mio unico problema è il confronto, io faccio così:
Codice sorgente - presumibilmente Delphi |
Private Sub cmdConfronta_Click() Open (destinazione del file) For Binary Access Read As #1 Open (la destinazione del file) For Binary Access Read As #2 If...... then MsgBox "I FILE SONO UGUALI", vbOKOnly Else MsgBox "I FILE NONO SONO UGUALI", vbCritical End If Close #1, #2 End Sub
|
è nel ciclo if non so cosa mettere |
|
antometal (Member)
Guru
Messaggi: 691
Iscritto: 12/09/2007
|
intanto devi prelevare i dati dai file con il get
poi vedi se i dati sono uguali
|
|
Lino (Normal User)
Newbie
Messaggi: 14
Iscritto: 04/10/2007
|
Postato originariamente da antometal:
intanto devi prelevare i dati dai file con il get
poi vedi se i dati sono uguali |
potresti essere un pò più preciso?? |
|
Overflow (Normal User)
Expert
Messaggi: 334
Iscritto: 11/01/2008
|
è nel ciclo if non so cosa mettere
|
prima di tutto l'if non è un ciclo (a meno che non venga utilizzato assieme ad un goto).
Il codice viene cosi:
Codice sorgente - presumibilmente VB.NET |
Private Sub cmdConfronta_Click() dim a as byte dim b as byte Open (destinazione del file) For Binary Access Read As #1 Open (la destinazione del file) For Binary Access Read As #2 while not eof(1) get #1,,a get #2,,b if a<>b then msgbox "i file non sono uguali" Close Exit Sub end if wend msgbox "i file sono uguali" Close End Sub
|
Ultima modifica effettuata da Overflow il 27/06/2008 alle 17:55 |
|
Lino (Normal User)
Newbie
Messaggi: 14
Iscritto: 04/10/2007
|
Postato originariamente da Overflow:
è nel ciclo if non so cosa mettere
|
prima di tutto l'if non è un ciclo (a meno che non venga utilizzato assieme ad un goto).
Il codice viene cosi:
Codice sorgente - presumibilmente VB.NET |
Private Sub cmdConfronta_Click() dim a as byte dim b as byte Open (destinazione del file) For Binary Access Read As #1 Open (la destinazione del file) For Binary Access Read As #2 while not eof(1) get #1,,a get #2,,b if a<>b then msgbox "i file non sono uguali" Close Exit Sub end if wend msgbox "i file sono uguali" Close End Sub
|
|
Grazie Overflow ci ero quasi arrivato, ma nn avevo considerato l'end of file ..
ora un problema che mi sorge è velocizzare il tempo di confronto, potrei dividere il contenuto della variabile "a" (ad esempio in 10 parti) in modo tale da fare un confronto con un insieme di dati ristretto?? se si come posso fare?? Ultima modifica effettuata da Lino il 28/06/2008 alle 18:09 |
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
Non ha senso fare un confronto leggendo carattere per carattere ... utilizza un buffer e leggi a blocchi ...
|
|