Rubrik: Dateisystem · Dateien allgemein | VB-Versionen: VB6 | 22.10.07 |
Versionsnummern vergleichen Diese Funktion vergleicht zwei Dateiversionsnummern und gibt True zurück, wenn die zweite Versionsnummer höher ist als die erste. | ||
Autor: Lars M. | Bewertung: | Views: 11.281 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Nachfolgende Funktion vergleicht zwei Dateiversionsnummern und gibt True zurück, wenn die zweite Versionsnummer höher ist als die erste. Diese Prüfung ist immer dann wichtig, wenn es darum geht, zu prüfen, ob eine bereits vorhandene Datei durch eine neuer Datei zu ersetz werden muss.
Private Function IsNewVersion(ByVal sCurrent As String, _ ByVal sNew As String) As Boolean ' Vergleicht die derzeitige mit der womöglich neueren Version ' Die Versionsnummern müssen die gleiche Anzahl Teilversionen haben. Dim saCurrrent() As String Dim saNew() As String Dim nLength As Integer Dim i As Integer If Trim$(sCurrent) = "" Or Trim$(sNew) = "" Then Exit Function ' Versionsstring in Array aufsplitten saCurrrent = Split(sCurrent, ".") saNew = Split(sNew, ".") ' Obere Grenze des ersten Arrays wird als Länge genommen. ' Das zweite Array muss gleiche Länge haben, ' damit Vergleich möglich ist nLength = UBound(saCurrrent) If UBound(saNew) <> nLength Then Exit Function ' Array von unten nach oben, also in der Versionsnummer von ' links nach rechts durchlaufen For i = 0 To nLength ' Differenz prüfen Select Case Val(saNew(i)) - Val(saCurrrent(i)) Case Is < 0 ' Teilnummer der "neuen" Version ist kleiner Exit For Case 0 ' do nothing - nächste Stelle prüfen Case Is > 0 ' Teilnummer der "neuen" Version ist größer IsNewVersion = True Exit For End Select Next i End Function
Anmerkung:
Wie man die Versionsnummer einer Datei ermittelt, zeigt dieser Tipp:
Versionsinformationen einer Datei ermitteln