Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi URL decodieren (https://www.delphipraxis.net/11782-url-decodieren.html)

Thunderchild 13. Nov 2003 15:21


URL decodieren
 
Hallo zusammen,

hier meiner allererste Frage:
Ich habe ein kleines niedliches Prog gebastelt, mit dessen hilfe man Dateien automatisiert umbenennen kann mit verschiedenen Operationen wie "alles klein", "Wortanfang groß" usw.
Es ist mittlerweile fertig, doch möchte ich noch eine Funktion zum Entpacken von URL-Strings einbauen. Es gibt doch bestimmt eine Standardprozedur für so etwas.

Beispiel: %20 -> Leerzeichen

sakura 13. Nov 2003 15:58

Re: URL decodieren
 
Hi,

Leerzeichen werden in einer URL i.A. mit "+" dargestellt ;-) Egal, hier der Code:

Delphi-Quellcode:
class URLDecode(aSrc: string): string;
var
  I, Max: Integer;
begin
  Result := '';
  // convert plus to space
  for I := 1 to Length(aSrc) do
    if aSrc[I] = '+' then
      aSrc[I] := #32;
  I := 1;
  Max := Length(aSrc);
  while I <= Max do
  begin
    if aSrc[I] <> '%' then
    begin
      Result := Result + ASrc[i]
    end else begin
      try
        Inc(I);
        Result := Result + Chr(StrToInt('$' + Copy(aSrc, I, 2)));
      except
      end;
      Inc(I);
    end;
    Inc(I);
  end;
end;
...:cat:...

Uncle Cracker 13. Nov 2003 18:12

Re: URL decodieren
 
Man könnte es auch ganz primitive :roll: aber einfach mit StringReplace machen

Christian Seehase 13. Nov 2003 18:56

Re: URL decodieren
 
Moin Thunderchild,

schau Dir mal im PSDK oder MSDN die Funktion UrlCanonicalize an.
Die sollte das auch machen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz