[R] Le nom du fichier parcouru

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
zelda2
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 25 oct. 2009 15:26
Status : Hors ligne

[R] Le nom du fichier parcouru

#1

Message par zelda2 »

Bonjour.
Voila, sur mon programme l’utilisateur est emmené à choisir un fichier.
J aimerai que ensuit le nom du fichier s’affiche sur le programme.
Mais je n’arrive qu’a affiché le chemin complet du fichier, mais je n’ai pas trouvé comme affiché juste son nom.
Par exemple je voudrais que ça affiche « fichier.txt » ; et non pas « C:/fichier.txt »
Merci de votre aide.
Modifié en dernier par zelda2 le lun. 26 oct. 2009 14:36, modifié 1 fois.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Le nom du fichier parcouru

#2

Message par Iste »

Pour transformer une chaine de type xxxx\xxxx\xxxx\xxxx\yyyy en yyyy :

Code : Tout sélectionner

$var = 'c:\programme file\autoit\test.txt'

$var = StringSplit($var,'\')
$var = $var[$var[0]]

MsgBox('','',$var)
Signez ici
zelda2
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 25 oct. 2009 15:26
Status : Hors ligne

Re: [..] Le nom du fichier parcouru

#3

Message par zelda2 »

Merci.
Mais le problème c’est que je ne comprends pas du tout pourquoi cette fonction fait ça. Je pourrais très bien faire un copier coller et être content, mais j aimerai bien savoir comment ça marche …
J’espère que cela ne vous généra pas de m expliqué.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Le nom du fichier parcouru

#4

Message par Iste »

Benheu, ya la doc pour ca. Sinon ;

StringSplit() coupe la chaine a chaque '\' (deuxième parametre) et renvoi les bout dans un tableau
$var[0] = 4
$var[1] = ':c'
$var[2] = 'programme file'
$var[3] = 'autoit'
$var[4] = 'test.txt'
$var[0] contient le nombre de bout

$var = $var[$var[0]] dit que $var devient égale a $var[$var[0]].
$var[0] c'est 4 donc $var = $var[4].
$var[4] c'est 'test.txt' donc $var = 'test.txt'

$var[0] pointe toujours le 1er morceau, $var[$var[0]] pointe toujours le dernier

vala
Signez ici
zelda2
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 25 oct. 2009 15:26
Status : Hors ligne

Re: [..] Le nom du fichier parcouru

#5

Message par zelda2 »

A oui effectivement, merci beaucoup d avoir pris le temps de me répondre.
J'utilise toujours le doc pour m'aidé ou pour comprendre ou cherche une fonction, mais celle la, je ne comprenais pas du tous ce qu elle faisais. (J ai les bases en anglais mais sans plus)
Avatar du membre
mimione
Niveau 4
Niveau 4
Messages : 91
Enregistré le : mer. 30 avr. 2008 18:11
Localisation : Bretagne
Status : Hors ligne

Re: [R] Le nom du fichier parcouru

#6

Message par mimione »

Bonjour

Je dirai même plus: il y a ça: _PathSplit
(doc: voir dans les UDF standards)

Bonne journée
Je ne suis pas toujours de mon avis....
--------------------------------------------
Des malheurs évités le bonheur se compose.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [R] Le nom du fichier parcouru

#7

Message par sylvanie »

Allez ! Je vais y mettre une petite expression régulière, histoire de voire une autre méthode :

Code : Tout sélectionner

$path="C:\xxxx\xxxx\xxxx\xxxx\yyyy.zz"

$file=StringRegExp($path,".+\\(.+)",1)
if Not @error Then ConsoleWrite($file[0])
 
explication :
.+\\ va parcourrir la plus grande sous chaîne se terminant par \, puis
(.+) va sélectionner tout ce qu'il y a après.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Répondre