Показать сообщение отдельно
  #1  
Старый 30.03.2015, 11:15
sforce sforce вне форума
Прохожий
 
Регистрация: 30.03.2015
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Передать двоичный код в COM

Добрый день. Помогите, пожалуйста, по следующему вопросу.
У меня данные типа string отправляются на com порт с помощью следующей процелуры:

Код:
Procedure WriteStrToPort(Str:String);
Var
ByteWritten:cardinal;
MyBuff:Array[0..1023] Of Char;
Begin

FillChar(MyBuff,SizeOf(MyBuff),#0);
Str:=Str+#13#10;
StrPCopy(MyBuff,Str);
If Not WriteFile(hPort,MyBuff,Length(Str),ByteWritten,Nil) Then
Begin
SysErrorMessage(GetLastError);
fmMain.btnStop.Click;
Exit;
End;
End;

Все работает, но мне необходимо отправить команду в двоичном виде, со следующими условиями

Цитата:
Длина посылки от компьютера к компаратору фиксированная – 4 байта.
Состав посылки:
SOM=0x01 – заголовок
CMD – команда
DAT0 – данные, если нужны
DAT1 – данные, если нужны
EOF=0x1a – конец посылки
Таким образом, минимальная длина посылки – 3 байта.
Необходимая команда GETCOUNT - 0x3a

Подскажите, как необходимо изменить код?
Ответить с цитированием