Split parties d'un fichier et production de noms de fichiers

Description

On utilise habituellement ProcessPath(aFullname, Drive, Path, Name).
Mais cette fonction de l'unité FileCtrl génère une erreur si les fichiers n'existent pas physiquement sur le disque.

Le but étant de créer en série des noms uniques de fichiers (production), il faut pouvoir se passer de ProcessPath et décomposer au passage le nom qui comprend l'extension.
Nous avons donc créé deux fonctions :

Function FSplitPartFullName(Const aFullName : String;Var aDrive: Char;
Var aPath,aRoot,aExt : String): Boolean;

qui remplit les mêmes fonctions que ProcessPath

et

Function FCreatAutoName(Const aFullName : String; Const aIndent : TTypIndent): String;

qui est une fonction de production d'un nom unique selon un mode d'indentation défini par TTypIndent que nous avons limité dans cet exemple à deux types:

1. Racine de nom fixe + incrément numérique adjoint à la racine + extention
2. Racine de nom fixe + extension numérique

Source / Exemple :


Le source est détaillé et la démo permet de comprendre les différents effets en créant réellement les fichiers paramétrés et en yant un log directement affiché dans un mémo.

Conclusion :


Quand j'ai créé ces fonctions, je n'avais pas encore découvert qu'en fait la procédure ProcessPath de FileCtrl réalisait le Split des différentes parties du fichier tout en générant une erreur.

J'ai donc intégré dans la démo la possibilité de créer les fichiers avec ou sans ProcessPath. J'ai laissé toutes les fonctions utilisées qui peuvent être utiles quand même!

Codes Sources

A voir également

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.