Abe hora
4 отговора
234 прегледа
Abe hora
Kak se preobrazuva Hex v Str i obratno. Niamam predvid int stoinost v str. Demek samata Hex stoinost, vse edno $05 primerno.
Re: Abe hora
IntToHex
IntToHex converts a number into a string containing the number's hexadecimal (base 16) representation. Value is the number to convert. Digits indicates the minimum number of hexadecimal digits to return.

IntToHex converts a number into a string containing the number's hexadecimal (base 16) representation. Value is the number to convert. Digits indicates the minimum number of hexadecimal digits to return.
Страходен пример си дал :)
Обратното (StrToHex) май трявба да се пише.
Трябва да има и съобщение за грашка, ако символът е извън Range
not (UpCase(s[ i ]) in ['0'..'9','A'..'F']).
Ако искаш да се изучиш, може да си дефинираш и тип на Hex символите
type
tHex = ('0'..'9','A','F');
Трябва да има и съобщение за грашка, ако символът е извън Range
not (UpCase(s[ i ]) in ['0'..'9','A'..'F']).
Ако искаш да се изучиш, може да си дефинираш и тип на Hex символите
type
tHex = ('0'..'9','A','F');
Редактирано от NikB на
Re: Страходен пример си дал :)
Не виждам какво му е "страхотното", просто си е травиално, но не си обърнал внимание на часта И ОБРАТНО.. Човека пита как може да обърне стриг в байтове и ОБРАТНО (шестнадесетично представени), и аз му давам вградена функция на Делфи 6, която си го потдържа това... За да обърсе стринг в байтове не се изсиква кой знае какъв "напън"... е може и да се направи по най-сложния начин, но едва ли тук е мястото за изпъкване...
Иначе функцията е доста травиална, но много от хората забравят за функциите в Делфи от типа XXXDef, тогава май нещата "заспиват"...
function Hex2Dec(const S: string): longint;
var
HexStr: string;
begin
if Pos('$', S) = 0 then HexStr := '$' + S
else
HexStr := S;
Result := StrToIntDef(HexStr, 0);
end;
Иначе функцията е доста травиална, но много от хората забравят за функциите в Делфи от типа XXXDef, тогава май нещата "заспиват"...
function Hex2Dec(const S: string): longint;
var
HexStr: string;
begin
if Pos('$', S) = 0 then HexStr := '$' + S
else
HexStr := S;
Result := StrToIntDef(HexStr, 0);
end;