begin process at 2012 02 10 19:09:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > PATHTRUNCATE

PATHTRUNCATE


 Information sur la source

Note :
5,25 / 10 - par 4 personnes
5,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Classé sous :découper, chemin, arborescence Niveau :Débutant Date de création :21/09/2005 Date de mise à jour :22/09/2005 16:21:17 Vu / téléchargé :3 496 / 191

Auteur : ACHPI32

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

 Description

Cliquez pour voir la capture en taille normale
[Mis à jour]

Hello,

Voici ma deuxième publication, un découpeur de chemin.

Passer de c:\dossier\dossier2\ à :

c:\dossier\
c:\dossier\dossier2\

Ce petit code qui rendra peut être service, à été concu dans le but de traiter des fichiers texte (log) et non pas de lire directement une arborescence sur le disque.

Le code source affiché n'est que la fonction, pour une mise en situation vous pouvez télécharger le zip qui lui utilise l'explorateur pour extraire un chemin puis utiliser ma fonction "PathTruncate".

Voila, j'espère vous avoir mieux renseigné quant au pourquoi du comment de ce source.

@pluche

Source

  • Function PathTruncate(Source:String):TstringList;
  • Var
  • temp,strtemp,strbck:string;
  • pathdata,drivedata:string;
  • slcount,i,cpos:integer;
  • Output:Tstringlist;
  • delim:String;
  • begin
  • // Initialisation des variables
  • slcount:=0;
  • cpos:=0;
  • i:=0;
  • Output := TStringList.Create;
  • // Premier découpage (récupération 'x:\' ou '\\')
  • if copy(source,2,1) = ':' then begin
  • pathdata:=copy(source,4,length(source));
  • drivedata:=copy(source,0,3);
  • end else
  • if copy(source,2,1) = '\' then begin
  • pathdata:=copy(source,3,length(source));
  • drivedata:=copy(source,0,2);
  • end else
  • begin
  • Pathdata:=source;
  • Drivedata:='';
  • end;
  • temp:=pathdata;
  • strtemp:=pathdata;
  • //compter le nombre de '\' ou '/'
  • if Pos('\',pathdata) > 1 then delim:='\' else delim:='/';
  • repeat
  • temp:=copy(temp,pos(delim,temp)+1,length(temp));
  • inc(slcount);
  • until pos(delim,temp)=0;
  • //découpage
  • inc(i);
  • strtemp:=copy(strtemp,cpos,pos(delim,strtemp));
  • cpos:=length(strtemp)+1;
  • strbck:=strtemp;
  • Output.Add(drivedata+strtemp);
  • if i<slcount then
  • begin
  • repeat
  • inc(i);
  • strtemp:=pathdata;
  • strtemp:=copy(strtemp,cpos,length(strtemp));
  • strtemp:=copy(strtemp,0,pos(delim,strtemp));
  • cpos:=cpos+length(strtemp);
  • strbck:=strbck+strtemp;
  • strtemp:=strbck;
  • Output.Add(drivedata+strtemp);
  • until i=slcount;
  • end;
  • Result:=output;
  • end;
Function PathTruncate(Source:String):TstringList;

Var
temp,strtemp,strbck:string;
pathdata,drivedata:string;
slcount,i,cpos:integer;
Output:Tstringlist;
delim:String;

begin
// Initialisation des variables
slcount:=0;
cpos:=0;
i:=0;

Output := TStringList.Create;



// Premier découpage (récupération 'x:\' ou '\\')
if copy(source,2,1) = ':' then  begin
                                pathdata:=copy(source,4,length(source));
                                drivedata:=copy(source,0,3);
                                end else

if copy(source,2,1) = '\' then  begin
                                pathdata:=copy(source,3,length(source));
                                drivedata:=copy(source,0,2);
                                end else
                                    begin
                                    Pathdata:=source;
                                    Drivedata:='';
                                    end;


temp:=pathdata;
strtemp:=pathdata;


//compter le nombre de '\' ou '/'

if Pos('\',pathdata) > 1 then delim:='\' else delim:='/';

        repeat
        temp:=copy(temp,pos(delim,temp)+1,length(temp));
        inc(slcount);
        until pos(delim,temp)=0;

//découpage
inc(i);
strtemp:=copy(strtemp,cpos,pos(delim,strtemp));
cpos:=length(strtemp)+1;
strbck:=strtemp;


Output.Add(drivedata+strtemp);

if i<slcount then
        begin
              repeat
                inc(i);
                strtemp:=pathdata;
                strtemp:=copy(strtemp,cpos,length(strtemp));
                strtemp:=copy(strtemp,0,pos(delim,strtemp));
                cpos:=cpos+length(strtemp);
                strbck:=strbck+strtemp;
                strtemp:=strbck;

                Output.Add(drivedata+strtemp);
              until i=slcount;
        end;

     Result:=output;

end;


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

21 septembre 2005 23:16:41 :
-source ajouté (pour eviter de le télécharger)
22 septembre 2005 15:35:37 :
-nouvelle interface (juste dans le but de montrer le fonctionnement) -Procedure pathtruncate -> fonction pathtruncate
22 septembre 2005 15:37:13 :
-nouvelle interface (juste dans le but de montrer le fonctionnement) -Procedure pathtruncate -> fonction pathtruncate
22 septembre 2005 15:46:33 :
pb tranfert- tentative 3
22 septembre 2005 16:21:17 :
Bon ca y est maintenant...

 Sources du même auteur

Source avec Zip Source avec une capture BUBBLES : SPRITES TBITMAP
Source avec Zip IP INTERNET AVEC UN MODEM/ROUTEUR (INDY & SNMP)
Source avec Zip Source avec une capture MSN ID (OBTENIR VOTRE ID MSN À PARTIR DE VOTRE ADRESSE HOTMA...
Source avec Zip FONCTION LONGPATHPARAMSTR
Source avec Zip DPC - NETTOYEUR DE PROJET DELPHI

 Sources de la même categorie

Source avec Zip Source avec une capture RECHERCHE PAR EXTENSION AVEC JVCL par Weirdy
Source avec Zip Source avec une capture FICHIER DUPLIQUÉ AVEC UNE TABLE DE HACHAGE par jerome1875
Source avec Zip Source avec une capture WII SD CARD NAVIGATOR 1.0.0.5 ALPHA par skyangel21
Source avec Zip Source avec une capture SIZECONVERTER : UNE MINI LIBRAIRIE DE CONVERSION DE TAILLE par LaDentDeLait
Source avec Zip Source avec une capture ENREGISTREMENT DES DONNÉES DANS L'EXE par yanb

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LABYRINTHE RESOLVER par diglas
Source avec Zip Source avec une capture PETIT UTILITAIRE TREEVIEW par Bacterius
Source avec Zip Source avec une capture ASTAR - A* RECHERCHE DU PLUS COURT CHEMIN par ant31
Source avec Zip RÉCUPÉRATION DYNAMIQUE DE L'ARBORESCENCE D'UN CLIENT SUR UN ... par Francky23012301
LIRE UNE SOUS-CHAINE DANS UNE CHAINE CONTENANT DES SÉPARATEU... par AhmedBoudali

Commentaires et avis

Commentaire de ACHPI32 le 21/09/2005 23:05:20

Merci de mettre la note... (lol)  

Laissez au moins un commentaire meme si c'est nul pour vous.

Si vous avez rencontré un problème avec le source merci d'indiquer les symptomes.

J'ajoute pour terminer que c'est un code "debutant" donc forcement non optimisé et il y a peut être (certainement) d'autres manières de proceder.

Voila

@pluche

Commentaire de DeltaFX le 21/09/2005 23:26:28

T'aurais pu gérer le cas d'un fichier réseau....

Commentaire de ACHPI32 le 21/09/2005 23:44:16

Salut,

En changeant 'c:\' par '\\' dans edit3 ca doit fonctionner.

@pluche

...je vais voir pour une nouvelle interface

Commentaire de MAURICIO le 22/09/2005 12:18:35 administrateur CS

C' est peut etre une source de débutant mais ça ne t' empêche pas de nommer les compos !!!
Bon, sinon, il aurait été plus interessant d' établir quels sont les caractères qui interviennent dans le découpage du chemin: '\' et '/' ...
Ainsi, il suffit de chercher d' après ce "set" (qui pourra changer sans modifier une ligne de code) dans le chemin donné. Il sera possible de faire au moins 2 fois plus simple et 2 fois plus court.
A+

Commentaire de MAURICIO le 22/09/2005 15:02:02 administrateur CS

On peux faire + simple et 10 fois plus court avec GetFileDir()

Commentaire de ACHPI32 le 22/09/2005 16:04:39

Voila une petite mise à jour, j'espère qu'a present l'utilité de ce programme sera mieux percue.

@pluche

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Comment récupérer le chemin d'un fichier dont l'extension ouvre une de mes applications [ par Ludolu ] J'explique : en gros, j'ai créé une nouvelle extension qui ouvre mon application et j'aimerais savoir comment on peut faire pour obtenir le chemin du lancer une appli sans bonnaître son chemin [ par Sonia ] Bonjour ! Aurais-tu la gentillesse de me décrire le code qui permet de lancer un programme dont je ne connaîs pas le chemin sur les ordinateurs qui ut Chemin d'accès d'un élément d'un ShellListView [ par PierreP ] je recherche comment obtenir le chemin d'accès d'un élément sélectionné dans un ShellListViewcela est très important, merci d'avance :) Récuperer le chemin relatif a un nom de partage [ par dabroke ] Salut!Comment récupérer un chemin a partir d'un nom de partage?Exemple: J'ai un nom de partage 'PARTAGE' qui correspond a 'c:\Rep1\Rep2'Comment récupé Récuperer le chemin relatif a un nom de partage [ par dabroke ] Salut!Comment récupérer un chemin a partir d'un nom de partage?Exemple: J'ai un nom de partage 'PARTAGE' qui correspond a 'c:\Rep1\Rep2'Comment récupé Récuperer le chemin relatif a un nom de partage [ par dabroke ] Salut!Comment récupérer un chemin a partir d'un nom de partage?Exemple: J'ai un nom de partage 'PARTAGE' qui correspond a 'c:\Rep1\Rep2'Comment récupé URGENT!!!!! CHEMIN UNC [ par dabroke ] Salut,J'ai vraiment besoin d'aide!!!!Voilà mon probleme, j'ai le nom de mon serveur (pour l'exemple:SERVEUR) , j'ai un chemin d'un fichier en local su URGENT!!!!! CHEMIN UNC [ par dabroke ] Salut,J'ai vraiment besoin d'aide!!!!Voilà mon probleme, j'ai le nom de mon serveur (pour l'exemple:SERVEUR) , j'ai un chemin d'un fichier en local su URGENT!!!!! CHEMIN UNC [ par dabroke ] Salut,J'ai vraiment besoin d'aide!!!!Voilà mon probleme, j'ai le nom de mon serveur (pour l'exemple:SERVEUR) , j'ai un chemin d'un fichier en local su URGENT!!!!! CHEMIN UNC [ par dabroke ] Salut,J'ai vraiment besoin d'aide!!!!Voilà mon probleme, j'ai le nom de mon serveur (pour l'exemple:SERVEUR) , j'ai un chemin d'un fichier en local su


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,855 sec (3)

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