jeffwow
Messages postés140Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention 5 septembre 2014
-
21 déc. 2002 à 03:02
pornik
Messages postés37Date d'inscriptionmardi 11 décembre 2001StatutMembreDernière intervention31 décembre 2002
-
25 déc. 2002 à 12:45
Donc, j'ouvre un fichier avec OpenFileDailog... jusque là ça va. Ensuite, je voudrais prendre le nom de ce fichier et l'envoyer dans un textBox. textBox.Text= OpenFileDialog.Filename.toString();
Jusque là pas de problème, tout baigne. Là ou ça se corse, c'est lorsque je ne veux pas avoir tout le path du fichier. Dans le TextBox pour l'instant ce qui s'afficher c'est:
c:\mondossier\monsousdossier\unautre\fichier.txt
Mais moi je veux que seulement le nom (fichier.txt) s'affiche dans le textBox.
jayrock
Messages postés24Date d'inscriptionvendredi 10 mai 2002StatutMembreDernière intervention13 avril 2003 21 déc. 2002 à 18:26
Une façon compliquée mais qui marche est d'utiliser la séparation des zones de ton texte. Dans un tableau en utilisant Regex.split tu vas séparer ta chaine en "mondossier", "monsousdossier", "unautre" et "fichier.txt".
Pour ça tu utilises :
using RE=System.Text.RegularExpressions;
...
string[] ts=RE.Regex.Split(TextBox.Text,"");
int nbre=ts.Length;
string nomfichiersansrepertoire=ts[nbre];
Je pense que ça marche, mais c'est à vérifier. Sinon, avec un using System.IO, tu n'as rien trouver ? Je sais qu'on peut avoir le répertoire, donc tu dois pouvoir avoir le nom de ton fichier ...
jayrock
Messages postés24Date d'inscriptionvendredi 10 mai 2002StatutMembreDernière intervention13 avril 2003 21 déc. 2002 à 18:32
Une solution qui pourrait aussi te donner des résultats à vérifier est d'utiliser System.IO ( te donne tous les noms des fichiers contenus dans le répertoire courrant sans extension je pense, j'ai pas testé ) :
using System.IO;
...
string curDir=Directory.GetCurrentDirectory();
DirectoryInfo cdi=new DirectoryInfo(curDir);
foreach(FileInfo fi in cdi.GetFiles())
TextBox.text=fi.Name
jayrock
jayrock
Messages postés24Date d'inscriptionvendredi 10 mai 2002StatutMembreDernière intervention13 avril 2003 21 déc. 2002 à 18:36
ou ( 3ème solution de la série :-) ) qui te donnera ce que tu veux je pense :
using System.IO;
...
FileInfo f=new FileInfo(ta_chaine_avec_le_répertoire);
string nom_avec_extension=f.Name;
long taille_fichier=f.Length;
DateTime creation=f.CreationTime;
etc ....
pornik
Messages postés37Date d'inscriptionmardi 11 décembre 2001StatutMembreDernière intervention31 décembre 20022 25 déc. 2002 à 12:45
> string[] ts=RE.Regex.Split(TextBox.Text,"");
Pourquoi s'embêter avec les Regex alors que la classe string contient la méthode Split ? Et oublie pas le double back-slash ou alors ajoute le @ avant les guillemets pour ne plus avoir à ajouter des caractères d'échappement.
string[] ts = TextBox.Text.Split('\\');
> int nbre=ts.Length;
Inutile de passer par une variable pour si peu...
> string nomfichiersansrepertoire=ts[nbre];
Le dernier élément du tableau étant <taille-1> cela va dépasser... Cela aurait du être ts[nbre-1]. Bon pour résumer ce serait plus simple ainsi :