Главная страница
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.008 c
15-1280988195
12
2010-08-05 10:03
2010.11.21
Шахматная программа


6-1229006287
dmitry_12_08_73
2008-12-11 17:38
2010.11.21
Компонент для закачки файла по LAN


2-1283239564
И. Павел
2010-08-31 11:26
2010.11.21
Сюрприз при использовании ADO + MS SQL + пустой параметр ftString


2-1282711841
sadd
2010-08-25 08:50
2010.11.21
инсталляция сервиса


15-1281299395
Юрий
2010-08-09 00:29
2010.11.21
С днем рождения ! 9 августа 2010 понедельник