Sélectionner l'extension pour une action

motardazerty Messages postés 37 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 4 novembre 2010 - 4 juin 2008 à 10:29
motardazerty Messages postés 37 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 4 novembre 2010 - 5 juin 2008 à 12:35
Bonjour,

Je souhaiterais savoir si il existe un moyen de sélectionner une extension en ouvrant un document.
Je m'explique je souhaiterais pouvoir lire le type d'extension  ce qui me permetterais par la suite d'ouvrir (via un switch) le programme nécessaire à la lecture d'un fichier.

Par exemple en ouvrant un document .doc mon programme reconnaitra le ".doc" est donc l'action serai d'ouvrir Word; ou bien en ouvrant un .pdf mon programme reconnaitra le ".pdf" est donc l'action serai d'ouvrir Adobe Reader.

J'ai recherché une méthode pour obtenir l'extension mais je n'ai pas trouver...
Sauriez vous comment il faut si prendre??

Merci de votre aide

3 réponses

motardazerty Messages postés 37 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 4 novembre 2010
4 juin 2008 à 11:52
Bon j'ai "réussi", j'ai fait comme suis sa fonctionne impec:



// on charge un fichier texte dans la boîte de saisie









// on paramètre la boîte de dialogue openfileDialog1

bOuvrir.InitialDirectory = System.Windows.Forms.




Application
.ExecutablePath;

// Application.LocalUserAppDataPath;

bOuvrir.Filter =




"Fichiers texte (*.txt)|*.txt|Fichiers Word (*.doc)|*.doc|Fichier Excel (*.xls)|*.xls|Fichier PDF (*.pdf)|*.pdf|Tous les fichiers (*.*)|*.*"
;bOuvrir.FilterIndex = 0;


if
(bOuvrir.ShowDialog() ==

DialogResult
.OK){


// On execute en fonction du choix /!\ Si la barre de chargement du type (*.doc, *.pdf,...)change penser a changer dans le switch






int
extension = bOuvrir.FilterIndex;


switch
(extension){


case
2: Microsoft.Office.Interop.Word.

ApplicationClass
wordApp =

new



ApplicationClass
();


object
file = bOuvrir.FileName;


object
nullobj = System.Reflection.

Missing
.Value;Microsoft.Office.Interop.Word.


Document
doc = wordApp.Documents.Open(

ref
file,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj,

ref
nullobj);doc.ActiveWindow.Selection.WholeStory();

doc.ActiveWindow.Selection.Copy();


IDataObject
data =

Clipboard
.GetDataObject();richTextBox1.Text = data.GetData(


DataFormats
.Text).ToString();doc.Close(


ref
nullobj,

ref
nullobj,

ref
nullobj);


break
;}

}
0
Liverion Messages postés 296 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 18 août 2008
5 juin 2008 à 11:22
Met la nouvelle version avec les string ici, ca fait plus propre  ;)

~~~
Les trois lois de Codes-Sources :
Règle 1) Tu lis et respectes le reglement
Règle 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Règle 3) Si tu ne respectes pas les 2 premières ....TU SORS !!!
~~~
0
motardazerty Messages postés 37 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 4 novembre 2010
5 juin 2008 à 12:35
Je le fait de suite! Au cas ou il pourrait servir ^^

// on charge un fichier texte dans la boîte de saisie

// on paramètre la boîte de dialogue openfileDialog1bOuvrir.InitialDirectory = System.Windows.Forms.

Application.ExecutablePath;// Application.LocalUserAppDataPath;bOuvrir.Filter "Fichiers texte (*.txt)|*.txt|Fichiers Word (*.doc)|*.doc|Fichier Excel (*.xls)|*.xls|Fichier PDF (*.pdf)|*.pdf|Fichier PowerPoint (*.ppt)|*.ppt|Fichier Visio (*.vsd)|*.vsd|Fichier HTM (*.htm)|*.htm|Fichier HTML (*.html)|*.html|Tous les fichiers (*.*)|*.*";bOuvrir.FilterIndex 0;

if (bOuvrir.ShowDialog() ==
DialogResult.OK){

// On execute en fonction du choix

int extension = bOuvrir.FilterIndex;

switch ( bOuvrir.FileName.Substring( bOuvrir.FileName.Length-4 ))
//extension){

case
".txt":

new
Visualisateur().Show();

break;

case
".doc": Microsoft.Office.Interop.Word.

ApplicationClass WordApp =
new Microsoft.Office.Interop.Word.
ApplicationClass();

// recupere le nom du fichier pour l'ouvrir

object fileName = bOuvrir.FileName;

object readOnly =
true;

object isVisible =
true;

object missing = System.Reflection.
Missing.Value;

//Visualisation de l'application WordWordApp.Visible =

true;

// Ouvre le document word sélectionnéMicrosoft.Office.Interop.Word.

Document aDoc = WordApp.Documents.Open(
ref fileName,
ref missing,
ref readOnly,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref isVisible,
ref missing,
ref missing,
ref missing,
ref missing);aDoc.Activate();

break;

case
".xls":

break;

case
".vds":

break;

case
".htm":

break;

case
".html":

break;

case
".pdf":

break;

case
".ppt":

break;}

}
0
Rejoignez-nous