Wunsch: Funktion zum Vergleich von Versionsnummern
- embl-structures
- Beiträge: 327
- Registriert: 13 Jan 2010, 18:41
- Wohnort: Heidelberg
- Kontaktdaten:
Wunsch: Funktion zum Vergleich von Versionsnummern
Gruss
frank
Re: Wunsch: Funktion zum Vergleich von Versionsnummern
was wäre denn der Algorithmus für einen
Der winst kann das in der Funktion requiredWinstVersion für seine eigene Versionsnummer - aber da ist bekannt, wie sie aufgebaut ist. Im Prinzip werden String-Vergleich für jeden der durch Punkt getrennten Abschnitte durchgeführt. Ist das ein allgemeintaugliches Verfahren?Vergleich von Versionsnummern (2.4.5, 7.8B3, 1.2_c, 9.0.1 (DE), etc.)
Gruß,
Rupert Röder
Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.
Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.
uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de
- embl-structures
- Beiträge: 327
- Registriert: 13 Jan 2010, 18:41
- Wohnort: Heidelberg
- Kontaktdaten:
Re: Wunsch: Funktion zum Vergleich von Versionsnummern
Im Detail hatte ich mir das noch nicht ueberlegt. Sicher ist 2.5.5>2.4.5>2.4.3. Aber das scheint wInst wie Sie schreiben, bereits in dieser Art zu handhaben. Komplexere Versionsnummern werden auch von den Entwicklern nicht immer gleich behandelt. Mal ist 1.2b>1.2, mal 1.2b<1.2....Vielleicht war der Vorschlag doch zu unausgegoren (entstanden beim Schreiben eines wInst-Skriptes). Ich denke, mit dem Standard-Stringvergleich von wInst kann ich erst mal leben.r.roeder hat geschrieben:was wäre denn der Algorithmus für einenVergleich von Versionsnummern (2.4.5, 7.8B3, 1.2_c, 9.0.1 (DE), etc.)
frank
- embl-structures
- Beiträge: 327
- Registriert: 13 Jan 2010, 18:41
- Wohnort: Heidelberg
- Kontaktdaten:
Re: Wunsch: Funktion zum Vergleich von Versionsnummern
Ich hatte verstanden, dass das in der aktuellen Implementation der Fall sei. Dass ich also "8.2.0" und "8.2.1" vergleich kann und das korrekte Resultat erhalte. Bei folgendem Code laeuft das Skript aber jedes Mal (!) durch den ersten if-Teil und nie durch den "else"-Teil:r.roeder hat geschrieben:Im Prinzip werden String-Vergleich für jeden der durch Punkt getrennten Abschnitte durchgeführt. Ist das ein allgemeintaugliches Verfahren?
Code: Alles auswählen
[Aktionen]
defvar $v1
defvar $v2
set $v1 = "8.2.0"
set $v2 = "8.2.1"
if ("$v1" < "$v2")
pause $v1 + " ist kleiner als " + $v2
else
pause $v2 + " ist kleiner als " + $v1
endif
set $v1 = "8.2.1"
set $v2 = "8.2.0"
if ("$v1" < "$v2")
pause $v1 + " ist kleiner als " + $v2
else
pause $v2 + " ist kleiner als " + $v1
endif
frank
- embl-structures
- Beiträge: 327
- Registriert: 13 Jan 2010, 18:41
- Wohnort: Heidelberg
- Kontaktdaten:
Re: Wunsch: Funktion zum Vergleich von Versionsnummern
frank
- embl-structures
- Beiträge: 327
- Registriert: 13 Jan 2010, 18:41
- Wohnort: Heidelberg
- Kontaktdaten:
Re: Wunsch: Funktion zum Vergleich von Versionsnummern
Ich komme nochmals auf diese Thread zurueck: Fuer WInst (v 4.10.8.0) scheint 3.6.9 >= 3.6.10 zu gelten. Deswegen ist der Stringvergleich wie er in WInst implementiert ist fuer meine Zwecke nicht brauchbar, weil er nur so lange funktioniert, wie die Terme zwischen den Punkten Einziffrig sind.r.roeder hat geschrieben:Hallo,
was wäre denn der Algorithmus für einenDer winst kann das in der Funktion requiredWinstVersion für seine eigene Versionsnummer - aber da ist bekannt, wie sie aufgebaut ist. Im Prinzip werden String-Vergleich für jeden der durch Punkt getrennten Abschnitte durchgeführt. Ist das ein allgemeintaugliches Verfahren?Vergleich von Versionsnummern (2.4.5, 7.8B3, 1.2_c, 9.0.1 (DE), etc.)
Gruß,
Rupert Röder
Ich reduziere die Anfrage also auf Versionsnummern vom Typ "Gruppen von durch Punkten getrennten Ziffern". Wie kann ich solche Versionsnummern vergleichen?
Gruss
frank
- j.schneider
- uib-Team
- Beiträge: 2045
- Registriert: 29 Mai 2008, 15:14
Re: Wunsch: Funktion zum Vergleich von Versionsnummern
Code: Alles auswählen
if (CompareDotSeparatedStrings("3.6.9", "3.6.10") = 1)
Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.
Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.
uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de
- embl-structures
- Beiträge: 327
- Registriert: 13 Jan 2010, 18:41
- Wohnort: Heidelberg
- Kontaktdaten:
Re: Wunsch: Funktion zum Vergleich von Versionsnummern
Super! Offenbar ist die Version meines WInst-Handbuches deutlich aelter (version 4.9.0) als meine WInst-Versionj.schneider hat geschrieben:Es gibt die Funktion CompareDotSeparatedStrings.Code: Alles auswählen
if (CompareDotSeparatedStrings("3.6.9", "3.6.10") = 1)

frank