Hi,
ich würde gerne die Versionsnummer meiner AutoIt Scripte in das Script hineinschreiben.
Meine Scripte heißen z. B.
Internettool 01 Test02.exe
oder
Internettool 02.exe
Nun will ich die Versionsnummer "01 Test02" bzw. "02" haben
Wie geht dies
Hi,
ich würde gerne die Versionsnummer meiner AutoIt Scripte in das Script hineinschreiben.
Meine Scripte heißen z. B.
Internettool 01 Test02.exe
oder
Internettool 02.exe
Nun will ich die Versionsnummer "01 Test02" bzw. "02" haben
Wie geht dies
Hi,
jetzt musst du die Datei einlesen,sodass du mit dem String arbeiten kannst. Dann musst du dir ein allgemeingültiges Muster suchen.
Z.B. alles nach dem ersten Leerzeichen ist Versionsnummer.
So long,
Mega
Wenn aber der Name z B. so heißt
"Internet Tool 02 Test02"
geht dies nicht
Gibt es keine Funktion die nach der ersten Zahl sucht?
Hi,
na klar. Es geht alles. Nur du musst sagen welche Muster du brauchst, damit es immer zutrifft.
Also immer alles nach der ersten Zahl?
So long,
Mega
immer alles ab der ersten Zahl
StringRegExp
Aber wenn der User die Datei umbenennt, ist es eine andere Version - würde ich nicht machen.
peethebee
Hi,
z.B.
[autoit]#include<Array.au3>
Global $dateiname = 'Internet Tool 02 Test02'
$versionsnummer = StringRegExp($dateiname, '\d.*', 3)
_ArrayDisplay($versionsnummer)
So long,
Mega
@th.meger
danke, genau das wollte ich
@pee
aber wenn der User die Datei im gleichen Schema also,
z. B. in Test tool 04 Test03 umbenennt, bleibt doch alles beim alten, da ich ja den Dateinamen auslese und davon dann die Versionsnummer ermittle.
Wie würdest du es machen. Vielleicht gefällt mir dies ja besser
hi
so bekommst alles auser die 0 raus...
$ver = StringRegExp("Internet Tool 02 Test02","1|2|3|4|5|6|7|8|9|0(.*)",1)
MsgBox(0,"",$ver[0])
mfg
//zu langsam...
Hi,
kein Problem!
@derda: Wenn dann :
[autoit]$ver = StringRegExp("Internet Tool 12 Test02", "[1-9].*", 1)
MsgBox(0, "", $ver[0])
Aber was gibt das für einen Sinn?
Naja egal, hauptsache der Threadowner ist glücklich
So long,
Mega
Hi!
Naja, Beispiel Galenda (wie immer bei mir :D):
Es gibt eine Globale Konstante namens $PROGRAMM_VERSION mit einem Wert. Damit ist die Version definiert. Vor jedem Release ändere ich den Wert dieser Variablen.
Ich hoffe ich verstehe dich nicht falsch, aber das scheint mir die normale, saubere Variante zu sein!?
Wenn du die Version aus dem Dateinamen ziehst und der User die Datei umbenennt, kann er das Ergebnis erzeugen, das er möchte - und das sollte man als Entwickler idR nicht so ohne weiteres zulassen...
peethebee
Hi,
also wenn du die Versionsnummer in deinem Skript weiter verwenden willst, und es anderen Usern schickst, dann würde ich es lieber selbst steuern, als den Dateinamen entscheiden zu lassen.
Wenn du die Nummer nur extrahieren /auslesen willst, dann ist es ja Wumpe.
So long,
Mega
ja klar da habt ihr recht,
hab aber keine Lust die Versionsnummer von Hand zu ändern (zu faul dazu :P)
Die Sachen dir ich schreibe, verwendet sowieso nur jemand anderer und ich selbst.
Und der Dateiname wird nicht umbenannt.
Deshalb lasse ich den Dateinamen auslesen.
Danke nochmals :tongue: