Nur 2 hexwerte im String von Short.

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

funkheld

Betreff: Nur 2 hexwerte im String von Short.

BeitragFr, Okt 07, 2016 11:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, guten Tag.

Der hex_text beträgt immer 4 Hexwerte , obwohl ich Short festgelegt habe.
Wie kann man bitte die Ausgabe auf "0000" 2 Hexwerte festlegen ?

Danke.
Gruss

Code: [AUSKLAPPEN]

global wert:short
global hex_text:string

hex_text=Hex$(wert)

BladeRunner

Moderator

BeitragFr, Okt 07, 2016 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Indem man die Ausgabe auf vier Felder einkürzt, hier bieten sich Slices (siehe dazu die Doku) an:
BlitzMax: [AUSKLAPPEN]
Print("$"+Hex(Short("1337") )[4..] ) 

das [4..] sorgt dafür dass der String ab der 5en Stelle genommen wird- er wird also wie ein Array behandelt.

Die Alternativen wäre zB. Right oder Mid.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Thunder

BeitragFr, Okt 07, 2016 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Kleiner Zusatz bezüglich "obwohl ich Short schreibe":

Das war eigentlich ein sehr sinnvoller Ansatz von dir, aber leider kann BlitzMax keine Überladungen.
Das heißt, Hex$() nimmt einen Parameter vom Typ Int, und wenn du ihm einen Short gibst, wird der erst nach Int gecastet und dann übergeben. Hex$() kann also nicht zwischen verschiedenen Datentypen unterscheiden und daher nicht entsprechend reagieren.

Es wäre natürlich möglich die Funktion so zu programmieren, dass sie gar keine führenden Nullen ausgibt, aber wenn man fixe 4 stellen möchte (war übrigens verwirrt, dass du es 2 hexwerte nanntest), ist das auch unpraktisch.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

funkheld

BeitragFr, Okt 07, 2016 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke.
Ich habe jetzt dieses Right genommen und funktioniert auch wunderbar.

WriteLine OutFile,Right$( hex_text,4)

Vorher:
0000FFC0

Nachher:
FFC0


Gruss

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group