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

Вниз

перевод из Dec в Hex   Найти похожие ветки 

 
Novichek ©   (2003-05-07 15:12) [0]

кто знает как перевести числа из десятичной системы в шестнадцатиричную и наоборот?


 
wal ©   (2003-05-07 15:15) [1]

IntToHex
С уважением.


 
Dms   (2003-05-07 15:16) [2]

практически никто, только я :)
BinToHex & HexToBin


 
Novichek ©   (2003-05-07 15:29) [3]

я не много не так вопрос задал:
есть переменная Q - типа byte;
нужно показать ее шестнадцатиричное значение в Label.


 
Dms   (2003-05-07 15:31) [4]

16-чное число - СТРОКА ! пиши куда хочешь !

ps и посмотри уже в хелп


 
Novichek ©   (2003-05-07 15:40) [5]

тогда где ошибка?

var
karb:byte
....
karb:=75;
bintohex(pchar(karb),pchar(label1.Caption),2);


 
Palladin ©   (2003-05-07 15:44) [6]

Z{LH

Label1.Caption:=IntToHex(q,2);


 
Novichek ©   (2003-05-07 15:49) [7]

спасибо, а как наоборот?


 
Palladin ©   (2003-05-07 16:09) [8]

function HexToInt(p_strHex:string):integer;
var
i,L:integer;
n:byte;
begin
if trim(p_strHex)="" then raise Exception.Create("HexToInt: Error 1");
L:=length(p_strHex);
result:=0;
for i:=L downto 1 do
begin
case p_strHex[i] of
"0".."9": n:=byte(p_strHex[i])-48;
"A".."F": n:=byte(p_strHex[i])-55;
"a".."f": n:=byte(p_strHex[i])-87
else raise Exception.Create("HexToInt: Error 2");
end;
if i=L then result:=result+n
else result:=result+n*(1 shl 4*(L-i));
end;
end;

q:=HexToInt(Label1.caption);


 
Zz_   (2003-05-07 16:14) [9]

function HexToInt(p_strHex:string):integer;
begin

Result := StrToInt("$"+p_strHex);

(c)не я


 
JohnnyJ ©   (2003-05-07 16:15) [10]

var i: integer;
h: string;
begin
...
i := StrToInt("$" + h);
...
end;


 
Palladin ©   (2003-05-07 16:22) [11]

эт точно...
дырявый память моя...


 
default ©   (2003-05-07 18:18) [12]

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;

вот моя версия
писал когда изучал основы асма


 
Anatoly Podgoretsky ©   (2003-05-07 19:44) [13]

Сначала во внутреннее представление из Dec - StrToInt
Затем из внутреннего представления в символьное Hex - IntToHex
Обратно StrToInt, IntToStr


 
Novichek ©   (2003-05-07 20:28) [14]

всем спасибо, очень помогли!!!



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

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

Наверх




Память: 0.49 MB
Время: 0.011 c
6-59818
AGAMEMNUM
2003-03-20 08:53
2003.05.19
Messenger


1-59746
MGA
2003-05-05 14:16
2003.05.19
Как писать программы без VCL?


4-59996
Hawker2007
2003-03-15 17:40
2003.05.19
GetWindowPlacement - ??????


1-59770
KSergey
2003-05-05 11:17
2003.05.19
TAction и кнопка


1-59712
tytus
2003-05-05 17:45
2003.05.19
MessageBeep