Comment assembler les propriétés d'un fichier dans un interface graphique simpli

sghchafaa Messages postés 104 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 16 juillet 2010 - 4 août 2008 à 09:13
sghchafaa Messages postés 104 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 16 juillet 2010 - 4 août 2008 à 11:32
Bonjour;
Je cherche a produire une interface graphique qui résume les propriétés d'un fichier(que se soit text,image,sons,video) par exemple la taille;l'extension,date de création date de modification,longueur en seconde pour les fichier sonores et videos,etc
je connait tout les syntaxes en C# pour recuperer ses info et les afficher en mode console, mais je ne sais pas comment les assemblés en mde graphique(windows forms et pas web forms).

voila c'est une partie des info que je cherche a afficher dans le mode graphique:


//
Date
de
création

Console
.
WriteLine
(
"
Créé
le
{0}
à
{1}
"
,

 File
.
GetCreationTime
(sFilename)
.
ToShortDateString
()
,

File
.
GetCreationTime
(sFilename)
.
ToShortTimeString
())
;


//
Date
de
la
dernière
modification

Console
.
WriteLine
(
"
Modifié
le
{0}
à
{1}
"
,

File
.
GetLastWriteTime
(sFilename)
.
ToShortDateString
()
,

File
.
GetLastWriteTime
(sFilename)
.
ToShortTimeString
())
;


//
Date
du
dernier
accès

Console
.
WriteLine
(
"
Dernier
accès
le
{0}
à
{1}
"
,

File
.
GetLastAccessTime
(sFilename)
.
ToShortDateString
()
,

File
.
GetLastAccessTime
(sFilename)
.
ToShortTimeString
())
;


//
Récupération
des
attributs
d'un
fichier

FileAttributes Fa
=
File
.
GetAttributes
(
@"
C:\text.txt
"
)
;


 
//
Vérification
si
le
fichier
est
en
lecture
seule
if
((Fa
&
amp
;
FileAttributes
.
ReadOnly)
=
=
FileAttributes
.
ReadOnly)

Console
.
WriteLine
(
"
Ce
fichier
est
en
lecture
seule
!
"
)
;
else

Console
.
WriteLine
(
"
Ce
fichier
n'est
pas
en
lecture
seule
"
)
;


//Pour connaitre la taille du fichier
string
path
=
@"
C:\Test\test.txt
"
;

try
{

 System
.
IO
.
FileInfo monfichier
=
new
System
.
IO
.
FileInfo
(path)
;

 Console
.
WriteLine
(
"
Taille
du
fichier
:
{0}
octets
"
,
monfichier
.
Length)
;
}

 
catch
(Exception exc)

{

Console
.
WriteLine
(
"
Un
problème
a
été
rencontré
avec
le
fichier
'{0}'
!\nErreur:
{1}
"
,
path
,
exc
.
Message)
;

 
}


et bien plus d'autre info,,, alors please please comment y collecter dans un interface graphique simplifier tant que j'utilise C# Express edition 2008
Merci bien de votre aide.

8 réponses

parlaciel Messages postés 33 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 22 décembre 2009 1
4 août 2008 à 10:03
souhaites tu faire apparaitre  ça en pop up? ou dans une form?
using System.Windows.Forms;
en pop up tu fait un:
 messageBox.show( ta syntaxe+"\r\n"+ ta syntaxe2 +"\r\n" ...);

en form tu crées une form tu y ajoutes un panel  avec le nombre de  label que tu souhaites voir apparaitre aux endroits adéquat et dans le constructeur de la form tu fais:

label1.Text = ta syntaxe;

et pareil pour le reste de info que tu souhaites voir s' afficher.
normalement ça doit être faisaible sous express 2008

j'espère que ça t auras aidé
0
sghchafaa Messages postés 104 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 16 juillet 2010
4 août 2008 à 10:20
Bonjour;

merci,j'ai compris globalement ce que vous voulez dire;mais le code que je vais ecrire
"label1.Text = ta syntaxe;" sa doit etre en fichier [Program.cs] ou en [Form1.Designer.cs] ou bien [Form1.cs]!!!!!!!?

car ce que je connais que le fichier[Form1.Designer.cs] est destigné a tout ce qui est interface graphique, et ne necessite pas l'intervention du developpeur,car le dot net traduit automatiquement les objet en des codes,

Merci bien de votre aide.
0
sghchafaa Messages postés 104 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 16 juillet 2010
4 août 2008 à 10:28
Bonjour;
• [Program.cs] est la classe principale du projet
• [Form1.cs] est le fichier source qui va gérer le comportement de la fenêtre
• [Form1.Designer.cs] est le fichier source qui va encapsuler l'information sur les composants de la fenêtre

alors je pense que ""label1.Text = ta syntaxe;"" doit etre ecri dans [Program.cs]???

Merci bien de votre aide.
0
parlaciel Messages postés 33 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 22 décembre 2009 1
4 août 2008 à 10:46
effectivement il vaut mieux éviter d'écrire dans le designer!!!! donc là t' y touches pas!!

le label.text = ta syntaxe;

tu le mets dans le constructeur de ta classe Form1.cs
de manière à voir apparaitre tes données  il suffit par la suite de créer ta form :

Form1 maForm = new Form1();

maForm.show();
0

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

Posez votre question
sghchafaa Messages postés 104 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 16 juillet 2010
4 août 2008 à 10:59
Bonjour;
ok,j'arrive a comprendre peut a peut,merci pour votre aide,j'essayerais de l'appliquer et je voul laisserais a jours;mais s'il vous plait,juste une question;; quel est la difference entre [Program.cs] et [Form1.cs]????

Merci bien de votre aide.
0
parlaciel Messages postés 33 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 22 décembre 2009 1
4 août 2008 à 11:26
program.cs c est là où tu vas faire tout tes traitements ici en l'occurence tu récupères des informations concernants des fichiers .

Form.cs c est la classe qui va te permettre d' afficher tes données.

alors ce que tu peux faire qui  est un peu crade mais qui fonctionne c est de coupler tes deux classes c'est à dire que tu copies tes fonctions et que tu les colles la où "ta syntaxe" est appelée. Mais je le répéte c est très sale.

soit tu passes par une méthode MVC il te reste pour cela de créer une troisimée classe qui fera le lien entre les deux déja existante.

tu instancies ta classe program.cs dans la troisiéme qu'on pet appeler controlleur.cs et tu appelle controlleur.cs dans ta form ce qui te donnera accés à tes données qui sont sur program.cs.....
il te reste à faire des gets sur ta class program genre :

public string getXXX()
{
return tailleFichier;
}

dans ta class controlleur tu fais un:
public program getProgram()
{
return monProgram;
}

et de ta form tu l'appelles en faisant un :
 
string taSyntaxe = controlleur.getProgram().getXXX();

mais bon ça reste un peu plus long à faire.... mais c est mieux!!

voila j'espère que ça te seras utile!
0
parlaciel Messages postés 33 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 22 décembre 2009 1
4 août 2008 à 11:30
ah oui nan je réctifie!!!!! dans ton cas tu n as pas besoin de controlleur!!!!! désolée!!!! les gets dans ta classe program.cs suffise si tu référenties cette classe dans ta form!!!
je suis pas sure d' avoir été clair!!!
0
sghchafaa Messages postés 104 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 16 juillet 2010
4 août 2008 à 11:32
Bonjour;
c'est trés utile, merci bien pour votre passion aussi bien que votre patience,comme je vous es promis, je vous laisserais a jours avec mon travail.
HAVE A NICE DAY

Merci bien de votre aide.
0
Rejoignez-nous