PROCÉDURE PUBLIC Hexa2BinaySting(sHexa)
sEpcBin is string
sByteBin is string
sByteHexa is string
ni is int = 1
WHILE ni < Length(sHexa)
sByteHexa = Middle(sHexa,ni,2)
sByteBin = Int2BinaryString(HexaToInt(sByteHexa))
sByteBin = Complète("0",8 - Length(sByteBin),"0") + sByteBin
sEpcBin = sEpcBin + sByteBin
ni = ni + 2
END
RESULT sEpcBin
PROCÉDURE PRIVATE BinaryString2Hexa(sBinary)
sHexa is string
sByte is string
ni is int = 1
WHILE ni < Length(sBinary)
sByte = Middle(sBinary,ni,8)
sHexa = sHexa + NumToString(Val(sByte,2),"02X")
ni = ni + 8
END
RESULT sHexa
PROCÉDURE PRIVATE Int2BinaryString(Dividende) // passage du parametre nombre ENTIER à convertir
nDividende is int=Dividende // nombre à convertir
sBINAIRE is string // accumule les "modulo"
sChaineAffichée is string
nBase is int=2 // base 2 (ou 5, ou 7 ... )
nReste is int // reste de la division
ni is int
IF nDividende = 1 THEN
sBINAIRE+="1"
END
WHILE nDividende>1
nReste=modulo(nDividende,nBase)
sBINAIRE+=NumToString(nReste) // incrémente sBinaire
nDividende=IntegerPart(nDividende/nBase)
IF nDividende=1 THEN
sBINAIRE+="1"
END
END
FOR ni=Length(sBINAIRE) TO 1 STEP -1 // renverse la chaine
sChaineAffichée+=Middle(sBINAIRE,ni,1)
END
RESULT sChaineAffichée
by YVES ROULET
--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/Mensaje modificado, 27,diciembre 2022 - 15:54