Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: "=F6" = "ö". Gibt es dafür eine Rout

  Alt 17. Nov 2004, 16:53
Hier ist ein geschwindigkeitsoptimierte Funktion dafür:
Delphi-Quellcode:
function UnEscapeString(const Value: string; EscapeChar:Char): string;
var
   pSrc,pSrcEnd: PChar;
   pDst,pDstBeg: PChar;
begin
   SetLength(Result,Length(Value));

   if Length(Result) = 0 then
      Exit;

   pSrc := @Value[1];
   pSrcEnd := @Value[Length(Value)];

   pDstBeg := @Result[1];
   pDst := @Result[1];

   while pSrc <= pSrcEnd do
   begin
      if pSrc^ = EscapeChar then
      begin
         Inc(pSrc);
         HexToBin(pSrc,pDst,2);
         Inc(pSrc,2);
      end
      else
      begin
         pDst^ := pSrc^;
         Inc(pSrc);
      end;
      Inc(pDst);
   end;

   SetLength(Result,pDst-pDstBeg);
end;
Andreas
  Mit Zitat antworten Zitat