CONST cDPDis_Pkt = 16; //'10'; cDPDis_0 = 237; //'ED'; cDPDis_1 = 72; //'48'; cDPDis_2 = 230; //'E6'; cDPDis_3 = 110; //'6E'; cDPDis_4 = 75; //'4B'; cDPDis_5 = 47; //'2F'; cDPDis_6 = 175; //'AF'; cDPDis_7 = 104; //'68'; cDPDis_8 = 239; //'EF'; cDPDis_9 = 111; //'6F'; AddrBroadcast = 'FFFF'; AntwOK = 'FD';//46 + 44; AntwBad= 'FE';//46 + 45; type EExceptions = class(Exception); var lCom : tComport; //################################################# Funktionen function StrToHex4(s : string) : String; begin Result := s; while length(Result)<4 do Result := '0' + Result; end; function Checksum(s : string) : String; var i : integer; sum : longint; begin sum := 0; for i:=1 to length(s) do inc(sum, ord(s[i])); Result := IntToHex((sum mod 256),2); end; function ValidDPDisAnzeige(Value : string; laenge : integer) : Boolean; var i : integer; i2 : integer; begin Result := false; i2 := 0; if (Value<>'') then begin Result := true; for i := 1 to length(Value) do if not (Value[i] in DPDisChars) then Result := false else if Value[i]<>'.' then inc(i2); if Result then Result := (i2=laenge) end; end;