Page 1 sur 1

[R] Le nom du fichier parcouru

Posté : lun. 26 oct. 2009 14:05
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.

Re: [..] Le nom du fichier parcouru

Posté : lun. 26 oct. 2009 14:13
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)

Re: [..] Le nom du fichier parcouru

Posté : lun. 26 oct. 2009 14:20
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é.

Re: [..] Le nom du fichier parcouru

Posté : lun. 26 oct. 2009 14:27
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

Re: [..] Le nom du fichier parcouru

Posté : lun. 26 oct. 2009 14:35
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)

Re: [R] Le nom du fichier parcouru

Posté : mar. 27 oct. 2009 09:29
par mimione
Bonjour

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

Bonne journée

Re: [R] Le nom du fichier parcouru

Posté : mar. 27 oct. 2009 21:56
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.