Une petite fonction qui donne les differente partie d'un lien, et qui permet entre autres de "nettoyer" un lien ayant des varibles passer en parametres dans l'url.
Source / Exemple :
program GereChaine;
{$APPTYPE CONSOLE}
uses
SysUtils;
function LinkFilter(Chaine:String;Partie:string):string;
var
i,Stop,Stop2:integer;
Lien,DernierMorceau,Fichier,Extension,Final:string;
begin
Stop:=0;
For i:=0 to Length(Chaine) do
begin
if ((Chaine[i]='/')or(Chaine[i]='\')) then Stop:=i;
end;
DernierMorceau:=Copy(Chaine,Stop+1,Length(Chaine)-Stop+1);
Lien:=Copy(Chaine,0,Length(Chaine)-Length(DernierMorceau));
Stop2:=0;
For i:=0 to Length(DernierMorceau) do
begin
if DernierMorceau[i]='.' then Stop2:=i;
end;
Extension:=Copy(DernierMorceau,Stop2,Length(DernierMorceau)-Stop2+1);
Fichier:=Copy(Chaine,Stop+1,Length(DernierMorceau)-Length(Extension));
Stop:=0;
For i:=0 to Length(Extension) do
begin
If((Stop=0)and( (Extension[i]='?') or
(Extension[i]='&') or
(Extension[i]='+') or
(Extension[i]='%') ))
then Stop:=i;
end;
Extension:=Copy(Extension,0,Stop-1);
if (UpperCase(Partie)='LIEN') then Final:=Lien;
if (UpperCase(Partie)='FICHIER') then Final:=DernierMorceau;
if (UpperCase(Partie)='NAME') then Final:=Fichier;
if (UpperCase(Partie)='EXTENSION')then Final:=Extension;
if (UpperCase(Partie)='FILTRER') then Final:=Lien+Fichier+Extension;
Result:=Final;
end;
Procedure Main();
var
ch,param:string;
begin
// ReadLn(ch); //Pour taper sa propre url
ch:='http://www.DelphiFr.com/Download/essaie/SuperTruc.asp?Loginj=qqn&Pass=qqch&wid=1267878';
WriteLn(ch);WriteLn;
ReadLn(param);
Write(LinkFilter(ch,param));
end;
begin
Main();
ReadLn;
end.
Conclusion :
Une petite fonction qui permet de gerer different partie d'un lien.
"Partie" peut prendre la valeur:
Lien:= Donne le chemin de la page
Fichier: donne juste le nom de la page
Name:Done le nom de la page sans l'extension
Extension:donne l'extension de la page
Filtrer:Donne l'url sans les variable passer en parametres dans l'url
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.