Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

VisualStudio.Net Janusz Górczyński.

Podobne prezentacje


Prezentacja na temat: "VisualStudio.Net Janusz Górczyński."— Zapis prezentacji:

1 VisualStudio.Net Janusz Górczyński

2 Agenda Składniki .Net .NET Framework – podstawowe składniki
Zadania .NET Framework Architektura .NET Framework CLR Wspólne środowisko uruchomieniowe Biblioteka klas Języki programowania a CLS Czym jest MSIL?

3 Składniki .Net Produkty .Net – obecne i przyszłe produkty wchodzące w skład .Net. Najważniejszym (obecnie) elementem jest VisualStudio.Net Usługi .Net – to gotowe usługi oferowane przez MS, np. Passport .Net Framework – produkt całkowicie zintegrowany z systemem operacyjnym Windows. Pozwala na tworzenie szybkich, elastycznych, skalowalnych i efektywnych aplikacji. Pozwala na tworzenie aplikacji współpracujących z innymi aplikacjami .Net oraz komponentami napisanymi w innych językach.

4 .NET Framework – podstawowe składniki
Biblioteka klas .NET Framework – zbiór funkcji, obiektów, właściwosci i metod do wykorzystania w dowolnym języku .Net. Jest tu także ADO.NET. Wspólne środowisko uruchomieniowe CLR (Common Language Runtime) – odpowiada za uruchamianie aplikacji .NET, zarządzanie nimi i kompilację do kodu maszynowego. WindowsForms (WinForms) – pozwala na tworzenie aplikacji dla Win32 w środowisku .NET ASP.NET – to kolejna generacja ASP dostosowana do pracy w środowisku .NET. Aplikacje ASP.NET są kompilowane, co znakomicie przyspiesza ich udostępnianie.

5 Zadania .NET Framework Zapewnienie spójnego środowiska programowania obiektowego Zapewnienie takiego środowiska wykonywania kodu, które: minimalizuje konflikty przy rozprowadzaniu kodu i jego wersjonowania gwarantuje bezpieczne wykonywanie kodu oraz kontrolę kodu utworzonego przez innych programistów Eliminuje problemy związane z wydajnością skryptów czy języków interpretowanych Zapewnienie spójnego środowiska przy pracy nad różnymi typami aplikacji Zabezpieczenie integracji .NET Framework z innymi produktami

6 Architektura .NET Framework

7 CLR Wspólne środowisko uruchomieniowe
Podstawa .NET Framework – zarządza kodem w czasie jego działania Udostępnia takie usługi jak: Zarządzanie pamięcią Zarządzanie wątkami Wywołania zdalne Innym zadaniem jest ścisła kontrola typów Kod zarządzany – taki, który ma być wykonywany w tym środowisku Kod niezarządzany – taki, który nie jest przeznaczony do wykonania w tym środowisku

8 Biblioteka klas Jest integralną częścią .NET Framework, zawiera klasy lub typy przeznaczone do wielokrotnego użycia wykorzystywane do projektowania aplikacji różnych typów: Aplikacji wiersza poleceń Aplikacji z graficznym interfejsem użytkownika korzystających z: Windows Forms ASP.NET Web Forms Usług sieciowych XML

9 Języki programowania a CLS
NET Framework obsługuje języki VB.NET, C++.NET, C#.NET i VJ#.NET Języki te są zgodne ze standardem Common Language System (CLS), który definiuje infrastrukturę niezbędną do uruchomienia kodu IL (Intermediate Language) Kompilatory wymienionych języków kompilują kod źródłowy do kodu pośredniego IL – co jest podstawą współpracy tych języków wsparte wspólnym systemem typów CST (Common System Type)

10 Czym jest MSIL? Jest to niezależny od procesora zbiór instrukcji wykorzystywanych przez aplikacje .NET Zawiera instrukcje ładowania, zapisywania i inicjalizacji obiektów

11 Metadane Podczas kompilacji poza kodem IL kompilator generuje metadane będące zbiorem informacji o aplikacji Metadane są zapisywane w postaci binarnej w przenośnym pliku wykonywalnym PE (Portable Executable) Przy wykonywaniu aplikacji system operacyjny ładuje plik PE oraz wszystkie biblioteki podrzędne ładowane dynamicznie W kolejnym kroku system operacyjnych wykonuje kod IL korzystając z pośrednictwa kompilatora JIT

12 Kompilator JIT Kompilator JIT (Just in time) odpowiada za biężące tłumaczenie kodu IL na kod maszynowy zrozumiały przez procesor Kod maszynowy po wykonaniu jest buforowany w celu ponownego wykonania

13 Składniki CLR

14 Zadania CLR (1) Moduł ładowania klas – odpowiada za ładowanie klas do wspólnego środowiska uruchomieniowego Kompilatory MSIL – odpowiadają za konwersję kodu IL do kodu maszynowego (robi to JIT) Zarządzanie kodem – zarządza kodem w trakcie jego wykonywania Usuwanie nieużytków – odpowiada za zarządzanie pamięcią (automatyczne zwalnianie pamięci) Moduł bezpieczeństwa – wymusza ograniczenia nakładane przez zabezpieczenia dostępu do kodu Kontroler typów – zapewnia ścisłą kontrolę typów

15 Zadania CLR (2) Obsługa wątów – zapewnia obsługę wielowątkowości
Obsługa wyjątków – zapewnia obsługę wyjątków za pomocą bloków Try … Catch…Finally Moduł debugowania – zapewnia debugowanie różnych typów aplikacji Moduł szeregujący COM – pozwala na wymianę danych z aplikacjami COM Obsługa podstawowej biblioteki klas – udostępnia aplikacji potrzebne klasy (typy)

16 Biblioteka klas .NET Framework
Jest zbiorem klas i związanych z nimi struktur, które mogą być wykorzystane jako podstawowe elementy budulcowe aplikacji Biblioteka .NET Framework zawiera klasy, interfejsy i typy wartości, które nie tylko zapewniają dostęp do mechanizów systemu, ale także optymalizują proces tworzenia aplikacji Typy zgromadzone w .NET Framework pozwalają na: Reprezentację podstawowych typów danych i wyjątków Hermetyzację struktur danych Wykonywanie operacji wejścia-wyjścia Dostęp do informacji o załadowanych typach Wywoływanie mechanizmów zabezpieczeń z .NET Zapewnienie dostępu do danych poprzez GUI

17 Organizacja klas w bibliotece .NET Framework
Podstawową jednostką organizacyjną jest przestrzeń nazw Przestrzeń klas to pojemnik na funkcje – opisuje ona grupę klas i konstrukcji o podobnym przeznaczeniu Koncepcja przestrzeni nazw jest podobna do koncepcji organizacji plików za pomocą katalogów (folderów) Wszystkie przestrzenie nazw mają wspólny korzeń, jest nim przestrzeń System Przestrzeń nazw System zawiera wspólne typy danych wykorzystywanych w .NET (Boolean, Int32 itd.) Zawiera także typ danych Object, który jest klasą, po której dziedziczą wszystkie pozostałe klasy w .NET

18 Podzespół w .NET Podstawowa jednostka w aplikacjach .NET, wprowadzona jako remedium na problemy z DLL Podzespół reprezentuje logiczny zbiór jednego lub większej liczby programów wykonywalnych lub bibliotek dołączanych dynamicznie (DLL), które zawierają kod aplikacji oraz zasoby Podzespoły zawierają tzw. manifest, który jest opisem kodu i zasobów zawartych wewnątrz podzespołu Podzespół zawiera: Manifest Metadane typów Moduł Zasoby

19 Manifest, jego zawartość
Identyfikator – składa się z nazwy, numeru wersji, opcjonalnego kodu lokalizacji i podpisu cyfrowego Lista plików – kompletna lista plików tworzących podzespół. Zawiera także dodatkowe informacje na temat każdego z plików wchodzących w skład podzespołu Typy i zasoby – jest to lista typów i zasobów udostępnianych przez podzespół. Zawiera informację o tym, czy dany typ jest publiczny czy prywatny Uprawnienia – podzespoły są modułami, w których wykorzystywane są uprawnienia dostępu dla kodu

20 Podstawy języka VB.NET Deklarowanie zmiennych – słowa kluczowe:
Dim – deklaruje zmienną wykorzystywaną w podprogramie lub w jego części Private – deklaruje zmienną, która może być wykorzystywana przez więcej niż jeden podprogram w klasie lub module Public – deklaruje zmienną, która może być wykorzystywana we wszystkich klasach i modułach projektu Static – deklaracja zmiennej w podprogramie, która zachowuje swoją wartość między wywołaniami Przykłady: Dim errHandler as String Dim ocena as Single = 3 Private i, j as Integer, x as Double

21 Zmienne, poziom deklaracji
Zmienna lokalna – deklarowana wewnątrz podprogramu Zmienna modułu – deklarowana w module, ale nie w podprogramie W przypadku klasy lub struktury (typu użytkownika) poziom zmiennej nielokalnej zależy od tego, czy jest współdzielona czy też nie. Jeżeli jest współdzielona, to ze słowem kluczowym Shared. Istnieje wtedy tylko jedna kopia tej zmiennej we wszystkich instancjach takiej klasy. Jeżeli nie jest współdzielona, to każda instancja ma swoją kopię takiej zmiennej

22 Zmienne, deklaracja typu
Klauzula As pozwala na zdefiniowanie typu danych lub typu obiektowego deklarowanej zmiennej Dla zmiennej można określić dowolny z poniższych typów: Podstawowy typ danych – np. Boolean, Long czy Decimal Złożony typ danych, taki jak tablica lub struktura (typ użytkownika) Typ obiektowy Klasa z VB.NET lub innej aplikacji, np. ComboBox Wybór typu danych wymaga staranności, nie może być nadmiarowy

23 Zmienne, czas życia i dostępność
Czas życia to czas, w którym można ze zmiennej korzystać Zmienne lokalne (deklarowane za pomocą DIM) istnieją tylko w czasie wykonywania podprogramu, a po jego zakończeniu zniakają, a ich wartości są tracone – wyjątek to użycie Static Zmienne modułu, współdzielone i instancyjne, przechowują swoje wartości tak długo, jak długo działa aplikacja Dostępność zmiennej zależna jest od sposobu deklaracji: Dim, Private, Public, Protected, Friend, Protected Friend Wewnątrz podprogramu można użyć tylko Dim

24 Zmienne, deklaracja zasięgu
Zasięg zmiennej to obszar kodu, w którym można się odwołać do zmiennej bez potrzeby użycia nazwy kwalifikowanej Zasięg zmiennej jest określony przez miejsce jej deklaracji Zmienne lokalne są najlepsze dla pomocniczych działań (z uwagi na szybkie zwalnianie pamięci) Zmienne modułu zajmują miejsce w pamięci przez czas działania aplikacji Przy deklarowaniu zasięgu ważne są reguły: Zasięgiem zmiennej modułu jest przestrzeń nazw, w której zdefiniowany jest dany moduł Zasięgiem zmiennej współdzielonej lub instancyjnej jest struktura lub klasa, w której zmienna jest zadeklarowana Zasięgiem zmiennej lokalnej jest podprogram

25 Użycie przestrzeni nazw
Niezbędne z uwagi na dużą liczbę klas .NET Dzięki umieszczeniu klas w przestrzeni nazw unika się kolizji nazw (działa to tak, jak w systemie plików może istnieć wiele plików o nazwie np. aza.txt , pod warunkiem, że są umieszczone w innych folderach) Jeżeli tworzymy nowy projekt o nazwie np. Nowy, to można umieścić go w przestrzeni nazw: Namespace Nowy Public Class Form Inherits System.Windows.Forms.Form ……. Tu jest kod …. End Class End NameSpace

26 Słowo kluczowe Imports
W poprzednim przykładzie prawdziwa nazwa klasy nie jest Form1, lecz Nowy.Form1 (nazwa w pełni kwalifikowana) W przypadku odwoływania się do tej klasy poza przestrzenią nazw Nowy musimy użyć nazwy w pełni kwalifikowanej, chyba, że skorzystamy ze słowa kluczowego Imports w celu zaimportowania przestrzeni nazw Nowy Zapis Imports System.Windows.Forms powoduje, że w kodzie można się odwoływać w sposób uproszczony – bez używania nazwy kwalifikowanej

27 Tworzenie modułów w VB.NET
Moduł jest podobny do klasy, a różnica polega na tym, że składniki modułu są współdzielone i tym samym są widoczne w całej przestrzeni nazw, w której jest zadeklarowany moduł, a nie tylko w samym module Moduł może być deklarowany tylko w przestrzeni nazw i nie może być zagnieżdżony Moduł w VB.NET to znany z VB 6.0 czy VBA moduł standardowy zawierający zestaw funkcji i procedur dostępnych dla aplikacji Klasa w VB.NET to znany z VB 60 czy VBA moduł klasy Klasa jest zorientowana obiektowo, a moduł nie

28 Struktury sterujące, pętle
W VB.NET można stosować pętle typu” While DoWhile…Loop Do….LoopWhile DoUntil….Lopp Do ….Loop Until For…Next ForEach…Next

29 Pętla While Pętla While wykonywana jest do momentu, gdy warunek nie stanie się prawdą Dim produkt As Integer = 2 While produkt <=1000 produkt = produkt * 2 End While

30 Pętla DoWhile…Loop Pętla ta działa podobnie do pętle While
W pętli DoWhile ….Loop warunek jest sprawdzany przed wykonaniu obrotu, co oznacza, że pętla może nie być wykonana (jeżeli warunek jest False) Dim produkt As Integer = 2 Do While produkt <=1000 produkt = produkt * 2 Loop

31 Pętla Do ….LoopWhile W pętli Do ….LoopWhile warunek jest sprawdzany po wykonaniu obrotu, co oznacza, że pętla będzie wykonana co najmniej raz. Dim produkt As Integer = 2 Do produkt = produkt * 2 Loop While produkt <=1000

32 Pętla DoUntil … Loop Inaczej niż w pętlach DoWhile pętla DoUntil wykonywana jest wtedy, gdy warunek jest False Z uwagi na umieszczenie słowa Until wraz z warunkiem po Do pętla może nie być wykonana Dim produkt As Integer = 2 Do Until produkt >1000 produkt = produkt * 2 Loop

33 Do …LoopUntil Inaczej niż w pętlach DoWhile pętla DoUntil wykonywana jest wtedy, gdy warunek jest False Z uwagi na umieszczenie słowa Until wraz z warunkiem po Loop pętla będzie wykonana co najmniej raz Dim produkt As Integer = 2 Do produkt = produkt * 2 Loop Until produkt >1000

34 Pętla For … Next Inaczej zwana pętlą z licznikiem.
Stosowana wtedy, gdy wiemy, ile razy ma być wykonana Dim i As Integer, x as Double = 0 For i=1 to 100 x=x+i Next For i=1 to 100 Step 2 x=x*i Next i

35 Pętla ForEach … Next Ten typ pętli wykorzystujemy wtedy, gdy chcemy wykonać operacje na elementach kolekcji Powiedzmy, że na naszym formularzu chcemy zmienić kolor tła wszystkich formantów na jasnoniebieski Imports System.Windows.Forms Dim ctl As Control For Each ctl in currentForm.Controls ctl.BackColor=System.Drawing.Color.LightBlue Next

36 Warunkowe zakończenie pętli - Exit
Każda pętla może być warunkowo przerwana za pomocą słowa kluczowego Exit Dim i As Integer, x as Double = 0 For i=1 to 100 x=x+i if x>25 Then Exit for Next Exit może być także użyte do przerwania działania także innych struktur niż pętle, np. Select Case

37 Operatory przypisania
Zapis i=i+1 jest opisaniem przypisania: zmienna i będzie równa poprzedniej wartości zmiennej i powiększonej o 1 Operatory dwuargumentowe to +, -, *, ^, &, \ oraz / Można użyć skróconego zapisu wg schematu: <zmienna> <operator>=<wyrażenie> Np.. i+=1 jest równoważne i=i+1 x\=2 jest równoważne x=x\2 y*=x jest równoważne y=y*x Operator przypisania może wystąpić w wyrażeniu tylko raz

38 Operatory logiczne VB.NET oferuje kilka interesujących operatorów logicznych dla budowania złożonych warunków Poza znanymi operatorami And, Or, Xor oraz Not mamy takie operatory jak AndAlso i OrElse Zapis np.. If (i>5) and (j>10) Then można teraz zapisać jako If (i>5) AndAlso (j>10) Then W pierwszym zapisie sprawdzane są oba warunki pojedyncze, a następnie warunek łączny – w drugim jeżeli pierwszy jest False, to drugi nie jest już sprawdzany

39 Funkcje konwertujące Szereg funkcji konwertujących zmienną jednego typu na inny typ. Cbool – konwersja na typ logiczny Cbyte Cchar Cdate Cdbl Cint Clng Cstr Ctype – konwertuje na dowolny typ

40 Przydatne funkcje tekstowe
Len Chr Asc Left Right Mid Instr Lcase Ucase Ltrim, Rtrim, Trim Substring

41 Inne przydatne funkcje
IsArray – zwraca True jeżeli tak IsDate – zwraca True, jeżeli parametr jest datą IsNumeric – zwraca True, jeżeli parametr jest liczbą IsObject – zwraca True, jeżeli parametr jest typem obiektowym TypeName – zwraca nazwę typu danych parametru Now – zwraca bieżącą datę i czas Today – zwraca bieżącą datę z czasem ustawionym na 00:00:00

42 Try…Catch W trakcie wyknywania programu mogą się zdarzyć różne błędy, np. brak wskazanego pliku w danej lokalizacji, wyłączona drukarka, brak papieru, brak krążka w napędzie CD, brak dostępu do sieci czy do serwera SQL, brak pamięci czy brak stosownych uprawnień. Obowiązkiem programisty jest zapewnienie obsługi takich sytuacji (wyjątków). Środowisko VisualStudio.NET dostarcza konstrukcję Try …Catch …End Try tworząca pułapkę na możliwy wyjątek. Jest to znakomite rozszerzenie znanaych z VBA isntrukcji On Error Goto i On Error Resume Next

43 Składnia Try Catch [Finally] End Try
… tu wstawiamy kod, który może spowodować błąd wykonania … Catch … tu wstawiamy kod obsługujący wystąpienie wyjątku … [Finally] … fragment nieobowiązkowy, jeżeli jest, to jest wykonywany zawsze niezależnie od tego, czy wystąpił wyjątek czy nie End Try Przy obsłudze błędu można wykorzystać obiekt err z jego właściwościami Number i Description do doprecyzowania rodzaju błędu

44 Przykład Try FileOpen(1, Me.OpenFileDialog1.FileName, _ OpenMode.Input) Do Until EOF(1) txt = txt + LineInput(1) + vbCrLf Loop Catch MsgBox("Mam problem z odczytem pliku") Finally FileClose(1) Me.txtPlik.Text = txt Me.Text = txtNazwaPliku + " metoda FileOpen" End Try

45 Przykład obsługi błędu z licznikiem
Dim ileErr as Integer = 0 Try PictureBox1.Image = _ System.Drawing.Bitmap.FromFile(„D:\wszim.bmp”) Catch ileErr += 1 If ileErr <= 2 then MsgBox(„Proszę włożyć dysk do napędu") Else MsgBox(„Operacja odczytu pliku graficznego nieudana”) Exit Sub (lub jakieś inne zakończenie – JG) End If End Try

46 Zagnieżdzone Try…Catch
PictureBox1.Image = _ System.Drawing.Bitmap.FromFile(„D:\wszim.bmp”) Catch MsgBox(„Proszę włożyć dysk do napędu i nacisnąć OK") MsgBox(„Operacja odczytu pliku graficznego nieudana”) Exit Sub (lub jakieś inne zakończenie – JG) End Try

47 Wykorzystanie obiektu Err
Try PictureBox1.Image = _ System.Drawing.Bitmap.FromFile(„D:\wszim.bmp”) Catch When Err.Number = 53 MsgBox(„Plik nie odnaleziony”) Catch When Err.Number = 7 MsgBox(„Brak pamięci”) Catch MsgBox(„Operacja odczytu pliku graficznego nieudana”) End Try

48 Jak było bez Try…Catch If File.Exists(„D:\WSZiM.bmp”) Then Else End if
PictureBox1.Image = _ System.Drawing.Bitmap.FromFile(„D:\wszim.bmp”) Else MsgBox(„Plik nie odnaleziony”) End if Taka konstrukcja wymaga zaimportowania przestrzeni nazw System.IO, jest oczywiścia dopuszczalna, ale Try…Catch działa szybciej


Pobierz ppt "VisualStudio.Net Janusz Górczyński."

Podobne prezentacje


Reklamy Google