public procedure init; //To be private... property WaitforAnswer : Boolean read sWaitforAnswer write setWaitforAnswer; property LastAnswer : String read sLastAnswer; property ModulBaudrate: tBaudrate read sModulBaudrate write setModulBaudrate; property CompiBaudrate: tBaudrate read getCompiBaudrate write setCompiBaudrate; property Anzahl: Integer read sAnzahl write setAnzahl; property ChangeableAddress : Boolean read sChangeableAddress write setChangeableAddress; property Modul[index : integer] : tModul read getModul write setModul; default; procedure ManualSend(s : string); //Sendet Zeile direkt über den Comport; NUR für Tests! Constructor Create; overload; Destructor Destroy; override; end; function ValidDPDisAnzeige( Value : string; laenge : Integer) : Boolean; function ValidAddress( Adr : string) : Boolean; function Checksum(s : string) : String; function DPDisParse(s: string) : tDPDisText; function HellParse(i : integer) : tHell; //######################################################################### //######################################################################### //################# I M P L E M E N T A T I O N ##################### //######################################################################### //######################################################################### implementation uses Sysutils, main; const cmdDPDisAdr = '30'; cmdDPDisBaud = '31'; cmdDPDisAnz = '32'; cmdDPDisOffset = '33'; cmdDPDisHell = '34'; cmdDPDotBildAnz = '1'; cmdDPDotBildUpd = '2'; cmdDPDotHell = '3'; cmdDPDotSR2EE = '4'; cmdDPDotAdr = '5'; cmdDPDotBaud = '6'; datBaud9600 = '0051'; datBaud19200 = '0026'; datBaud38400 = '0012'; DPDisChars = ['0'..'9', '.', ' '];