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

Вниз

Преоброзование данных   Найти похожие ветки 

 
ZV ©   (2010-08-30 18:28) [0]

Есть массив целых чисел типа Byte , допустим 79,166,57,....  ониже в НЕХ формате   4f,a6,39,....Так вот мне нужно их преобразовать в такой вид 4,f,a,6,3,9,.... При помощи какой функции это можно сделать в Delphi ?


 
Сергей М. ©   (2010-08-30 18:30) [1]

При помощи самописной.


 
Сергей М. ©   (2010-08-30 18:32) [2]

Впрочем, смотря что понимать под "преобразовать".
В первом приближении можно воспользоваться штатной BinToHex


 
ZV ©   (2010-08-30 18:56) [3]


> Впрочем, смотря что понимать под "преобразовать".

Дело в том что устройство которому необходимо передать данные (по СОМ порту), нужно отпровлять данные  в таком формате:
если нужно отправить число 4f, то в порт нужно передать сперва бай 4 а потом f.


 
Anatoly Podgoretsky ©   (2010-08-30 19:09) [4]

> ZV  (30.08.2010 18:56:03)  [3]

Ну и нафига ты тогда указываешь формат с запятыми, и я весьма соневаюсь, что
устройство работает с HEX кодами.


 
ZV ©   (2010-08-30 19:53) [5]

Устройство работает не с НЕХ кодами, а с данными. Я привел пример в НЕХ формате что бы было понятно что я хочу.

Вот как принимает данные устройство код на Си

char tetrada(B:char)
{
 if (B <=9) return(B-"0");
  else return(B-"A"+10);
}

unsigned char decod (void)
{
unsigned char Data;
Data = tetrada(getchar())<<4 | terada(getchar());
}


 
Германн ©   (2010-08-30 20:19) [6]


> При помощи какой функции это можно сделать в Delphi ?

var
 St : String;

 St:="";
 for i:=1 to N do St:=St+IntToHex(Bytes[i],2);


 
ZV ©   (2010-08-30 20:53) [7]

Спасибо .Сейчас попробую


 
Сергей М. ©   (2010-08-30 21:22) [8]


> ZV ©   (30.08.10 18:56) [3]


А давай ты уже не будешь нести здесь фривольную отсебячину и приведешь один-в-один соотв.фрагмент оригинальной документации , касаемой протокола инф.обмена с этим устройством ?


 
Германн ©   (2010-08-31 00:51) [9]


> Сергей М. ©   (30.08.10 21:22) [8]
>
>

Встречал я такой протокол однажды.


 
Anatoly Podgoretsky ©   (2010-08-31 09:06) [10]


> Устройство работает не с НЕХ кодами

Как тогда понимать это

> мне нужно их преобразовать в такой вид


 
Anatoly Podgoretsky ©   (2010-08-31 09:08) [11]


>  for i:=1 to N do St:=St+IntToHex(Bytes[i],2);
>
И как тогда понимать это, если ты с HEX не работаешь


> Спасибо .Сейчас попробую



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

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

Наверх




Память: 0.49 MB
Время: 0.01 c
15-1281125385
Кто б сомневался
2010-08-07 00:09
2010.11.21
Как запустить lnk сети программно?


15-1281472194
Юрий
2010-08-11 00:29
2010.11.21
С днем рождения ! 11 августа 2010 среда


15-1281587871
IGray
2010-08-12 08:37
2010.11.21
Ищу исходники функции IntToStr на паскале


2-1283260525
Stenfit
2010-08-31 17:15
2010.11.21
Сохранение списка


2-1282903113
sergio
2010-08-27 13:58
2010.11.21
SaveDialog