Non vi ho detto tutto sulle versioni

Ad integrazione dell'articolo "VersionController in VB.Net... e altro", prevengo la possibile obiezione dei lettori più attenti (e magari più avanti di me nella conoscenza di VB.Net) trattando la classe Version, altra novità di VB 2005.

Innanzitutto, pur essendo ragionevolmente sicuro dell'esistenza nel Framework di qualcosa di specificamente adatto alla bisogna del controllo di versione, avevo analizzato il problema da tutt'altro punto di vista, ricorrendo a mezzi semplici come i file di testo. Cioè, ho volutamente trascurato di cercare i mezzi specifici forniti dal Framework.

Che, naturalmente, ci sono. C'è ad esempio la classe Version, che espone, tra i tanti, il metodo CompareTo, cui si può passare per argomento un altro oggetto Version.
Posto che si possa ricavare la versione corrente dell'applicazione con:

    Dim MyVersion As Version = My.Application.Info.Version

Una volta letto il file di versione su Web, si può creare un oggetto Version usando quello tra i suoi costruttori che usa come parametro la stringa, e fare il confronto.

Così, è sufficiente modificare il metodo IsToUpdate in questo modo:

  Public Function IsToUpdate() As Boolean
    Dim webFile As String = URL & RemoteFileName
    Dim locFile As String = LocalPath & RemoteFileName
    If ScaricaFile(webFile, locFile) Then
Dim MyVersion As Version = My.Application.Info.Version Dim LastVersion As New Version(System.IO.File.ReadAllText(locfile)) Return (MyVersion.CompareTo(LastVersion) < 0)
Else Throw New VersionNotFoundException("Non è stato possibile scaricare il file") Return False End If End Function

Print | posted @ martedì 2 gennaio 2007 17:34

Comments have been closed on this topic.