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

Вниз

HexToBinary To Integer - проблема с преобразованием   Найти похожие ветки 

 
koha!   (2008-12-19 17:40) [0]

Парюсь по извлечению из hex-кодировки числа через бинарные данные


var
  temp,: string;
  I: integer;
  buf: array of char;

begin

//первый способ:
 temp:="000000ff";
 b := 0;
 setlength(buf,length(temp) div 2);
 HexToBin(PChar(temp),Pointer(buf), length(temp) div 2);
 mm.Lines.Add("Buf = "+IntToStr(integer(buf)));

//второй способ:
 HexToBin(PChar(temp),Pointer(@I), length(temp) div 2);
 mm.Lines.Add("Buf = "+IntToStr(I);


В любом случае не правильно возвращает значение
как в этом случае правильно преобразовать бинарные данные в число I: integer; Чего я не допонимаю?


 
Медвежонок Пятачок ©   (2008-12-19 17:59) [1]

Caption := IntToStr(StrToInt("$FFFFFFFF"));


 
koha!   (2008-12-19 18:03) [2]


> Медвежонок Пятачок ©   (19.12.08 17:59) [1]


про это я знал, но мне нужно в том способе разобраться - это принципиально.


 
Медвежонок Пятачок ©   (2008-12-19 18:13) [3]

и что? отладчик украли ?


 
koha!   (2008-12-19 18:42) [4]


> Медвежонок Пятачок ©   (19.12.08 18:13) [3]
> и что? отладчик украли ?


Да украли..., угу, и с пециально сигналы из космоса послали, что бы я сюда пошел и спросил...

И что в отладике я должен увидеть был? он там байты возвращает в таком прорядке, например число 7 hex: 00000007 = [0][0][0][7]
но при приведении типа Iinteger([0][0][0][7]) <> 7 вот и вопрос почему в каком порядке байты должны быть?


 
koha!   (2008-12-19 18:46) [5]

возможно смещения нехватает какого-то?


 
Медвежонок Пятачок ©   (2008-12-19 18:50) [6]

а может порядок байт интегера не такой как ты ожидаешь?


 
koha!   (2008-12-19 18:53) [7]


> Медвежонок Пятачок ©   (19.12.08 18:50) [6]
> а может порядок байт интегера не такой как ты ожидаешь?


- а какой?


 
Медвежонок Пятачок ©   (2008-12-19 18:57) [8]

var v,i : integer; pb : pByte; cStrInt,cStr : string;
begin
v := 7;
cStrInt := IntToHex(v,8);
pb := @v; cStr := "";
for i := 1 to 4 do
 begin
  cStr := cStr + IntToHex(pb^,2);
  Inc(pb);
 end;
ShowMessage(cStrInt + #13#10 + cStr);
end;


 
koha!   (2008-12-19 19:14) [9]


> Медвежонок Пятачок ©   (19.12.08 18:57) [8]


впоне доходчиво, сенкс..



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
15-1228794474
Slider007
2008-12-09 06:47
2009.02.01
С днем рождения ! 9 декабря 2008 вторник


2-1229432563
Медвежонок Пятачок
2008-12-16 16:02
2009.02.01
Форма ActiveX


11-1196724955
Koss
2007-12-04 02:35
2009.02.01
при запуске открывает Form2 ???


15-1228503636
Lamer6666
2008-12-05 22:00
2009.02.01
Delphi + Oracle


2-1229427507
charoey_mag
2008-12-16 14:38
2009.02.01
Чтение в record