Einzelnen Beitrag anzeigen

moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

StringReplace - Problem mit $00 ?

  Alt 20. Apr 2009, 19:18
Moin !

Also entweder habe ich gerade ne Blockade, oder mein Compiler mag mch nimmer.

Delphi-Quellcode:
function HexStrToString(const value:string):string;
begin
   SetLength(Result, Length(value) div 2); // es wird halber Platz benötigt
   if Length(value) > 0 then
      HexToBin(PChar(value), PChar(Result), Length(value));
end;

Procedure .... Whatever ....
var DataConvert, Data : String;
Const FEND    = $C0; //Frame END
Const FESC    = $DB; //Frame ESCape
begin
  Data := HexStrToString('C01D0D024022F920FF08D60000001901DBDC');
  DataConvert := StringReplace(Data, chr($DB) + chr($DC), CHR(FEND), [rfReplaceAll, rfIgnoreCase]);
  DataConvert := StringReplace(Data, chr($DB) + chr($DD), CHR(FESC), [rfReplaceAll, rfIgnoreCase]);
  ShowMessage(DataConvert);
end;
Wenn ich das ausführe dann sollte hinten das DBDC ersetzt werden durch C0. Aber da passiert rein gar nichts.
Hab ich hier einen generellen Fehler oder wat is da los?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat