Visual Studio 2005. Programowanie z Windows API w języku C++
Programowanie Windows na przykładzie C# część 1
description
Transcript of Programowanie Windows na przykładzie C# część 1
Programowanie Windowsna przykładzie C#
część 1
Kurs realizowany jest w ramachMicrosoft IT Academy
Jacek Matulewskie-mail: [email protected]: http://www.fizyka.umk.pl/~jacek/dydaktyka
wersja 18-04-2009
Rynek (IDE, języki, platformy)
• Borland Developer Studio (Delphi, Delphi.NET, C++Builder, PHP)
• Visual Studio (C++, C#, VB, F#)
• Windows: Win32, Win64, .NET, XNA, VJM, Cygwin, …
• Dlaczego warto uczyć się C# i platformy .NET: Windows Forms, XAML( WPF/XBAB/Silverlight), XNA, ASP.NET/ADO.NET
• Przenośność (.NET/Mono, platformy XNA)
.NET Framework
• Wersje 1.0, 1.1, 2.0 + 3.0 + 3.5, 4.0• .NET Compact Framework• XNA
• Czym jest ASP.NET, ADO.NET, LINQ, WPF, itd.?
• Czy .NET jest popularne?
Najprostszy program C#using System;
namespace PrzestrzeńNazw{ class Klasa { static void Main(string[] args) {
Console.WriteLine("Hello World!"); Console.ReadLine(); } }}
Nazwa C# = C sharpPodobieństwa do Pascala/Delphi – Anders HejlsbergKompilator w linii komend: csc Program.cs(ścieżka: c:\Windows\Microsoft.NET\Framework\v2.0.50727)
Najprostszy program C#
Visual Studio (IDE)
• Dostępne projekty. Pliki projektu• IntelliSense• Podokna VS, wbudowany debuger, edytor,
kontrolki, własności/zdarzenia• Zdarzeniowy model aplikacji• Demo: Projekt aplikacji konsolowej• Demo: Projekt aplikacji Windows Forms• Demo: Projekt aplikacji XNA
• Komunikaty - zdarzenia
Zmienne i pola
• Nie ma typów prostych (wbudowanych w kompilator)
• Wszystko jest obiektem• Klasa vs. struktura• Struktury: int, long, float, double, Color• Klasy: tablice, listy, kolejki, itp.
• int i=0; double d=0.0; float f=0f; Color k1=Color.Red; Color k2=Color.FromArgb(..)
Typy
• Biblioteki platformy .NET(przestrzeń nazw System i jej podprzestrzenie)
• Kontrolki (WF, WPF), struktury danych, algorytmy, klasy umożliwiające do baz danych
• Dodatkowe biblioteki (przestrzeń Microsoft)• Możliwość korzystania z kontrolek ActiveX• Zgodność bibliotek ze starszymi wersjami
TypyTypy numeryczne i łańcuchy
byte od 0 do 255 1 bajtsbyte od -128 do 127 1 bajtshort od -32768 do 32767 2 bajtyushort od 0 do 65535 2 bajtyint od -2147483648 do 2147483647 4 bajtyuint od 0 do 4294967295 4 bajtylong od -9223372036854775808 do 9223372036854775807 8 bajtówulong od 0 do 18446744073709551615 8 bajówbool true lub false 1 bajtfloat liczby rzeczywiste (pojedyncza precyzja) 4 bajtydouble liczby rzeczywiste (podwójna precyzja) 8 bajtówdecimal 28 cyfr znaczących 12 bajtówobject typ bazowy dla wszystkich innych typówchar 0 and 65535 (Unicody) 2 bajtystring łańcuch, operatory, klasa ale zachowuje się jak typ
wartościowyStringBuilder dynamiczny łańcuch
Składnia
• C++ – Java – C# - wspólna rodzina języków
• Demo: operatory arytmetyczne, warunkowy• Demo: instr. sterujące (if, if..else, switch)• Demo: pętle (for, foreach, while, do..while)
Instrukcje: break, continue, goto• Demo: wyjątki try..catch..catch..finalize• Demo: tablice, sortowanie (Array.Sort)• Metody (funkcje składowe), argumenty (ref, out)
Składnia - operatoryArytmetyczne : + - * / % Łączenie łańcuchów: + Relacyjne: == != < > <= >= Przesunięcia: << >> Logiczne i bitowe: & | ^ ~ ! && || true false Inkrementacji i dekrementacji: ++ -- Przypisania: = += -= *= /= %= &= |= ^= <<= >>= Plus (minus) jednoargumentowy: + - Dostęp do składowej: . Wyrażenie warunkowe: ?: Tworzenie obiektu: new Rzutowania: () Kontrola przepełnienia: checked unchecked Indeksowania: [] Informacje o typie: as is sizeof typeof Operacje na wskaźnikach (adresach): * -> [] &