Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.11.29;
Скачать: CL | DM;

Вниз

Ещё раз об "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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.007 c
15-1426787074
Rouse_
2015-03-19 20:44
2015.11.29
Просто опрос, мне для статистики для статьи


2-1402664348
Who_are_you?
2014-06-13 16:59
2015.11.29
Два байта в одно число


15-1427465159
Polevi
2015-03-27 17:05
2015.11.29
java jsp


15-1427722087
KSergey
2015-03-30 16:28
2015.11.29
Подмена адреса функции WinAPI


15-1428269402
Юрий
2015-04-06 00:30
2015.11.29
С днем рождения ! 6 апреля 2015 понедельник