Главная страница
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
11-1224882649
Neep
2008-10-25 01:10
2010.11.21
KOL 2.88 и шрифт, объясните как?


15-1281602585
boriskb
2010-08-12 12:43
2010.11.21
К спецам по PHP


15-1280664123
TComponent
2010-08-01 16:02
2010.11.21
Отправка email c командной строки


8-1207845030
NaRuTo
2008-04-10 20:30
2010.11.21
Опять DirectX


3-1247807671
belmol
2009-07-17 09:14
2010.11.21
множество в условии