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 - LIVEUPDATE [VB6]
Forum - Visual Basic 6 - LIVEUPDATE [VB6]

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
davidebrescia (Normal User)
Newbie


Messaggi: 14
Iscritto: 17/12/2010

Segnala al moderatore
Postato alle 13:54
Martedì, 04/01/2011
Salve a tutti, ho realizzato un semplice sistema di Liveupdate e devo dire che tutto sommato nella sua semplicità funziona e raggiunge lo scopo prefissato.
Attualmente funziona in questo modo, tutte le volte che l'utente clicca su LIVEUPDATE il sistema scarica due files specifici da remoto e sostituendoli a quelli in uso sul pc dell'utente, in tal modo vengono aggiornati sempre anche quando in realtà non vi è stata alcuna modifica sul lato server.Ora mi piacerebbe invece fare in modo di controllare le dimensioni del file su server in modo da verificare se queste dimensioni differiscono dal file presente sulla macchina utente e in tal caso scaricare l'aggiornamento. Esempio ho un file chiamato programma.exe dimensioni su server ftp 100 Kb dimensioni su macchina utente 100 Kb, in questo caso i due file messi a confronto sono identici e il liveupdate non deve eseguire alcun aggiornamento, nel caso in cui invece il file programma.exe presente su ftp fosse 200 Kb in questo caso il liveupdate dopo averlo confrontato con il file sulla macchina utente rimasto a 100 Kb dovrebbe accorgersi delle variate dimensioni e quindi provvedere a scaricare l'aggiornamento...quindi in buona sostanza mi serve un algoritmo che controlla le dimensioni del file su server ftp e le confronti con il file su macchina utente e da qui esegua l'aggiornamento oppure no...qualcuno di voi ha qualche suggerimento o idea da propormi? Grazie in anticipo...:)

PM Quote
Avatar
poeo85 (Normal User)
Pro


Messaggi: 104
Iscritto: 27/01/2010

Segnala al moderatore
Postato alle 14:01
Martedì, 04/01/2011
Allora soluzione uno..
Funzione FileLen
Restituisce un valoreLong che specifica la lunghezza di un file espressa in byte.

Sintassi

FileLen(nomepercorso)

L'argomento obbligatorio nomepercorso è un'espressione stringa che specifica il nome del file. Può includere la directory o cartella e l'unità.

Osservazioni

Se il file specificato è aperto nel momento in cui viene chiamata la funzione FileLen il valore restituito rappresenterà la dimensione del file prima dell'apertura.

Nota   Per ottenere la lunghezza di un file aperto, utilizzare la funzione LOF.

fonte msdn


soluzione due...
se ti salvi la versione in un file di testo???sia in locale che sul server e fai solo una lettura all'avvio o alla pressione del bottone?

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 14:01
Martedì, 04/01/2011
secondo me non puoi basarti sulla dimensione per stabilire se due files sono differenti.

Sarebbe meglio porre nella directory un file(testo, xml) con la versione dei files da scaricare.
Un file similare risiederà anche sul client.

Quando fai l'update, controlli la versione.

PM Quote
Avatar
davidebrescia (Normal User)
Newbie


Messaggi: 14
Iscritto: 17/12/2010

Segnala al moderatore
Postato alle 14:18
Martedì, 04/01/2011
Grazie ragazzi per le vostre gentili risposte, in effetti avevo gia fatto tempo fa un sistema di liveupdate che verificava attraverso due file di testo se era presente un aggiornamento oppure no e quindi si comportava di conseguenza, ma mi pareva un sistema poco elegante di programmare, una sorta di trucchetto per aggirare l'ostacolo, ma per fare una cosa piu da "figo"  pensavo di verificare direttamente la dimensione del file su ftp e comportarmi di conseguenza per l'aggiornamento..:asd:

PM Quote
Avatar
poeo85 (Normal User)
Pro


Messaggi: 104
Iscritto: 27/01/2010

Segnala al moderatore
Postato alle 14:21
Martedì, 04/01/2011
però come ha detto lorenzo non ti puoi basare esclusivamente sulla dimensione del file...
magari se ti fai il file di testo poi potresti salvarti l'ultimo utente che ha fatto l'accesso da quel pc...ecc usi un unico file
poi...

ogniuno ha le proprie esigenze :D

PM Quote
Avatar
delta (Member)
Rookie


Messaggi: 37
Iscritto: 25/08/2010

Segnala al moderatore
Postato alle 14:28
Martedì, 04/01/2011
secondo me potresti calcolare l'hash del file locale e quello sul server. se uguali, dici all'utente che e' aggiornato, altrimenti scarichi il file hostato sul server. la dimensione temo che non serva proprio a niente, a meno che il file sia modificato solo in scrittura (append), ma e' molto piu' comodo il metodo con l'hash...

PM Quote
Avatar
davidebrescia (Normal User)
Newbie


Messaggi: 14
Iscritto: 17/12/2010

Segnala al moderatore
Postato alle 14:28
Martedì, 04/01/2011
Ok ora faccio qualche esperimento..se trovo un sistema..tattico ve lo dico.ciao

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 14:45
Martedì, 04/01/2011
il sistema del calcolo HASH probabilmente è il migliore e non necessita neanche di un file aggiuntivo di versioning. Te lo consiglio.

PM Quote
Avatar
davidebrescia (Normal User)
Newbie


Messaggi: 14
Iscritto: 17/12/2010

Segnala al moderatore
Postato alle 14:58
Martedì, 04/01/2011
Ok .. però non conosco il codice da inserire per calcolare il valore hash di due file di cui uno si trova su server ftp, qualcuno mi può postare un esempio?

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo