Форум: "Прочее";
Текущий архив: 2015.11.29;
Скачать: [xml.tar.bz2];
ВнизЕщё раз об "IncDay" Найти похожие ветки
← →
Германн © (2015-03-29 01:53) [0]Как вам такой код:
function HexToInt(S: string): Integer; // Переводим Хекс в Дес
var
b: Byte;
c: Char;
begin
Result := 0;
S := UpperCase(S);
for b := 1 to Length(S) do
begin
Result := Result * 16;
c := S[b];
case c of
"0" .. "9":
Inc(Result, Ord(c) - Ord("0"));
"A" .. "F":
Inc(Result, Ord(c) - Ord("A") + 10);
else
raise EConvertError.Create("No Hex-Number");
end;
end;
end;
:)
← →
Inovet © (2015-03-29 02:54) [1]При написании универсального кода, я бы исходил из предположения неизвестности кодировки цифр букафами.
← →
Eraser © (2015-03-29 03:47) [2]самое забавное, что стандартная strtoint уже умеет переводить хекс в дек )
← →
junglecat © (2015-03-29 12:11) [3]> Result := Result * 16;
неспортивно. надо Result := Result shl 4;
← →
KilkennyCat © (2015-03-29 13:19) [4]неспортивно. надо Result shl:= 4; но делфи так не может...
← →
Дмитрий С © (2015-03-29 17:25) [5]Предлагаю добавить const в параметр, убрать строку UpperCase и добавить ещё одну секцию case.
← →
KilkennyCat © (2015-03-29 19:35) [6]raise прерывает цикл?
← →
Кщд © (2015-03-29 20:28) [7]коль уж можно докапываться до всего, то не "No Hex-Number", а "Not a hex number"
← →
Jeer © (2015-03-29 20:39) [8]Я ничего не пропустил? На завтра точно будет incday? :)
← →
junglecat © (2015-03-29 20:44) [9]кстати, код-то не рабочий.
Не смог преобразовать $BC, 0xBC, BCh
← →
Sha © (2015-03-29 21:15) [10]> junglecat © (29.03.15 20:44) [9]
> кстати, код-то не рабочий.
> Не смог преобразовать $BC, 0xBC, BCh
эти тоже че-та не очень IntToHex, BinToHex, HexToBin )
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2015.11.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c