Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Преоброзование данных


ZV ©   (2010-08-30 18:28:00) 

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


Anatoly Podgoretsky   (2010-08-31 09:08:00) [1]


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


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


Anatoly Podgoretsky   (2010-08-31 09:06:00) [2]


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

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

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


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


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

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


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


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


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


ZV   (2010-08-30 20:53:00) [5]

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


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


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

var
 St : String;

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


ZV   (2010-08-30 19:53:00) [7]

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

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

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());
}


Anatoly Podgoretsky   (2010-08-30 19:09:00) [8]

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

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


ZV   (2010-08-30 18:56:00) [9]


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

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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо