Zitat von
Thomas E.
Also werde ich wohl damit leben müssen.
Nicht unbedingt.
Die Str() Funktion ist halt für allgemeine Konvertierungen gemacht. Geht es nur um Bytes, könntest du die
$LIB "MCSBYTE.LIB"
in dein Programm einbinden. Dann wird die Konvertierung wesentlich schneller durchgeführt.
Allerdings ist dann jede Konvertierung nach Strings auf Byte eingeschränkt. Kommt darauf an, was du sonst noch in deinem Programm machst.
Falls das nicht geht, kannst du dir natürlich auch leicht eine eigene Byte-spezifische Str() Funktion machen.
Ohne Anspruch auf das Optimum nur zum Darstellen der Idee z.B. so:
Code:
function my_str(byval b as byte) as string
local s as string*3
if b>199 then
s="2"
b=b-200
elseif b>99 then
s="1"
b=b-100
else 'falls führende Nullen ausgegeben werden sollen
s="0" 'ansonsten rausnehmen
endif
while b>9 b =b-10
incr c
wend
b=b+48
if s <> "" then
c=c+48
s=s+chr(c)+chr(b)
else
s=chr(b)
endif
my_str=s
end function
Lesezeichen