05. Tworzenie solution i nowych projektów

05. Tworzenie solution i nowych projektów

Autor: Daniel Celeda

Opublikowano: 12/27/2005, 12:00 AM

Liczba odsłon: 197771

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.

@STRONA@

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#.

@STRONA@

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.

@STRONA@

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.

Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia