Zpět na seznam článků     Číst komentáře (7)     Verze pro tisk

C# - 6.díl - Konzolová aplikace

Autor: sukovanej   
23.1.2013

V tomto článku se podíváme na programování aplikací v prostředí příkazového řádku.


Tento způsob vytváření aplikací je výhodný kvůli nenáročnosti. Nepotřebujeme vykreslovat žádné grafické prostředí. Hodně se využívá na ukázku algoritmů a při vytváření ukázkových kosů kódu. Pravděpodobně se s ním jinak v praxi nesetkáte, protože zákazníci v dnešní době chtějí i pěkný vzhled programu (bavíme se o desktopech, samozřejmě).

Vytvoření projektu

Visual Studio má pro konzolovou aplikaci v jazyce C# speciální šablonu, kterou si můžete vybrat při vytváření nového projektu). Najdete ho pod označením Console Application (jak nečekané…).

Vytvořte si projekt a rovnou se pusťme do práce!

Základem celé aplikace je třída Program a hlavní metoda Main. Tato metoda se zavolá při startu aplikace a celý životní cyklus aplikace probíhá zde.

Třída Console

U programování konzolových aplikací používáme běžné konstrukce, které známe. Komponenty zde samozřejmě moc nepoužijeme, stejně tak funkce jako vyskakovací okno apod. Asi nejdůležitější třídou při programování konzolových aplikací je třída Console. Tato třída dovoluje zpracování vstupu a výstupu, vzhled okno (protože se přepokládá, že i když jde o aplikaci v příkazovém řádku, pořád se tento objekt vykresluje do okna), nebo třeba titulek okna. Mimo jiné je zde i vlastnost, která zjišťuje, jestli je zapnutý CapsLock a nebo funkce tzv. beep (pípnutí).

Vstup a výstup

Výstup se provádí pomocí metody Write, nebo WriteLine. Rozdíl mezi nimi je ten, že metoda WriteLine za sebe dá vždy nový řádek, ale při použití metody Write se pokračuje na stávající.

  1. static void Main(string[] args)
  2. {
  3.      Console.Write("Moje nová aplikace");
  4.      Console.WriteLine("Nějaký text");
  5.      Console.Write("Tento text bude na nový řádek!");
  6. }

Když se aplikaci pokusíte zpustit, hodně toho uvidíte, že? Aplikace v příkazovém řádku totiž fungují tím způsobem, že se provede uvedený kód a okno a konzolí se okamžitě ukončí. Abychom vůbec něco uviděli, přidejte si na konec následující řádek:

  1. Console.ReadKey();

Ten zajistí, že aplikace bude čekat, dokud nestiskneme jakoukoli klávesu. Na příkladu si můžete všimnout dvou věcí. Ta první je, že po spuštění se skutečně text na třetím řádku programu zobrazí o řádek níže, protože je nad ním použita metoda WriteLine a ta za sebe přidá nový řádek.

Další věcí je, že jsem bez jakýchkoli okolků použil diakritiku a vše se vytisklo na obrazovku přesně jako v kódu. Kdybych si toto dovolil v jazyku C, nebo C++, místo symbolů s diakritickou bych dostal nějaký paskvil. Pro vstup použijeme metodu ReadLine a Read. Mezi těmito metoda už je markantnější rozdíl. Metoda ReadLine získá kompletní text, který uživatel zadal do konzole a vrátí ho jako string. Metoda Read přečte znak a vrátí jeho celočíselného zástupce (samozřejmě jako int).

  1. static void Main(string[] args)
  2. {
  3.     Console.Write("Zadejte číslo: ");
  4.     int x = Convert.ToInt32(Console.ReadLine());
  5.     Console.Write(x + " na druhou je " + (x * x).ToString());
  6.  
  7.     Console.ReadKey();
  8. }

V příkladu jsme uživatele nechali zadat nějakou hodnotu (číselnou) a po zadání jsme mu vrátili její druhou mocninu. Pozor se musí dávat na to, že hodnota obdržená metodou ReadLine je typu string a musíme ji převést na int. Na konci se opět musí použít metoda ReadKey, abychom vůbec viděli jaký je výsledek.

Vzhled

Něco málo můžeme udělat si se vzhledem textu a titulkem. Následující příklad prosím berte jako odstrašující. Pokud uvedené vlastnosti korektně použijete, může samozřejmě i dobře posloužit.

  1. static void Main(string[] args)
  2. {
  3.     Console.Title = "Moje skvělá aplikace";
  4.     Console.BackgroundColor = ConsoleColor.White;
  5.     Console.ForegroundColor = ConsoleColor.Red;
  6.     Console.WindowWidth = 30;
  7.     Console.WindowHeight = 5;
  8.     Console.Write("Nějaký úžasný text!");
  9.  
  10.     Console.ReadKey();
  11. }

A výsledek:

Závěr

Ke konzolovým aplikacím se určitě ještě vrátíme, protože na vysvětlování je to nejlepší prostředek. Doufám, že byl tento článek přínosný a budu se těšit u dalšího!


Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 3.05/19

1  2  3  4  5    
(známkování jako ve škole)