xsharp.eu • Software Version auslesen
Page 1 of 1

Software Version auslesen

Posted: Mon Aug 16, 2021 7:23 am
by Frank Müßner
Hallo zusammen,
vielleicht kann mir jemand einen Tip geben wie ich eine Software Version auslesen kann. Ich habe einen Wert
65792 und der stellt die Version 1.1.0 da.
Die Beschreibung lautet:

2 bytes major (highest bits)
1 byte minor
1 byte patch (lowest bits)

Wie kann ich aus 65792 -> 1.1.0 errechnen?
65539 -> 1.0.3

Grüße Frank

Software Version auslesen

Posted: Mon Aug 16, 2021 8:14 am
by wriedmann
Hallo Frank,
das sollte ein DWORD sein.
Ich nehme an, Du brauchst das in VO.
Am einfachsten geht das so:

Code: Select all

local nValue as dword
	
nValue := 65792     
oConsole:WriteLine( AsHexString( nValue ) )
und ergibt

Code: Select all

00010100
oder so:

Code: Select all

local nValue as dword
	
nValue := 65792     
oCon:WriteLine( AsHexString( nValue ) )
oCon:WriteLine( NTrim( nValue >> 16 ) )					// major 
oCon:WriteLine( NTrim( _And( nValue, 0x0000FF00 ) >> 8 ) )	// minor	 
oCon:WriteLine( NTrim( _And( nValue, 0x000000FF ) ) )		// patch 

nValue			:= 65539     
oCon:WriteLine( AsHexString( nValue ) )
oCon:WriteLine( NTrim( nValue >> 16 ) )					// major 
oCon:WriteLine( NTrim( _And( nValue, 0x0000FF00 ) >> 8 ) )	// minor	 
oCon:WriteLine( NTrim( _And( nValue, 0x000000FF ) ) )		// patch 
HTH
Wolfgang

Software Version auslesen

Posted: Mon Aug 16, 2021 8:22 am
by Frank Müßner
Hallo Wolfgang,

vielen Dank für Deinen Code. Das hilft mir weiter, ist stand da völlig auf dem Schlauch.

VO Code ist ok, kann ich ja auch in X# verwenden.

Besten Dank, Frank