begin process at 2010 02 10 12:39:27
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > SÉLECTIONNER UNE PARTIE D'UNE STRING

SÉLECTIONNER UNE PARTIE D'UNE STRING


 Information sur la source

Note :
3,5 / 10 - par 2 personnes
3,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Niveau :Débutant Date de création :20/05/2002 Date de mise à jour :20/05/2002 22:15:08 Vu :2 200

Auteur : jeep05

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Voila comment je fais pour sélectionner le nom d'un fichier d'une url.
par exemple j'ai une url de ce type dans un TEdit : http://www.web.fr/fichier.zip
et pour des raisons quelconque, j'ai besoin de récupérer "fichier.zip".

Source

  • var
  • Taille, i: integer;
  • url, chaine2: string;
  • begin
  • url:= Edit1.Text;
  • Taille:= Length(url); //on compte le nbre de caracteres de l'url
  • for i:= Taille downto 0 do //on décompte jusqu'a 0
  • begin
  • if url[i] = '/' then //on regarde si on rencontre / pendant le décompte.
  • begin
  • chaine2:= Copy(url, i + 1, Taille); //si oui, on copie la chaine
  • ShowMessage(chaine2); //entre i+1 et la fin
  • Exit; // on sort pour arreter au 1er / rencontré.
  • end;
  • end;
  • end;
var
   Taille, i: integer;
   url, chaine2: string;

begin
   url:= Edit1.Text;
   Taille:= Length(url); //on compte le nbre de caracteres de l'url

   for i:= Taille downto 0 do //on décompte jusqu'a 0
      begin
         if url[i] = '/' then //on regarde si on rencontre / pendant le décompte.
            begin
            chaine2:= Copy(url, i + 1, Taille); //si oui, on copie la chaine
            ShowMessage(chaine2);                  //entre i+1 et la fin
            Exit; // on sort pour arreter au 1er / rencontré.
            end;
      end;

end; 

 Conclusion

Length(url) permet de connaitre le nombre de caracteres de l'url.
On décompte de cette valeur jusqu'a 0, en cherchant le signe : /
si on le trouve, alors on copie la string qui se situe entre le signe / et la fin, sans prendre le /.
j'ai mis un ShowMessage pour voir vérifier le fonctionnement, mais le but, et d'utiliser chaine2 autre part.
enfin, on quite pour ne pas répéter la boucle for.


 Sources du même auteur

ENVOI D'UN MESSAGE VIA LE ICQ PAGER

 Sources de la même categorie

Source avec Zip Source avec une capture UTILISER UNE DLL INCLUSE EN RESSOURCES par Bacterius
Source avec Zip Source avec une capture IMAGE DANS UN TDBGRID par HAFTARIFOUAD
Source avec Zip Source avec une capture [ASTUCE] COMMENT VOIR UN ITEM, D'UNE LISTBOX, TRONQUÉ DANS U... par cirec
Source avec Zip Source avec une capture MESSAGEDLG PERSONNALISÉ par HAFTARIFOUAD
Source avec Zip Source avec une capture COMMENT DESSINER SUR UN TCANVAS LE TEXTE D'UNE FORMULE CHIMI... par pseudo3

Commentaires et avis

Commentaire de Gysmo le 20/05/2002 22:24:25

Il y a netement plus simple :

function ExtractURLFileName(URL: String): String;
begin
  while Pos('/',URL)>0 do Delete(URL,1,Pos('/',URL)); Result:=URL;
end;

Un autre liens sur ce sujet : http://www.delphifr.com/article.asp?Val=30

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales