Il a été demandé dans un forum Web s'il existait un logiciel pour trier des noms de fichiers d'un dossier sur la date qui se trouvait en fin du nom.
Les noms des fichiers étaient du type "nomDuFichier 24-2-2017" jour, mois, année.
Il faut "2017-02-24 nomDuFichier" Pour que les fichiers soient triés par date, avec le jour et le mois toujours sur deux caractères.
C'est trop difficile comme exercice pour débuter. Nous allons donc faire par étapes.
1 - Convertir une date 24-2-2017 jour, mois, année en 2017-02-24.
2 - Convertir une date 24-2-2017 les mois et jours pouvant être sur 1 ou 2 caractères.
3 - Convertir une date 24-2-2017 quelque soit le signe séparateur entre mois, jour, année. Signe séparateur qui peut être dans le nom du fichier.
4 - Convertir avec le nom de fichier "toto 24-2-2017"
En finale nous étudierons la fonction incluse dans la lecture du dossier et la duplication des fichiers.
Les positions des jours et du mois étant fixe vous pouvez utiliser une commande du type :
char 1 to 2 of uneLigne
Téléchargez la pile exercice10
Il y a un corrigé de l'exercice dans l'icône
Nous allons en profiter pour apprendre la commande offset
put offset ("-", uneLigne) into offsetBeginText
Qui donne la position de début d'une chaîne de caractères dans une variable.
Téléchargez la pile exercice11
Il y a un corrigé de l'exercice dans l'icône
Cela marchera parfaitement pour l'exercice, mais en finale si nous avons "nom.Du.Fichier 24.2.2017". La commande offset se positionnera entre "nom" et "Du".
il est donc préférable d'utiliser le type de commande suivante :
if char X of uneLigne is in "0,1,2,3,4,5,6,7,8,9" then
Téléchargez la pile exercice12
Il y a un corrigé de l'exercice dans l'icône