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

Вниз

Функция перевода чисел из 10-ой системы в 16-ю   Найти похожие ветки 

 
Pliajnik   (2003-04-30 23:55) [0]

Дайте пожалуйста...


 
default ©   (2003-04-30 23:58) [1]

function IntToHex(Int: LongWord): String;
const
MasDig = "0123456789ABCDEF";
var
i, NextHexDigit: Byte;
Priem: LongWord;

begin

if Int = 0 then begin Result := "0"; Exit; end;

for i := 1 to 8 do
begin
asm
mov Priem,0
mov ecx,Int
shld Priem,ecx,4
shl Int,4
mov al,byte ptr Priem
mov NextHexDigit,al
end;

Result := Result + MasDig[NextHexDigit + 1];
end;

while Result[1] = "0" do Delete(Result, 1, 1);

end;

кстати довольно оригинальная...


 
Pliajnik   (2003-05-01 00:51) [2]

спасибо


 
Anatoly Podgoretsky ©   (2003-05-01 01:29) [3]

IntToHex(StrToInt(S),N)


 
Ihor Osov'yak ©   (2003-05-01 01:39) [4]

1. Если под числами понимать строки - то см. Anatoly Podgoretsky © (01.05.03 01:29) с маленьким дополнением:

StrToInt имеет обычай генерировать ексепшен, если строку нельзя преобразовать в интеджер. Поэтому этот код может и придется брать в try except end, в зависимости от специфики задачи.
Или пользовть Val с временной переменной вместо StrToInt

2. Если под числами понимать integer и иже с ними - то и преоьразовывать как-бы ничего и надо :-)



 
Anatoly Podgoretsky ©   (2003-05-01 11:23) [5]

А если понимать integer то не приходится говорить о десятичной системе, кроме случая двоично-десятичных чисел.


 
sevlad   (2003-05-01 11:41) [6]

2 Ihor Osov"yak ©
try except end емеет смысл использовать если нужно уведомить об ошибке (или залогировать ошибку)
А если надо проглатить в лубом случае хоть что-то
IntToHex(StrToIntDef(S, что-то),N)



 
Ihor Osov'yak ©   (2003-05-01 12:57) [7]

2 sevlad (01.05.03 11:41)

Вот в любом случае и не проглотишь, ибо при определенных входных данных может быть ексепшен. А его обрабатывать надо. Другой вопрос, с какой целью.

2 Anatoly Podgoretsky © (01.05.03 11:23) :-)


 
default ©   (2003-05-01 13:06) [8]

парню надо "пример" а не юзать бесконечно ф-ции написанные профессионалами Borland


 
sevlad   (2003-05-01 15:53) [9]

Ihor Osov"yak ©
Обрабатывать надо конечно, но если обработка заключаеться в уставке какого-то значения по умолчанию, без уведомления про ошибку - то почему бы не написать одну строчку как я сделал?



Страницы: 1 вся ветка

Текущий архив: 2003.05.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-46751
Carmen
2003-05-01 02:38
2003.05.15
Как сделать автоматическое обновление старой програми


1-46788
Начинака
2003-05-01 13:34
2003.05.15
ListView в runtime ...


14-47000
AZ
2003-04-26 23:18
2003.05.15
---|Ветка была без названия|---


1-46739
Asteroid
2003-05-02 20:39
2003.05.15
Var и const параметры


1-46769
Шишкин Илья
2003-05-01 12:28
2003.05.15
Работа с маской