Einzelnen Beitrag anzeigen

Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Parameter aus einer URL parsen und ggf. ändern

  Alt 9. Jul 2008, 23:00


Delphi-Quellcode:
function GetParameters(url: String; var sl: TStringList): Boolean;
var params: String;
begin
  params := Copy(url, pos('?', url)+1, length(url));
  sl.Delimiter := '&';
  sl.DelimitedText := params;
  result := sl.Count <> 0;
end;
Um das aus der StringList wieder in eine URL zu bekommen könnte man folgendes machen:

Delphi-Quellcode:
function PutParameters(baseurl: String; var sl: TStringList): string;
var i: Integer;
begin
  result := baseurl + '?';
  for i := 0 to sl.Count-2 do
  begin
    result := result + sl[i] + '&';
  end;
  if sl.Count > 0 then
  begin
    result := result + sl[sl.Count-1];
  end;
end;
Und/Oder um die Parameterliste zu ändern:

Delphi-Quellcode:
function ChangeParameters(url: String; var sl: TStringList): string;
begin
  result := Copy(url, 1, Pos('?', url)-1);
  result := PutParameters(result, sl);
end;
Aufruf, Beispiel:

Delphi-Quellcode:
var myparams: TStringList;
...
myParams := TStringList.Create;
if GetParams('http://www.seite.de/index.php?id=1&name=abc&f=87', myParams) then
begin
  myParams.Values['id'] := 25;
end;
Ungetestet hingetippelt
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat