Zamknij komunikat

Nowy Office 2013
Do góry Skomentuj

05. Tworzenie solution i nowych projektów

05. Tworzenie solution i nowych projektów

Daniel Celeda
27 grudnia 2005
193 664
Odsłony
Daniel Celeda
27 grudnia 2005
193 664
Odsłony

W tej części kursu nadal będziemy zapoznawać się z Visual C#, ale także poznamy podstawowe zasady dotyczące pisania programów w języku C#.

Na początek stwórzmy pierwszy „poważny” system informatyczny J

Nie chodzi mi, w tym momencie, o napisanie go od początku do końca, ale o przećwiczenie tworzenia solution i projektów. Tym systemem będzie program do zarządzania magazynem. W zasadzie nie musimy rozumieć dlaczego takie, a nie inne projekty stworzę (nawet nie wiem, czy mają one sens J), ponieważ celem jest zapoznanie się ze środowiskiem, a nie zrozumienie architektury systemu „Magazyn”.

Do dzieła!

Nazwijmy go „Magazyn”.

Po stworzeniu solution i projektu, zmieńmy nazwę plikowi „Program.cs” na „Magazyn.cs”.

Visual C# zapyta się nas nie tylko, czy chcemy zmienić nazwę pliku, ale także o nazwy elementów związanych z tym plikiem.

Wybierzmy „Yes”. Dzięki temu ,w naszym kodzie, klasa „Program” i wszystkie użycia jej nazwy, zastąpione zostaną nazwą „Magazyn”. Zazwyczaj pliki z rozszerzeniem *.cs zawierają klasę o takiej samej nazwie jak nazwa pliku. Powinniśmy trzymać się tej zasady i starać się, żeby w jednym pliku znajdowała się definicja jednej klasy.

W tej chwili okno edytora zawiera następujący kod źródłowy.

Dodajmy nową klasę do projektu „Magazyn”.

Nazwijmy ją „InterfejsUzytkownika”. Solution Explorer, w tej chwili, zawiera następujące pliki.

Jeśli chcielibyśmy napisać nasz program, to klasa „Magazyn” posłużyłaby jako główna klasa aplikacji, a klasa InterfejsUzytkownika definiowałaby sposób komunikacji z użytkownikiem (komunikatu, menu użytkownika itp.). Dodatkowo potrzebowalibyśmy projektu, w którym wykonywane byłoby zarządzanie magazynem, czyli zawierałby logikę naszego systemu oraz projektu, który pobierałby dane z bazy danych (najprostszą bazą danych mogą być pliki tekstowe). Dla przykładu stwórzmy jeden z tych projektów. Najpierw zapisujemy to co do tej pory zrobiliśmy – Save All – a następnie postępujemy jak na obrazku poniżej.

Musimy wybrać typ projektu i jego nazwę.

Typem będzie „ClassLibrary”, a nazwą „ZarzadcaMagazynu”.

Zawartość Solution Explorer w tej chwili powinna wyglądać jak poniżej.

W tej chwili mamy w jednym solution dwa projekty. W tym kursie raczej nie będziemy pisać takich aplikacji, ponieważ skupimy się na samym języku C#, a nie na architekturze aplikacji, ale warto wiedzieć, jak tego typu rzeczy można zrobić.

Mimo, że obydwa projekty znajdują się w jednym solution, to na razie nie możemy ich ze sobą powiązać, czyli z poziomu jednego projektu używać drugiego. Możemy to osiągnąć dodając tzw. referencję (wskazanie na inny projekt) do projektu. Zobrazujmy to dodając do projektu „Magazyn” referencje do projektu „ZarzadcaMagazynu”.

Następnie wybieramy zakładkę „Project” (zawiera projekty znajdujące się w solution) i dodajemy projekt „ZarzadcaMagazynu”.

W Solution Explorer powinna pojawić się nowo dodana referencja.

Po dodaniu referencji, możemy w kodzie klas znajdujących się w projekcie „Magazyn” używać klas z projektu „ZarzadcaMagazynu”.

Co daje nam łączenie projektów w jednym solution?

W pełnej wersji Visual Studio 2005 możemy tworzyć także inne typy projektów niż są dostępne w Visual C# Express Edition. Przykładowo solution może być system „Biblioteka”. W jego skład wchodziłyby np. dwa projekty: serwer współpracujący z bazą danych (np. dane o książkach, czytelnikach i wypożyczeniach) oraz strona WWW będąca klientem (program komunikujący się z serwerem), na której można dokonać wypożyczenia książki.

Projekty są różnego rodzaju. Mogą to być np. dynamiczna strona internetowa wykonana w technologii ASP.NET, okienkowa aplikacja Windows’owa czy też aplikacja konsolowa (działająca w trybie tekstowym – brak grafiki, jedynie znaki alfanumeryczne). W tym kursie skupimy się na aplikacjach konsolowych, ponieważ świetne nadają się do nauki podstaw języka C#.

Uruchamianie aplikacji

Mimo, że nie napisaliśmy systemu obsługującego magazyn, to jednak chciałbym już teraz pokazać jak możemy uruchamiać pisane przez nas aplikacje.

Najpierw dopiszmy trochę kodu do pliku „Magazyn.cs”.

using System;
using System.Collections.Generic;
using System.Text;

namespace Magazyn
{
        class Magazyn
        {
                static void Main(string[] args)
                {
                        System.Console.WriteLine("Hello world.");
                        System.Console.Read();
                }
        }
}

Instrukcja

System.Console.WriteLine("Hello world.");

Wypisze na ekranie napis “Hello world.”, a instrukcja

System.Console.Read();

Będzie czekać na naciśnięcie przez nas jakiegoś klawisza (bez tej instrukcji program skończyłby swoje działanie zaraz po wypisaniu „Hello Word.”).

Uruchomić naszą prostą aplikacje możemy poprzez klawisz „Run” zawierający ikonę z zielonym trójkątem.

Poprzez menu Debug - > Start Debugging lub Debug -> Start Without Debugging.

Po uruchomieniu aplikacji stworzy się plik, z którego pomocą możemy uruchamiać naszą aplikację. Znajduje się on w katalogu

…ścieżka do zainstalowanego Visual C#...\ Visual Studio 2005\Projects\Magazyn\bin\Debug

lub/oraz

…ścieżka do zainstalowanego Visual C#...\ Visual Studio 2005\Projects\Magazyn\bin\Release

Na moim komputerze ścieżka jest następująca:

C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\Magazyn\bin\Debug

a plik ma nazwę “Magazyn.exe” .

Efekt działania programu znajduje się poniżej.

Zasady w C#

Zanim zaczniemy pisać programy, powinniśmy poznać kilka podstawowych zasad dotyczących języka C#.

Wielkość liter ma znaczenie
Wyrazy „dom” oraz „Dom” to dla C# dwa różne słowa.

Średnik kończy pojedynczą instrukcję
Każda instrukcja musi być zakończona średnikiem. Teoretycznie nie musimy naszego kodu rozbijać na wiele linijek, tylko pisać wszystko w jednej, rozgraniczając poszczególne instrukcje średnikami. Jednak dla czytelności kodu nie należy tak postępować.

ZarzadcaMagazynu.Class1 NowaKlasa = new ZarzadcaMagazynu.Class1();

Komentarze
Nie każdy tekst znajdujący się w pliku jest częścią kodu programu. Istnieje coś takiego jak komentarze. Są one jakby notatkami sporządzanymi przez programistę. Im więcej komentarzy, tym lepiej J Należy opisywać za pomocą komentarzy większość tworzonych przez nas instrukcji, ponieważ za kilka dni (nie mówiąc już o miesiącach czy latach) możemy nie pamiętać co chcieliśmy w danym miejscu osiągnąć. Komentarze w C# możemy robić na kilka sposobów. W naszym kursie będziemy stosować tylko jeden – podwójny znak ukośnika „//”. Wszystko co znajdzie się za tym znakiem w danej linijce będzie komentarzem.

//To jest komentarz
//najczęściej umieszcza się w nim opis kodu.
//Klasa Magazyn to główna klasa naszej aplikacji.
class Magazyn
{
        static void Main(string[] args)
        {
                ZarzadcaMagazynu.Class1 NowaKlasa = new ZarzadcaMagazynu.Class1();
        }
}

Możemy szybko komentować i odkomentowywać fragmenty tekstu zaznaczając je i klikjąc przyciski

lub używając skrótów klawiszowych Ctrl + E , C oraz Ctrl + E , U

Bloki kodu – nawiasy klamrowe
Fragmenty kodu stanowiące pewną całość zawierają się w nawiasach klamrowych. Taką całość stanowi np. definicja klasy lub metody (patrz przykład powyżej).

Formatowanie
Bardzo ważną rzeczą w programowaniu jest formatowanie kodu. Nie jest to sztuka dla sztuki, jakby się mogło wydawać niedoświadczonemu programiście, ale praktyka poprawiająca czytelność naszego kodu źródłowego. Na szczęście Visual C# „odwala” dużo roboty za nas - samo robi wcięcia (akapity).

Akapity możemy zmniejszać lub zwiększać zaznaczając fragment tekstu i klikając przyciski

IntelliSense– „podpowiadacz”
Visual Studio podpowiada nam podczas pisania kodu. Samo sugeruje jaki wyraz powinniśmy, bądź możemy, w danej chwili napisać. Wyświetla listę dozwolonych w danym miejscu instrukcji. Podpowiadacz włącza się sam w niektórych momentach, ale możemy wywołać go samemu naciskając Ctrl i Space.

Podpowiada np. jakie klasy znajdują się w projekcie (a dokładniej przestrzeni nazw, o której będzie mowa w przyszłości).

Po naciśnięciu klawisza „Enter” Visual C# uzupełni nasz kod.

Liczby dziesiętne pisane z kropką
W C#, inaczej niż w języku polskim, piszemy liczby dziesiętne. Separatorem pomiędzy częścią całkowitą a ułamkową jest kropka, a nie przecinek. Poprawnym formatem jest np. 1.7 (jeden i siedem dziesiątych).

Myślę, że w następnej części kursu możemy już przejść do nauki języka C#. Na początek zaczniemy od rzeczy najważniejszej – klas.

Zobacz również

Komentarze

Nie napisano jeszcze ani jednego komentarza. Twój może być pierwszy...
Komentarze, 9 sierpnia 2006, 14:33
W komentarzach jest wspomniane, że istnieją inne sposoby komentowania i tyle. Może warto by napisać jakie (wszak ma to być kurs c# a nie demonstracja) uwaga, że w kursie używa się tylko jednego rodzaju komentarza nie jest wytłumaczeniem. Tym bardziej że w przypadku komentarzy /* i */ istnieje jeszcze zagadnienie zagnieżdżania ich (a tu nie mam informacji czy c# obsługuje zagnieżdżanie czy nie).
Bartek, 21 sierpnia 2006, 16:06
Jesli chodzi o komentarze to mamy 3 rodzaje: // w stylu C++; pozniej /* */ w stylu C; oraz /// czyli tzw komentarze dokumentujace
Adam, 28 sierpnia 2006, 21:19
ależ wy mądży
ja, 9 czerwca 2007, 19:24
Co jeden to mądrzejszy :D Skoro tacy mądrzy to czego kursy czytacie ? ;) Pewnie jeszcze ktoś chciałby dodać, że DOS to jest system operacyjny, a PC pochodzi od Personal Computer... :D
santaclaus21, 25 lipca 2007, 21:56
Konkrtnie ktoś robił tego manuala :D
ziomek, 26 października 2007, 01:28
... a ja jestem zadowolony z kursu
Sebastian, 14 marca 2008, 00:37
Na razie dobrze idzie. Czy da się ten kurs wyskładować do pliku?
Rafał, 16 marca 2008, 09:19
na jakie konto mam przelać pieniądze za używanie M$ Visual Studio?
ryda, 9 listopada 2008, 22:31
Jak chcesz to możesz przelać na moje

winiar, 11 grudnia 2008, 20:09
Przydałoby się coś więcej na temat tych komentarzy dokumentujących ///
Póki co kurs bardzo fajny.
 
 

el_pedro, 15 grudnia 2008, 10:35
bla bla bla... samo dmo!!!!
ona =/, 11 lutego 2009, 12:28
sorry dno*
ona =/, 11 lutego 2009, 12:29
Bosz.. ona - ile masz lat?

Divo, 8 czerwca 2009, 19:30
Chciałeś powiedzieć Bosch, ignorancie?

Menadżer, 2 lipca 2009, 12:47
Eej, co to za gadki? Kursik bardzo fajny i przydatny, w sam raz dla zainteresowanych laików(takich jak ja) ;)
Msion, 29 maja 2010, 15:35
A, i mam pytanie, dlaczego w mojej wersji programu oprócz using System; i innych tekstów ze zrzutu ekranu jest jeszcze using System.Linq; ? O co chodzi? Mam to zostawić czy wykasować?
Msion, 7 czerwca 2010, 22:12
To było pisane w 2005 a mnie się bardzo przydało w 2010. Robię pierwsze kroki w C# / VS i od tygodnia nie mogłem  wgryźć się w sedno. Dzięki Danielu!
pmadry, 21 sierpnia 2010, 14:09
Troche już programowałem w różnych językach i ze względu na potrzebe zaliczenia przyszla pora na C#. Widac ze duzo pracy jest wlozone w ten kurs i nawet dla osob, ktore juz programuja,a nie miały stycznosci z C# to warto przeczytac od poczatku do konca .... co oznacza co jakis czas literka "J" ?
tim, 16 września 2010, 22:28
wie ktos moze jak otworzyc to SOLUTION na poczatku tej listy ja tego za chiny nie mam :( :(
TiugaN, 19 października 2010, 20:25
Czy przed uruchomieniem nie powinno się skompilować? hmmm
r, 17 października 2011, 14:51
Literka J? A czy nie wyczuwasz w tym zdaniu żartu J ?
Darchiv, 28 listopada 2011, 23:20
Podoba mi się kurs, zresztą jak wszystkie inne :). Wymagaja także zgłębienia tematu w sieci ale to raczej nieodłączna część nauki programowania jak i pracy programisty :). Warto wspomnieć o jednej rzeczy przy referencji do projektu: jeśli łączymy referencją Projekt A z projektem B i chcemy w projekcie A użyć klasy B projektu B, to klasa B powinna być zadeklarowana jako klasa publiczna. W C# klasy domyślnie są prywatne. A przynajmniej tak mi się wydaje, że w ten sposób trzeba to rozwiązać.
Rafał, 27 listopada 2014, 17:18

Dodaj swój komentarz

Zasady publikacji komentarzyZasady publikacji komentarzy

Redakcja CentrumXP.pl nie odpowiada za treść komentarzy publikowanych na stronach Portalu
i zastrzega sobie prawo do usuwania wypowiedzi, które:

  • zawierają słowa wulgarne, obraźliwe, prowokujące i inne naruszające dobre obyczaje;
  • są jedynie próbami reklamowania stron internetowych (spamowanie poprzez umieszczanie linków);
  • przyczyniają się do złamania prawa bądź warunków licencyjnych oprogramowania (cracki, seriale, torrenty itp.);
  • zawierają dane osobowe, teleadresowe, adresy mailowe lub numery GG;
  • merytorycznie nie wnoszą nic do dyskusji lub nie mają związku z tematem komentowanego newsa, artykułu bądź pliku.