Bonjour,
J'aimerai savoir s'il existe une méthode pour extraire le nom d'un fichier avec son extention à partir d'une URL complète (Lien internet).
J'ai essayé, par désespoir, la méthode ExtractFileName avec une URL mais cela ne fonctionne pas.
Bonjour,
J'aimerai savoir s'il existe une méthode pour extraire le nom d'un fichier avec son extention à partir d'une URL complète (Lien internet).
J'ai essayé, par désespoir, la méthode ExtractFileName avec une URL mais cela ne fonctionne pas.
Bonjour,
Peux-tu nous en dire plus ce que tu souhaites faire?
Tu veux lire l'URL de ton Browser par ton application et récupérer le fichier ainsi que l'extention désiré ou tu fais un copier / coller d'une URL dans ton application, puis, en cliquant sur un bouton (par exemple), tu récupères ce que tu souhaites?
@ +![]()
En fait je veux une fonction qui prenne comme paramètre une URL du type "http://www.truc.com/machin/image.gif" et qui renvoie comme résultat le nom du fichié visé, dans mon exemple "image.gif".
Re,
Ce qui serait bien, c'est de lire la chaîne URL à l'envers et dès qu'il rencontre un "/" , tu stockes cette chaîne de caractères dans une variable.
Ensuite, tu fais la recherches tu "." dans cette chaine et tu récupères la partie de droite ainsi que la partie de gauche sans soucis.
Juste une petite difficulté, ca serait de lire la chaîne URL à l'envers!
J'ai codé un truc vite fait!
Je sais pas si c'est celà que tu souhaites faire, mais bon, chez moi cela fonctionne.
J'ai un TEdit dans lequel je mets mon URL.
J'ai un bouton qui me récupère mon Fichier et mon Extension dans 2 variables séparées
Voici le code (qui est encore à améliorer bien sur ...) :
J'espère que cela t'aidera
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 procedure TForm1.Button1Click(Sender: TObject); var i:integer; PositionDernierSlash:integer; FichierAvecExtension,FichierSansExtension,Extension,NomFichier:string; ExtensionTrouve:Boolean; begin ExtensionTrouve:=false; PositionDernierSlash:=0; for i:=1 to Length(Edit1.Text) do begin FichierAvecExtension:=copy(Edit1.Text,i,1); if FichierAvecExtension='/' then PositionDernierSlash:=i; end; FichierAvecExtension:=copy(Edit1.Text,PositionDernierSlash+1,Length(Edit1.Text)); for i:=1 to Length(FichierAvecExtension) do begin NomFichier:=copy(FichierAvecExtension,i,1); if NomFichier='.' then begin Extension:=copy(FichierAvecExtension,i+1,Length(FichierAvecExtension)); ExtensionTrouve:=true; end else begin if (ExtensionTrouve=false) then FichierSansExtension:=FichierSansExtension+NomFichier; end; end; ShowMessage(FichierSansExtension); ShowMessage(Extension); end;![]()
Salut,
Ces deux petites lignes devraient suffirent:
@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 procedure TForm1.Button1Click(Sender: TObject); const myURL = 'http://www.truc.com/machin/image.gif'; var i: Integer; begin i := LastDelimiter('/:', myURL); ShowMessage(Copy(myURL, i + 1, MaxInt)); // renvoie 'image.gif' end;
Et moi qui me suis décarcassé !![]()
Je ne connaissais pas LastDelimiter!
En tout cas, c'est vraiment simple d'utilisation!
Il ne reste plus qu'à appliquer la seconde partie de mon code pour séparer le nom du fichier de l'extension ... enfin, si Claudius40 ne me sors pas un truc en 2 lignes une fois de plus![]()
J'aurai au moins appris quelque chose![]()
Merci, c'est exactement ce que je voulais!
Ce qui me donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function ExtractFileNameInURL(const cs_URL: String): String; begin Result:= Copy(cs_URL, LastDelimiter('\/:', cs_URL) + 1, Length(cs_URL)) end;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager