Главная страница
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.011 c
2-1282891718
TObject
2010-08-27 10:48
2010.11.21
как обработать нажантие чекбокса в TListView


2-1282889483
Гость
2010-08-27 10:11
2010.11.21
Запись в ini-файл строки имеющей переводы строки


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


9-1188140713
AlexanderMS
2007-08-26 19:05
2010.11.21
Игра - на весь экран.


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