Извиняюсь за этот вопрос, но я немного новичок с Delphi. Я использую компонент Dejan TComport для получения данных от последовательного порта. Блок оборудования, подключенного к порту, отправляет около 100 байтов двоичных данных в последовательный порт. То, что я хочу сделать, это извлечь байты в виде числовых значений в массив, чтобы я мог выполнять вычисления на них.
TComport имеет метод Read (buffer, Count), который считывает данные из буфера ввода.
function Read(var Buffer; Count: Integer): Integer;
В справке говорится, что переменная Buffer должна быть достаточно большой, чтобы содержать байты Count, но не дает никакого примера того, как использовать эту функцию. Я вижу, что переменная Count содержит количество полученных байтов, но я не могу найти способ доступа к байтам в Buffer.
TComport также имеет метаданный Readstr, который считывает данные из входного буфера в переменную STRING.
function ReadStr(var Str: String; Count: Integer): Integer;
Снова переменная Count показывает количество полученных байтов, и я могу использовать Memo1.Text: = str для отображения некоторой информации, но, очевидно, у Memo1 проблемы с отображением управляющих символов. Я пробовал разные способы извлечения байтовых данных из Str, но пока безуспешно.
Я уверен, что это должно быть легко. Здесь надеемся.