Probleme d'ouverture de fichier

Résolu
pyr0123 Messages postés 48 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 13 juillet 2010 - 6 juil. 2006 à 15:46
pyr0123 Messages postés 48 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 13 juillet 2010 - 7 juil. 2006 à 02:13
Bonjour,

Je voudrais ouvrir un fichier texte (rtf)  mais voici mon probleme : "Format de fichier non valide."

mon code :




private void Ouvrir_Click(object sender, EventArgs e)
{


 
   if (openFile.ShowDialog() == DialogResult.OK)
            {
               OpenFileDialog openFileDialog1 = new OpenFileDialog();
               string pathNomFichier = openFile.FileName.ToString();
               richTextBox1.LoadFile(pathNomFichier);
            }
    else return;
}




Le probleme si situe a la ligne
" richTextBox1.LoadFile(pathNomFichier);"

Merci pour votre aide...

12 réponses

dgouttegattat Messages postés 129 Date d'inscription mardi 22 novembre 2005 Statut Membre Dernière intervention 30 décembre 2007 3
6 juil. 2006 à 16:32
Bonjour,

D'après la documentation, pour charger un fichier texte dans un RichTextBox, il faut utiliser la forme surchargée de la méthode LoadFile, avec en second paramètre la valeur RichTextBoxStreamType.PlainText. Apparemment, le RichTextBox ne peut déterminer automatiquement le type de fichier...
3
pyr0123 Messages postés 48 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 13 juillet 2010
7 juil. 2006 à 02:13
C'est bon...
Avec un


 string test = sLine.Substring(0, 5);
  if (test == "{\\rtf")
..........

;-)
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
6 juil. 2006 à 15:56
Euh, pourquoi tu as cette ligne ?
OpenFileDialog openFileDialog1 = new OpenFileDialog(); ??

Sinon, vérifie le contenu de la variable qui contient le path, juste avant de faire le load, et assure toi que le fichier est bien au format rtf.

<hr size="2" /> VC# forever
=13319
0
pyr0123 Messages postés 48 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 13 juillet 2010
6 juil. 2006 à 16:07
Oui en effet cette ligne est inutile ;) C'est a force d'essayer plein de choses...
La variable qui contient le path est une chaine de caractère, et le fichier est bien un fichier normal txt..
:-/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
6 juil. 2006 à 16:08
Mais ça doit être un fichier avec l'extension rtf et pas txt....

<hr size= "2" /> VC# forever
=13319
0
pyr0123 Messages postés 48 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 13 juillet 2010
6 juil. 2006 à 16:18
Excuse j'ai oublier de préciser que les fichier RTF il les ouvre bien, le probleme est pour les fichier TXT !
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
6 juil. 2006 à 16:29
pour les fichiers txt :

richTextBox1.Text = File.ReadAllText(tonfichier);

il n'existe pas de méthode pour charger un fichier texte directement.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
6 juil. 2006 à 16:37
arf... je n'avais pas vu cette surcharge... au temps pour moi :)

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
pyr0123 Messages postés 48 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 13 juillet 2010
6 juil. 2006 à 16:55
Merci pour la surchage :-) Je n'avais pas vu non plus.
Donc maintenant je test la premiere ligne du fichier pour voir c'est du texte simple ou bien si c'est du rtf ca commencera par du
{\rtf1
0
pyr0123 Messages postés 48 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 13 juillet 2010
6 juil. 2006 à 18:23
Un dernier problème :
J'utilise une expression reguliere pour trouver le {\rtf  c.a.d :




 Regex rtfRegexp = new Regex(@"{\rtf");

Mais en lui donnant un fichier rtf il ne le detecte pas..
Je soupçonne mon expreg. d'etre mauvaise ??
Merci.
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
6 juil. 2006 à 23:09
Pour faire plus simple, tu peux peut-être utiliser la méthode StartWith de la class string...

<hr size= "2" /> VC# forever
=13319
0
pyr0123 Messages postés 48 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 13 juillet 2010
7 juil. 2006 à 01:22
Merci de ta réponse, mais la méthode StartsWith prend la ligne entière, or la premiere ligne est différente pour chaque fichier... c'est pour ça que j'ai utilisera un RegExp..
D'autres idées ?
0
Rejoignez-nous