Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.016 c
1-46820
region
2003-05-02 21:59
2003.05.15
TListBox


8-46855
ionv
2003-02-06 14:05
2003.05.15
Обновление экрана


6-46882
Dudao++
2003-03-14 09:47
2003.05.15
Линки в html доках


1-46735
bxMax
2003-04-30 16:01
2003.05.15
Как узнать место занимаемое объектом в памяти?


8-46857
Link
2003-02-02 14:03
2003.05.15
Где взять русскую документацию по Microsoft Speech API ?




   Наверх