Главная Новости

Работа с COM-портами из приложения в Delphi


Опубликовано: 06.09.2018

видео Работа с COM-портами из приложения в Delphi

Arduino + Delphi подключение к comport

У многих пользователей, которые программируют на Delphi, порой возникает потребность в считывании данных с COM-порта. Так вот, я хочу Вам сказать, что сделать это довольно просто и сможет сделать даже начинающий программист.


Подключение через виртуальные COM-порты

Вы можете работать через функции языка программирования, но я бы Вам посоветовал использовать простой и понятный компонент, который называется ComDrv32. Устанавливается он легко, как и большинство компонентов, в папке с ним, должен находиться демонстрационный, в котором подробно расписано, как можно работать с ним.


Функции и возможности Delphi DS150E

Но и без демонстрационного проекта, с легкостью можно самому разобраться с этим простым компонентом. После установки его, сам компонент появится не на новой вкладке, а уже существующей System, так что будьте внимательны, многие пользователи начинают его искать по всем вкладкам:

В данной статье я хотел бы Вам рассказать, как можно подключиться к COM-порты из своего проекта Delphi и считать оттуда информацию. В частности, мне необходимо было считывать информацию с пин-пад клавиатуры, которая подключалась через USB, а вся информация направлялась на виртуальный COM-порт. Для начала нам необходимо подключиться к порту и проинициализировать его:

CommPortDriver1 . PortName : = '\\.\' + 'COM5' ; CommPortDriver1 . BaudRateValue : = 9600 ; CommPortDriver1 . InBufSize : = 4096 ; CommPortDriver1 . InputTimeout : = 100 ; CommPortDriver1 . OutBufSize : = 4096 ; CommPortDriver1 . OutputTimeout : = 100 ; CommPortDriver1 . PollingDelay : = 100 ; CommPortDriver1 . DataBits : = db8BITS ; CommPortDriver1 . StopBits : = sb1BITS ; CommPortDriver1 . Connect ;

Это настройки, при которых Вы будете считывать данные. Они должны быть такими, которые выставлены в свойствах самого COM-порта. Далее, нам необходимо считать данные из COM-порта, а это делается при помощи события компонент – OnReceiveData:

procedure TForm3 . CommPortDriver1ReceiveData ( Sender : TObject ; DataPtr : Pointer ; DataSize : Cardinal ) ; var i : Integer ; s : string ; begin i : = 0 ; For i : =0 to ( DataSize ) - 1 do begin s : =s + ( PChar ( DataPtr ) [i ] ) end ; Label1 . Caption : = Label1 . Caption + s; end ;

То есть, при помощи этого кода, мы добавляем в Label все символы, которые поступают с пин-пад клавиатуры. Информацию можно считывать и в HEX-формате, а также отправлять ее на сам COM-порт.

На самом деле, ничего нет сложного в работе с этим компонентом, при помощи него, действительно облегчается работа с COM-портами из своего приложения, написанного на Delphi. Удачи Вам дорогие друзья и до новых встреч.

Также советуем почитать на PressDev.RU