WikiElectronique

Wiki sur l'électronique et l'informatique

Outils pour utilisateurs

Outils du site


memo_des_indispensables

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
memo_des_indispensables [2015/04/17 21:19]
82.228.9.53 créée
memo_des_indispensables [2017/12/06 16:13] (Version actuelle)
Ligne 1: Ligne 1:
-MEMO des indispensables+====== ​MEMO des indispensables ​C# ======
  
-====== Dossier et fichier ====== 
  
-===== OpenFileDialog ​=====+===== Dossier et fichier ​===== 
 + 
 +==== OpenFileDialog ​====
 <code csharp |OpenFileDialog>​ <code csharp |OpenFileDialog>​
 +OpenFileDialog openFileDialogModele = new OpenFileDialog();​
 +openFileDialogModele.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";​
 +openFileDialogModele.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);​
  
-            OpenFileDialog openFileDialogModele ​new OpenFileDialog(); +DialogResult result ​openFileDialogModele.ShowDialog(); 
-            ​openFileDialogModele.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"+if (result == DialogResult.OK 
-            ​openFileDialogModele.InitialDirectory ​Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);+
 +    textBoxModele.Text = openFileDialogModele.FileName;​ 
 +
 +</​code>​ 
 +  
 +==== Lecture d'un fichier texte ==== 
 +<code csharp ​|OpenFileDialog>​ 
 +System.IO.StreamReader file = new System.IO.StreamReader(textBoxIdModele.Text); 
 +string Text file.ReadToEnd(); 
 +file.Close(); 
 +</​code>​ 
 +==== Lecture d'un fichier texte ligne par ligne ====
  
-            DialogResult result ​openFileDialogModele.ShowDialog(); +<code csharp |OpenFileDialog>​ 
-            ​if ​(result =DialogResult.OK)  +List<​string>​ lines new List<​string>​();​ 
-            + 
-                ​textBoxModele.Text = openFileDialogModele.FileName+string line; 
-            }+System.IO.StreamReader file = new System.IO.StreamReader(@"​c:​\test.txt"​); 
 +while ((line file.ReadLine()) != null
 +
 +   lines.Add(line)
 +}
 </​code> ​ </​code> ​
 +
 +==== Ecriture d'un fichier texte ====
 +
 +<code csharp |WriteAllText>​
 +System.IO.File.WriteAllText(@"​C:​\Users\Public\TestFolder\WriteText.txt",​ text);
 +</​code> ​
 +
 +==== Selectionner un répertoire ====
 +<code csharp |FolderBrowserDialog>​
 +string Path;
 +
 +FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();​
 +folderBrowserDialog.RootFolder = Environment.SpecialFolder.DesktopDirectory;​
 +if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
 +{
 +    Path = folderBrowserDialog.SelectedPath;​
 +}
 +</​code> ​
 +
 +===== Événements =====
 +Vous avez un objet qui doit vous renvoyer une information. Exemple un client doit se connecter à un serveur et vous souhaitez recupérer l'​information qu'il s'est connecté.
 +Voici un petit exemple.
 +
 +La premiere chose à faire est dans la classe de votre objet de créer le ou les évenements.
 +Cette événement renverra un argument herité de EventArgs. Il est possible de passer n'​importe quelle variable que l'on souhaite
 +
 +<code csharp |Exemple d'​evenement Classe Client>
 +    class Client
 +    {
 +        public event EventHandler<​ConnectedEventArgs>​ ClientConneted;​
 +
 +        protected virtual void OnClientConnected(ConnectedEventArgs e)
 +        {
 +            if (ClientConneted != null) ClientConneted(this,​ e);
 +        }
 +
 +        public Client()
 +        {
 +        }
 +
 +        public void Connect()
 +        {
 +            //​Procédure de connexion ....
 +            // Si connecté :
 +
 +            //​Déclenchement de l'​évenement
 +            OnClientConnected(new ConnectedEventArgs("​Connexion OK !",​14));​
 +        }
 +    }
 +
 +    //Classe de l'​argument de l'​evement
 +    public class ConnectedEventArgs : EventArgs
 +    {
 +        internal string m_msg; ​  //Un parametre quelconque passé
 +        internal int m_val;
 +
 +        public ConnectedEventArgs(string msg, int val)
 +        {
 +            m_msg = msg;
 +            m_val = val;
 +        }
 +    }
 +</​code>​
 +
 +Une fois que vous avez créé votre événement dans votre objet, il faut que votre application s'​abonne à cette événement :
 +
 + <​code csharp |Exemple d'​evenement Abonnement et déclenchement>​
 +    class Client
 +    {
 +        Client clt = new Client();
 +
 +        public Form1()
 +        {
 +            InitializeComponent();​
 +
 +            //​Abonnement à l'​évenement
 +            clt.ClientConneted += new EventHandler<​ConnectedEventArgs>​(clt_ClientConneted);​
 +            //Lancement de la précudure de connexion qui déclenchera l'​évenement
 +            clt.Connect();​
 +        }
 +
 +        /// <​summary>​
 +        /// Methode qui sera executé au déclenchement de l'​évenement
 +        /// </​summary>​
 +        /// <param name="​sender"></​param>​
 +        /// <param name="​e"></​param>​
 +        private void clt_ClientConneted(object sender, ConnectedEventArgs e)
 +        {
 +            MessageBox.Show("​Client connecté, argument: " + e.m_msg + " val: " + e.m_val); ​
 +        }
 +    }
 +</​code>​
memo_des_indispensables.1429298356.txt.gz · Dernière modification: 2017/12/06 16:11 (modification externe)