Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Компонент, который представлен здесь, выполняет функции синхронного чтения и записи в последовательный интерфейс RS232.
В цикле выполняется Application.ProcessMessages, чтобы все сообщения от основной программы обрабатывались.
Ниже приведён метод ReadString из компонента TRS323:
function TRS232.ReadString(var aResStr: string; aCount: word ): boolean; var nRead: dword; Buffer: string; Actual, Before: TDateTime; TimeOutMin, TimeOutSec, lCount: word; begin Result := false; if not Connected then if not Connect then raise Exception.CreateHelp('RS232.ReadString:' + ' Connect not possible !', 101); aResStr := ''; TimeOutMin:=TimeOut div 60; TimeOutSec:=TimeOut mod 60; if (not Connected) or (aCount <= 0) then EXIT; nRead := 0; lCount := 0; Before := Time; while lCount < ACOUNT do begin Application.ProcessMessages; SetLength(Buffer,1); if ReadFile( FComPortHandle, PChar(Buffer)^, 1, nRead, nil) then begin if nRead > 0 then begin aResStr := aResStr + Buffer; inc(lCount); end; Actual := Time; if Actual-Before>EncodeTime(0, TimeOutMin, TimeOutSec, 0) then raise Exception.CreateHelp('RS232.ReadString: TimeOut !', 103); end else begin raise Exception.CreateHelp('RS232.ReadString: Read not possible !', 104); end; end; Result:=true; end;