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', '.', ' '];