Accueil > > > CLASSE CONSOLE (EN AUTRE POUR EFFACER LA CONSOLE)
CLASSE CONSOLE (EN AUTRE POUR EFFACER LA CONSOLE)
Information sur la source
Description
Voila, j'ai du faire une Class pour le lycée, pour effacer la console en C#... Pensant que ça peut etre utile pour certains, je poste donc la classe ici.... Ce n'est pas d'un grand interret en soit... mais ça peut servir...
Source
- /************************************************************************************ *
- * Classe _Console par Thomas Bétrancourt (K-J158) *
- * ********************************************************************************** *
- * Source : http://support.microsoft.com/default.aspx?scid=kb%3Bfr%3B319257 *
- * ********************************************************************************** *
- * Mode d'emploi : *
- * - Copier _Console.cs dans le dossier de votre projet *
- * - Ajouter _Console.cs à votre projet (Menu Projet, Ajouter un composant existant) *
- * - Utiliser _Console à la place de Console (ex: _Console.WriteLine("Coucou");) *
- * ********************************************************************************** */
-
- /*
- * Pour les DllImport et les StructLayout
- */
- using System.Runtime.InteropServices;
-
- namespace System
- {
- public class _Console
- {
- #region Structures
- [StructLayout(LayoutKind.Sequential)]
- struct COORD
- {
- public short x;
- public short y;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- struct SMALL_RECT
- {
- public short Left;
- public short Top;
- public short Right;
- public short Bottom;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- struct CONSOLE_SCREEN_BUFFER_INFO
- {
- public COORD dwSize;
- public COORD dwCursorPosition;
- public int wAttributes;
- public SMALL_RECT srWindow;
- public COORD dwMaximumWindowSize;
- }
- #endregion
-
- #region Importations
- [DllImport("kernel32.dll", EntryPoint="GetStdHandle", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
- private static extern int GetStdHandle(int nStdHandle);
-
- [DllImport("kernel32.dll", EntryPoint="FillConsoleOutputCharacter", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
- private static extern int FillConsoleOutputCharacter(int hConsoleOutput, byte cCharacter, int nLength, COORD dwWriteCoord, ref int lpNumberOfCharsWritten);
-
- [DllImport("kernel32.dll", EntryPoint="GetConsoleScreenBufferInfo", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
- private static extern int GetConsoleScreenBufferInfo(int hConsoleOutput, ref CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);
-
- [DllImport("kernel32.dll", EntryPoint="SetConsoleCursorPosition", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
- private static extern int SetConsoleCursorPosition(int hConsoleOutput, COORD dwCursorPosition);
- #endregion
-
- #region Membres
- private static int STD_OUTPUT_HANDLE = -11;
- private static byte EMPTY = 32;
- private static int hConsoleHandle;
- #endregion
-
- #region Méthodes
- public static void Write(char c)
- {
- Console.Write(c);
- }
-
- public static void Write(bool b)
- {
- Console.Write(b);
- }
-
- public static void Write(Decimal d)
- {
- Console.Write(d);
- }
-
- public static void Write(Double d)
- {
- Console.Write(d);
- }
-
- public static void Write(Int32 i)
- {
- Console.Write(i);
- }
-
- public static void Write(Int64 i)
- {
- Console.Write(i);
- }
-
- public static void Write(Object o)
- {
- Console.Write(o);
- }
-
- public static void Write(Single s)
- {
- Console.Write(s);
- }
-
- public static void Write(string Format)
- {
- Console.Write(Format);
- }
-
- public static void Write(UInt32 ui)
- {
- Console.Write(ui);
- }
-
- public static void Write(UInt64 ui)
- {
- Console.Write(ui);
- }
-
- public static void Write(string Format, Object o)
- {
- Console.Write(Format, o);
- }
-
- public static void Write(string Format, params Object[] Argv)
- {
- Console.Write(Format, Argv);
- }
-
- public static void Write(char[] buffer, Int32 i1, Int32 i2)
- {
- Console.Write(buffer, i1, i2);
- }
-
- public static void Write(string Format, Object o1, Object o2)
- {
- Console.Write(Format, o1, o2);
- }
-
- public static void Write(string Format, Object o1, Object o2, Object o3)
- {
- Console.Write(Format, o1, o2, o3);
- }
-
- public static void Write(string Format, Object o1, Object o2, Object o3, Object o4)
- {
- Console.Write(Format, o1, o2, o3, o4);
- }
-
- public static void WriteLine()
- {
- Console.WriteLine();
- }
-
- public static void WriteLine(char c)
- {
- Console.WriteLine(c);
- }
-
- public static void WriteLine(bool b)
- {
- Console.WriteLine(b);
- }
-
- public static void WriteLine(Decimal d)
- {
- Console.WriteLine(d);
- }
-
- public static void WriteLine(Double d)
- {
- Console.WriteLine(d);
- }
-
- public static void WriteLine(Int32 i)
- {
- Console.WriteLine(i);
- }
-
- public static void WriteLine(Int64 i)
- {
- Console.WriteLine(i);
- }
-
- public static void WriteLine(Object o)
- {
- Console.WriteLine(o);
- }
-
- public static void WriteLine(Single s)
- {
- Console.WriteLine(s);
- }
-
- public static void WriteLine(string Format)
- {
- Console.WriteLine(Format);
- }
-
- public static void WriteLine(UInt32 ui)
- {
- Console.WriteLine(ui);
- }
-
- public static void WriteLine(UInt64 ui)
- {
- Console.WriteLine(ui);
- }
-
- public static void WriteLine(string Format, Object o)
- {
- Console.WriteLine(Format, o);
- }
-
- public static void WriteLine(string Format, params Object[] Argv)
- {
- Console.WriteLine(Format, Argv);
- }
-
- public static void WriteLine(char[] buffer)
- {
- Console.WriteLine(buffer);
- }
-
- public static void WriteLine(char[] buffer, Int32 i1, Int32 i2)
- {
- Console.WriteLine(buffer, i1, i2);
- }
-
- public static void WriteLine(string Format, Object o1, Object o2)
- {
- Console.WriteLine(Format, o1, o2);
- }
-
- public static void WriteLine(string Format, Object o1, Object o2, Object o3)
- {
- Console.WriteLine(Format, o1, o2, 03);
- }
-
- public static void WriteLine(string Format, Object o1, Object o2, Object o3, Object o4)
- {
- Console.WriteLine(Format, o1, o2, 03, o4);
- }
-
- public static int Read()
- {
- return Console.Read();
- }
-
- public static string ReadLine()
- {
- return Console.ReadLine();
- }
-
- public static void Clear()
- {
- int hWrittenChars = 0;
- hConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
- CONSOLE_SCREEN_BUFFER_INFO strConsoleInfo = new CONSOLE_SCREEN_BUFFER_INFO();
- COORD Home;
- Home.x = Home.y = 0;
- GetConsoleScreenBufferInfo(hConsoleHandle, ref strConsoleInfo);
- FillConsoleOutputCharacter(hConsoleHandle, EMPTY, strConsoleInfo.dwSize.x * strConsoleInfo.dwSize.y, Home, ref hWrittenChars);
- SetConsoleCursorPosition(hConsoleHandle, Home);
- }
- #endregion
- }
- }
-
- // Exemple d'utilisation :
- using System;
-
- namespace PouetDansLeau
- {
- class Class1
- {
- static void Main(string[] args)
- {
- _Console.Write("Coucou : ");
- _Console.WriteLine("pouet !");
- _Console.WriteLine("Test de saisi d'une ligne :");
- string s = _Console.ReadLine();
- _Console.Clear();
- _Console.WriteLine("Vous avez tapé : '{0}'", s);
- _Console.WriteLine("Voilà la console est effacée...");
- _Console.WriteLine("Appuyez sur Entrée pour continuer...");
- _Console.ReadLine();
- }
- }
- }
/************************************************************************************ *
* Classe _Console par Thomas Bétrancourt (K-J158) *
* ********************************************************************************** *
* Source : http://support.microsoft.com/default.aspx?scid=kb%3Bfr%3B319257 *
* ********************************************************************************** *
* Mode d'emploi : *
* - Copier _Console.cs dans le dossier de votre projet *
* - Ajouter _Console.cs à votre projet (Menu Projet, Ajouter un composant existant) *
* - Utiliser _Console à la place de Console (ex: _Console.WriteLine("Coucou");) *
* ********************************************************************************** */
/*
* Pour les DllImport et les StructLayout
*/
using System.Runtime.InteropServices;
namespace System
{
public class _Console
{
#region Structures
[StructLayout(LayoutKind.Sequential)]
struct COORD
{
public short x;
public short y;
}
[StructLayout(LayoutKind.Sequential)]
struct SMALL_RECT
{
public short Left;
public short Top;
public short Right;
public short Bottom;
}
[StructLayout(LayoutKind.Sequential)]
struct CONSOLE_SCREEN_BUFFER_INFO
{
public COORD dwSize;
public COORD dwCursorPosition;
public int wAttributes;
public SMALL_RECT srWindow;
public COORD dwMaximumWindowSize;
}
#endregion
#region Importations
[DllImport("kernel32.dll", EntryPoint="GetStdHandle", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
private static extern int GetStdHandle(int nStdHandle);
[DllImport("kernel32.dll", EntryPoint="FillConsoleOutputCharacter", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
private static extern int FillConsoleOutputCharacter(int hConsoleOutput, byte cCharacter, int nLength, COORD dwWriteCoord, ref int lpNumberOfCharsWritten);
[DllImport("kernel32.dll", EntryPoint="GetConsoleScreenBufferInfo", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
private static extern int GetConsoleScreenBufferInfo(int hConsoleOutput, ref CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);
[DllImport("kernel32.dll", EntryPoint="SetConsoleCursorPosition", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
private static extern int SetConsoleCursorPosition(int hConsoleOutput, COORD dwCursorPosition);
#endregion
#region Membres
private static int STD_OUTPUT_HANDLE = -11;
private static byte EMPTY = 32;
private static int hConsoleHandle;
#endregion
#region Méthodes
public static void Write(char c)
{
Console.Write(c);
}
public static void Write(bool b)
{
Console.Write(b);
}
public static void Write(Decimal d)
{
Console.Write(d);
}
public static void Write(Double d)
{
Console.Write(d);
}
public static void Write(Int32 i)
{
Console.Write(i);
}
public static void Write(Int64 i)
{
Console.Write(i);
}
public static void Write(Object o)
{
Console.Write(o);
}
public static void Write(Single s)
{
Console.Write(s);
}
public static void Write(string Format)
{
Console.Write(Format);
}
public static void Write(UInt32 ui)
{
Console.Write(ui);
}
public static void Write(UInt64 ui)
{
Console.Write(ui);
}
public static void Write(string Format, Object o)
{
Console.Write(Format, o);
}
public static void Write(string Format, params Object[] Argv)
{
Console.Write(Format, Argv);
}
public static void Write(char[] buffer, Int32 i1, Int32 i2)
{
Console.Write(buffer, i1, i2);
}
public static void Write(string Format, Object o1, Object o2)
{
Console.Write(Format, o1, o2);
}
public static void Write(string Format, Object o1, Object o2, Object o3)
{
Console.Write(Format, o1, o2, o3);
}
public static void Write(string Format, Object o1, Object o2, Object o3, Object o4)
{
Console.Write(Format, o1, o2, o3, o4);
}
public static void WriteLine()
{
Console.WriteLine();
}
public static void WriteLine(char c)
{
Console.WriteLine(c);
}
public static void WriteLine(bool b)
{
Console.WriteLine(b);
}
public static void WriteLine(Decimal d)
{
Console.WriteLine(d);
}
public static void WriteLine(Double d)
{
Console.WriteLine(d);
}
public static void WriteLine(Int32 i)
{
Console.WriteLine(i);
}
public static void WriteLine(Int64 i)
{
Console.WriteLine(i);
}
public static void WriteLine(Object o)
{
Console.WriteLine(o);
}
public static void WriteLine(Single s)
{
Console.WriteLine(s);
}
public static void WriteLine(string Format)
{
Console.WriteLine(Format);
}
public static void WriteLine(UInt32 ui)
{
Console.WriteLine(ui);
}
public static void WriteLine(UInt64 ui)
{
Console.WriteLine(ui);
}
public static void WriteLine(string Format, Object o)
{
Console.WriteLine(Format, o);
}
public static void WriteLine(string Format, params Object[] Argv)
{
Console.WriteLine(Format, Argv);
}
public static void WriteLine(char[] buffer)
{
Console.WriteLine(buffer);
}
public static void WriteLine(char[] buffer, Int32 i1, Int32 i2)
{
Console.WriteLine(buffer, i1, i2);
}
public static void WriteLine(string Format, Object o1, Object o2)
{
Console.WriteLine(Format, o1, o2);
}
public static void WriteLine(string Format, Object o1, Object o2, Object o3)
{
Console.WriteLine(Format, o1, o2, 03);
}
public static void WriteLine(string Format, Object o1, Object o2, Object o3, Object o4)
{
Console.WriteLine(Format, o1, o2, 03, o4);
}
public static int Read()
{
return Console.Read();
}
public static string ReadLine()
{
return Console.ReadLine();
}
public static void Clear()
{
int hWrittenChars = 0;
hConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO strConsoleInfo = new CONSOLE_SCREEN_BUFFER_INFO();
COORD Home;
Home.x = Home.y = 0;
GetConsoleScreenBufferInfo(hConsoleHandle, ref strConsoleInfo);
FillConsoleOutputCharacter(hConsoleHandle, EMPTY, strConsoleInfo.dwSize.x * strConsoleInfo.dwSize.y, Home, ref hWrittenChars);
SetConsoleCursorPosition(hConsoleHandle, Home);
}
#endregion
}
}
// Exemple d'utilisation :
using System;
namespace PouetDansLeau
{
class Class1
{
static void Main(string[] args)
{
_Console.Write("Coucou : ");
_Console.WriteLine("pouet !");
_Console.WriteLine("Test de saisi d'une ligne :");
string s = _Console.ReadLine();
_Console.Clear();
_Console.WriteLine("Vous avez tapé : '{0}'", s);
_Console.WriteLine("Voilà la console est effacée...");
_Console.WriteLine("Appuyez sur Entrée pour continuer...");
_Console.ReadLine();
}
}
}
Conclusion
Faites en bon usage... lol
PS: J'ai du surcharger toutes les fonctions car la class Console est scellée... et donc non héritable... J'avais pas envie de recoder toute la partie affichage.. car la class Console le fait tres bien... l'utilité de la source est vraiment que l'on peut effacer la console, rien de plus :)
Historique
- 01 mars 2006 23:15:37 :
- Quelques rectifications de commentaires de la source
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Effacer la console en C# [ par laurent19 ]
voila je teste mes applications sous la console de Windows, et j'aurais aimé savoir si il etait possible d'effacer apres une instruction la fenetre de
Effacer la console [ par oberown ]
Comment efface-t-on dans la console en C# ?Tel un cls ?Merci
Effacer un CurrencyManager [ par Choumi1980 ]
Salut tout le monde,Est ce que quelqu'un sait me dire comment effacer un currencyManager ou me dire comment le mettre à jour si je fais une modif dans
erreur de strings [ par rhodan51 ]
j'ai recopié l'exemple d'un bouquin mais il m'apparait une erreur lors de la compilation :[quote]chaine.cs(7,20): error CS1502: La méthode surchargée
Console.WriteLine ou Console.Out.WriteLine ??? [ par rhodan51 ]
dans le bouquin qui me sert à apprendre le C#, l'auteur utilise Console.Out.WriteLine pour écrire du texte en mode console. Mais en regardant divers c
>>C# effacer un label créé dynamiquement [ par feuillou ]
Bonjour a tous, Je cré dynamiquement suite a un clic un nombre aleatoire de label, je fais donc ainsi :for( v=0;v=var;v++){ Label lab_v = new Label();
console ou winform??? [ par Fildomen ]
salutje bosse sur un prog où le graphisme est négligeable(un serveur), si la console est + rapide que la winform, je veux bien l'utiliser,car c'est la
Dur dur les debut en C# [ par chris81 ]
bonjour, je viens de me mettre au C# et ben ca change la vie, pour le moment pas dans le bon sensj'ai l'habitude de vb.net alors quand je tape textbox
effacer un node d'une XmlNodeList [ par godefrw ]
Bonjour j'aurais besoin d'effacer un noeud (déjà examinée) d'une XmlNodeList, pour ne pas répetter inutilement certaines opérations. Y a-t-il un moyen
effacer une forme d'un graphics [ par godefrw ]
Bonjour, je cherche à effacer une forme (par exemple une droite) de mon objet graphics sans avoir à effacre tout mon graphics et retracer tout ce qui
|
Derniers Blogs
[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|