Windows Forms. Własne kontrolki. Programowanie w środowisku Windows. Wykład 7-1

Wielkość: px
Rozpocząć pokaz od strony:

Download "Windows Forms. Własne kontrolki. Programowanie w środowisku Windows. Wykład 7-1"

Transkrypt

1 Windows Forms Wykład 7-1 Własne kontrolki

2 Wykład 7-2 Windows Forms Custom Controls Kontrolka złożona z innych kontrolek (user control) dowolny zbiór kontrolek Windows Forms umieszczonych w jednym kontenerze Rozszerzenie kontrolki (extended control, derived control) stworzyć klasę dziedziczącą z jednej z kontrolek Windows Forms rozszerzyć funkcjonalność przez dodanie własnych metod, zdarzeń, właściwości lub zmianę standardowego zachowania unikalny wygląd: nadpisać metodę OnPaint() Owner-drawn control (custom control) dziedzicząca z odpowiedniej klasy (np. ListBox) i nadpisująca metody do rysowania (e.g. MeasureItem, DrawItem) dziedzicząca z klasy Control z całą funkcjonalnością tworzoną od podstaw

3 Wykład 7-3 Klasy bazowe dla własnych kontrolek Component może być dodany do formularza z Toolbox'a, ale nie otrzymuje miejsca na tym formularzu (np. ToolTip, Timer, etc.) Control obsługa myszy i klawiatury (owner-drawn controls) ScrollableControl obsługa skrolowania ContainerControl obsługa kontrolek potomnych i zmiany fokusa (np. GroupBox, Panel) UserControl zdarzenie Load, obsługa design-time (user controls) Form i inne klasy kontrolek dziedziczenie z Form daje możliwość stworzenia wzorca formularza, dziedziczenie z istniejącej kontrolki pozwala na wykorzystanie jej funkcjonalności (derived controls)

4 Wykład 7-4 Naśladowanie standardowego zachowania Wszystkie elementy standardowego zachowania powinny zostać odwzorowane, np.: obsługa skrolowania obsługa fokusa (wizualne powiadomienie o posiadaniu fokusa) stan "wciśnięty" dla przycisków obsługa ruchu kursora myszy ponad kontrolką sprawdzanie miejsca kliknięcia stosowanie kompozycji Windows XP lub Vista

5 Wykład 7-5 Visual Studio Toolbox Podczas każdej kompilacji projektu biblioteki klas Visual Studio szuka komponentów i kontrolek i dodaje je do specjalnej zakładki na Toolbox'ie Podczas pierwszego użycia kontrolki w projekcie (np. przez przeciągnięcie jej do formularza z Toolbox'a) Visual Studio: dodaje referencję do assembly, w którym kontrolka jest zdefiniowana kopiuje to assembly do katalogu projektu Zawartość Toolbox'a może być modyfikowana jest pamiętana dla każdego użytkownika Visual Studio, a nie dla każdego projektu

6 Wykład 7-6 Design Time Pozwala programiście dodawać kontrolki do formularza i konfigurować ich właściwości Zapewnia zapisanie wartości właściwości w kodzie źródłowym (tzw. serializacja kodu) pozwala to na poprawną inicjalizację kontrolki podczas uruchamania formularza Daje możliwość realistycznej wizualizacji Menu kontekstowe, smart tags, własne edytory niestandardowych typów właściwości itp. Licencjonowanie kontrolek i komponentów

7 Wykład 7-7 Przykład Custom Control

8 Wykład 7-8 Obsługa Design Time Atrybuty dają możliwość zdefiniowania wartości wykorzystywanych w oknie właściwości pozwalają na dołączenie innych komponentów do kontrolki i konfigurację serializacji właściwości Konwertery typów konwersja pomiędzy własnymi i standardowymi typami generowanie kodu inicjującego właściwości kontrolki podczas uruchamiania formularza Edytory typów graficzny interfejs modyfikacji wartości zaawansowanych typów Control designers wygląd i zachowanie w design-time

9 Wykład 7-9 Atrybuty wykorzystywane podczas edycji Dla klas: DefaultPropertyAttribute oznaczenie właściwości, która zostanie wybrana po kliknięciu na kontrolce DefaultEventAttribute Dla właściwości: DefaultValueAttribute EditorAttribute edytor używany w Visual Studio LocalizableAttribute właściwość z tym atrybutem zostanie umieszczona w zasobach, jeśli będą wersje językowe TypeConverterAttributes Dla właściwości i zdarzeń (wygląd w Visual Studio): BrowsableAttribute CategoryAttribute DescriptionAttribute

10 Wykład 7-10 Tworzenie konwertera typów Stworzyć klasę dziedziczącą z TypeConverter Nadpisać: CanConvertFrom(), CanConvertTo() czy konwersja jest możliwa ConvertFrom(), ConvertTo() wykonanie konwersji IsValid() sprawdzenie poprawności Wszystkie te metody są zaimplementowane w klasie TypeConverter

11 Wykład 7-11 Przykład konwertera typów public class PointConverter : TypeConverter { public override bool CanConvertFrom( ITypeDescriptorContext context, Type sourcetype) { if (sourcetype == typeof(string)) { return true; return base.canconvertfrom(context, sourcetype); public override object ConvertFrom( ITypeDescriptorContext context, CultureInfo culture, object value) { if (value is string) { string[] v = ((string)value).split(new char[] {','); return new Point(int.Parse(v[0]), int.parse(v[1])); return base.convertfrom(context, culture, value); public override object ConvertTo( ITypeDescriptorContext context, CultureInfo culture, object value, Type dsttype) { if (destinationtype == typeof(string)) { return ((Point)value).X + "," + ((Point)value).Y; return base.convertto(context, culture, value, dsttype);

12 Wykład 7-12 Wbudowane edytory typów System.ComponentModel.Design: ArrayEditor, BinaryEditor, CollectionEditor, MultilineStringEditor System.Drawing.Design: FontEditor, ImageEditor System.Web.UI.Design.WebControls: RegexTypeEditor System.Windows.Forms.Design: MaskPropertyEditor, FileNameEditor, FolderNameEditor, ShortcutKeysEditor

13 Wykład 7-13 Edycja własnych typów Możliwości: jako tekst wymaga konwertera (TypeConverter) edycja w liście rozwijalnej - wymaga UITypeEditor edycja w modalnym oknie dialogowym - wymaga UITypeEditor

14 Wykład 7-14 Edytor typu z interfejsem użytkownika Niezbędne czynności: stworzyć klasę dziedziczącą z UITypeEditor nadpisać GetEditStyle(), zwrócić wartość: None, DropDown lub Modal nadpisać EditValue(), parametry: ITypeDescriptorContext kontekst (także edytowana kontrolka) IServiceProvider do wyświetlenia okna lub listy rozwijalnej Opcjonalnie: konstruktor (inicjalizacja) GetPaintValueSupported(), PaintValue() wyświetlanie graficznej reprezentacji wartości

15 Wykład 7-15 Przykład edytora typu z interfejsem użytkownika public class MyEditor : UITypeEditor { public override object EditValue( ITypeDescriptorContext context, IServiceProvider provider, object value) { if (context!= null && context.instance!= null && provider!= null) { IWindowsFormsEditorService edsvc = (IWindowsFormsEditorService)provider.GetService( typeof(iwindowsformseditorservice)); if (edsvc!= null) { MyControl orgctrl = (MyControl)context.Instance; MyControl propctrl = new MyControl(); propctrl.width = orgctrl.width; (...) edsvc.dropdowncontrol(propctrl); return propctrl.points; return value; public override UITypeEditorEditStyle GetEditStyle( ITypeDescriptorContext context) { return UITypeEditorEditStyle.DropDown;

16 Wykład 7-16 Serializacja kodu Po modyfikacji wartości w oknie właściwości Visual Studio musi zapisać kod odpowiadający tym modyfikacjom w metodze InitializeComponent() Podstawowa serializacja Visual Studio sprawdza wszystkie publiczne właściwości kontrolki i generuje instrukcje ustawiania ich wartości DefaultValueAttribute może być wykorzystany do ograniczenia ilości kodu generowanego przez Visual Studio kod zostanie wygenerowany tylko dla właściwości o wartościach różnych od domyślnych

17 Wykład 7-17 Programistyczna serializacja kodu Reset... ustawienie domyślnej wartości dla właściwości ShouldSerialize... czy Visual Studio powinno wygenerować kod dla ustawienia aktualnej wartości Nie używać DefaultValueAttribute z tymi metodami [(...)] public Image SourceImage { (...) public bool ShouldSerializeSourceImage() { return (image!= null); [(...)] public Point[] Points { (...) public void ResetPoints() { points[0].x = 25; points[0].y = 25; (...) Invalidate();

18 Wykład 7-18 Własne właściwości Użycie atrybutów wykorzystywanych podczas edycji Wywołanie Invalidate() dla wymuszenia odświeżenia Użycie konwerterów typów dla niestandardowych typów [Browsable(true), Category("Image"), DefaultValue(null), Description("Image drawn in the control")] public Image SourceImage { get { return image; set { image = value; Invalidate();

19 Wykład 7-19 Własne zdarzenia private EventHandler onpointschanged; [Browsable(true), Category("Specific events"), Description("Notification that points have changed")] public event EventHandler PointsChanged { add { onpointschanged += value; remove { onpointschanged -= value; public Point[] Points { get { return points; set { points = value; if (onpointschanged!= null) { onpointschanged(this, EventArgs.Empty); Invalidate(); Krzysztof Mossakowski

20 Wykład 7-20 Rysowanie zawartości kontrolki protected override void OnPaint(PaintEventArgs pe) { Graphics gr = pe.graphics; gr.smoothingmode = SmoothingMode.AntiAlias; if (DesignMode) { gr.fillrectangle(brushes.pink, pe.cliprectangle); GraphicsPath path = BuildPath(); if (DesignMode EditMode) { gr.drawrectangle(pens.black,0,0,width-1,height-1); gr.drawpath(pens.black, path); for (int i = 0; i < points.length; i++) { gr.fillrectangle(brushes.red, Points[i].X-size,Points[i].Y-size, 2*size+1,2*size+1); if (this.image!= null) { TextureBrush tb = new TextureBrush(image); gr.fillpath(tb,path); tb.dispose(); base.onpaint(pe);

21 Wykład 7-21 Użycie stylów wizualnych Klasa ControlPaint rysowanie elementów standardowych kontrolek systemowych Uniwersalne klasy, których można użyć niezależnie od ustawień systemowych: ButtonRenderer, CheckBoxRenderer, GroupBoxRenderer, RadioButtonRenderer Klasy, których można użyć wyłącznie przy włączonej obsłudze stylów wizualnych w systemie: ComboBoxRenderer, ProgressBarRenderer, ScrollBarRenderer, TabRenderer, TextBoxRenderer, TrackBarRenderer

22 Wykład 7-22 Przykład użycia stylów wizualnych protected override void OnPaint(PaintEventArgs e) { base.onpaint(e); if (!ComboBoxRenderer.IsSupported) { ControlPaint.DrawComboButton(e.Graphics, this.clientrectangle, ButtonState.Normal); else { ComboBoxRenderer.DrawDropDownButton(e.Graphics, this.clientrectangle, ComboBoxState.Normal);

23 Wykład 7-23 Rysowanie elementów kontrolek private VisualStyleRenderer renderer = null; private readonly VisualStyleElement element = VisualStyleElement.StartPanel.LogOffButtons.Normal; public CustomControl() { if (Application.RenderWithVisualStyles && VisualStyleRenderer.IsElementDefined(element)) { renderer = new VisualStyleRenderer(element); protected override void OnPaint(PaintEventArgs e) { if (renderer!= null) { renderer.drawbackground(e.graphics, this.clientrectangle); else { this.text = "Visual styles are disabled."; TextRenderer.DrawText(e.Graphics, this.text, this.font, new Point(0, 0), this.forecolor);

24 Windows Presentation Foundation WPF

25 Założenia WPF Platforma z bogatymi możliwościami prezentacji Programowalna platforma Możliwość określania zachowania i wyglądu na poziomie deklaratywnym Integracja interfejsu użytkownika, dokumentów i multimediów Wykorzystanie najlepszych cech środowiska WWW i środowiska systemu Windows Integracja programistów i grafików

26 Historia WPF Powstaje w Microsoft zespół, którego zadaniem ma być stworzenie nowej platformy prezentacji, która mogłaby zastąpić User32/GDI32, Visual Basic, DHTML i Windows Forms Projekt o nazwie Avalon zostaje ogłoszony na konferencji PDC Premiera WPF jako części składowej.net Framework 3.0 VS 2005 Extensions for.net 3.0 (CTP) WPF wbudowany w Windows Vista.NET Framework 3.5 Expression Blend 1.0 VS 2008 & VS WPF Designer WPF 3.5 SP1 (jako część.net 3.5 SP1)

27 Obsługiwane wersje Windows WPF wraz z.net Framework 3.0 jest wbudowany w: Windows Vista Windows Server 2008 WPF można zainstalować wraz z.net Framework 3.x (w szczególności 3.5 SP1) na: Windows XP SP2 Windows Server 2003

28 Najważniejsze cechy WPF Usługi graficzne w całości oparte o Direct3D zaawansowane możliwości graficzne wykorzystanie GPU (Graphics Processing Unit) z karty graficznej grafika wektorowa skalowalna bez straty jakości renderowanie scen trójwymiarowych Współpraca z poprzednimi rozwiązaniami WPF i Win32 mogą wykorzystywać się wzajemnie WPF może wykorzystywać kontrolki Windows Forms (WindowsFormsHost) Windows Forms może wykorzystywać elementy WPF (ElementHost) Adnotacje - możliwość tworzenia, przechowywania i zarządzania w obrębie dokumentów

29 Najważniejsze cechy WPF c.d. Usługi multimedialne grafika 2D z wbudowanymi zestawami pędzli, piór, geometrii i transformacji możliwości grafiki 3D jako podzbiór pełnego zestawu Direct3D obsługa większości popularnych formatów obrazów obsługa Windows Imaging Component pozwalającego na pisanie kodeków obsługa filmów WMF, MPEG i niektórych AVI obsługa kodeków Windows Media Player Animacje animacje oparte na upływie czasu animacje mogą być uruchamiane w reakcji na zdarzenia, włączając w to akcje użytkownika efekty animacji mogą być definiowane dla poszczególnych obiektów zestaw predefiniowanych efektów animacji

30 Najważniejsze cechy WPF c.d. Wiązanie danych 3 typy wiązań danych: One time: klient ignoruje modyfikacje danych One way: klient ma dostęp tylko do odczytu danych Two way: klient może odczytać i zmodyfikować dane także wyrażenia LINQ mogą być używane jako źródła danych Interfejs użytkownika zestaw wbudowanych kontrolek modyfikowalne wzorce kontrolek (wygląd i zachowanie kontrolek) aplikacja nie troszczy się o odrysowanie swojej zawartości Dokumenty obsługa dokumentów XPS (XML Paper Specification) obsługa stronicowanych dokumentów z wykorzystaniem Open Packaging Convention

31 Najważniejsze cechy WPF c.d. Tekst obsługa fontów OpenType, TrueType i OpenType CFF obsługa Unicode wbudowane cechy: sprawdzanie poprawności, automatyczne rozmieszczenie linii tekstu, podziały linii zależne od języka, dzielenie słów, wyrównywanie tekstu, efekty i transformacje graficzne (np. cienie, rozmycie, poświata, obrót, pochylenie itp.) obsługa animacji w tekstach (zarówno w definicji znaków jak i w pozycji, rozmiarze, kolorze i przezroczystości całości tekstu) Dostęp dla osób z upośledzeniami Microsoft UI Automation

32 Architektura PresentationFramework elementy prezentacji widoczne dla użytkownika (układ elementów, animacje, wiązanie danych i inne) PresentationCore wrapper dla MIL implementuje podstawowe usługi milcore Media Integration Layer bezpośrednio stykający się z DirectX komponent natywny

33 Podstawowe klasy Lecture

34 System.Threading.DispatcherObject Większość klas WPF dziedziczy z klasy DispatcherObject Ta klasa daje obsługę współbieżności i wielowątkowości WPF jest oparte o system komunikatów dla wywołań pomiędzy wątkami wykorzystywane są komunikaty User32 Wszystkie aplikacje WPF uruchamiane są z dwoma wątkami jednym obsługującym interfejs użytkownika i drugim obsługującym renderowanie i rysowanie

35 System.Windows.DependencyObject Jednym z podstawowych założeń było wykorzystanie właściwości zamiast metod i zdarzeń właściwości są deklaratywne, pozwalają na określanie celów zamiast akcji System właściwości zawarty w WPF jest bogatszy niż w CLR i jest oparty na klasie DependencyObject System właściwości WPF obsługuje powiadomienia o zmianie wartości

36 System.Windows.Media.Visual Klasa Visual pozwala na budowanie drzewa obiektów wizualnych, tzn. obiektów mogących zawierać instrukcje rysowania i metadane informujące w jaki sposób te instrukcje mają być wykonywane (np. transformacje) Ta klasa jest miejscem styku dwóch podsystemów zarządzanego API i natywnego milcore WPF wyświetla dane wykorzystując niezarządzane struktury danych obsługiwane przez milcore Całe drzewo elementów wizualnych i instrukcji rysujących może być trzymane w pamięci podręcznej Komponenty są rysowane "od tyłu", co pozwala na przezroczystość elementów nie jest wykorzystywane obcinanie

37 System.Windows.UIElement Klasa UIElement definiuje podstawowe podsystemy WPF, m.in. układ elementów, wejście od użytkownika i zdarzenia Układ elementów jest podstawowym pojęciem w WPF na poziomie UIElement obsługiwany jest model dwóch faz układu ustalenia rozmiaru i położenia elementów Wejście od użytkownika pochodzi ze sterowników urządzeń jest przesyłane do odpowiedniego procesu i wątku za pośrednictwem User32 w momencie otrzymania go przez aplikację WPF jest konwertowany to formatu WPF i wysyłany do obiektu dispatchera WPF pozwala na to, by na podstawie jednego otrzymanego sygnału było wywoływanych wiele zdarzeń

38 System.Windows.FrameworkElement Klasa umożliwiająca dostosowanie elementów do własnych potrzeb jej głównym zadaniem jest umożliwienie dowolności układu elementów w aplikacji Wprowadza dwa nowe podsystemy: wiązanie danych pozwala na powiązanie właściwości do danych WPF pozwala na wiązanie właściwości, transformacje i wiązanie danych w postaci listy wzorce danych pozwalają na deklaratywne określenie sposobu wizualizacji danych style (to także forma wiązania danych) pozwalają na powiązanie zbioru właściwości elementu z definicją wyglądu podaną dla klasy tego elementu

39 System.Windows.Controls.Control Najbardziej znaczącą cechą klasy Control jest możliwość stosowania wzorców wzorce pozwalają na określenie sposobu wizualizacji kontrolki w deklaratywny, opcjonalnie sparametryzowany sposób Content model dla przykładu zawartością przycisku może być zwykły tekst, złożony obiekt lub nawet drzewo elementów wzorzec danych jest wykorzystywany podczas wizualizacji kontrolki

40 XAML Extensible Application Markup Language (XAML) językiem znaczników (markup language) umożliwiającym programowanie deklaratywne programista lub grafik jest w stanie określić zachowanie, wygląd i integrację elementów bez konieczności programowania strukturalnego Pozwala na oddzielenie modelu od widoku Chociaż możliwe jest zaprogramowanie całości np. w C# Kod napisany w XAML może być skompilowany do zarządzanego assembly w taki sam sposób jak w przypadku innych języków.net Framework Wykorzystanie XAML nie jest ograniczone do WPF, chociaż został wprowadzony jako część składowa

41 Przykłady kodu XAML Lecture 7-41 <Application x:class="wpfapp.app" xmlns=" xmlns:x=" StartupUri="Window1.xaml"> <Application.Resources> </Application.Resources> </Application> <Window x:class="wpfapp.window1" xmlns=" xmlns:x=" Title="Window1" Height="300" Width="300"> <Grid> </Grid> </Window>

42 Lecture 7-42 Przestrzenie nazw XAML Przestrzenie nazw XML są deklarowane w postaci atrybutów atrybuty mogą być umieszczone w dowolnym elemencie XML rozpoczynającym tag, ale zwykle są w pierwszym tagu w dokumencie zadeklarowana przestrzeń nazw może być użyta w dowolnym miejscu dokumentu XAML wykorzystuje dwie podstawowe przestrzenie nazw: zawiera różne pomocnicze cechy XAML domyślnie jest zmapowana do prefiksu x, który może być wykorzystany przy odwołaniu do elementu tej przestrzeni (<x:elementname>) zawiera wszystkie klasy WPF jest domyślną przestrzenią nazw definiowaną bez prefiksu

43 Klasa Application Obiekt Application jest odpowiedzialny za zarządzanie całością aplikacji, włączając w to jej stan, utworzone okna (lub strony) i zasoby Początkiem aplikacji jest wywołanie metody Run using System; using System.Windows; namespace WpfApplication1 { static class Program { [STAThread] static void Main() { Application app = new Application(); Window w = new Window(); w.title = "Hello World"; w.show(); app.run();

44 Cykl życia aplikacji 1. Tworzony jest obiekt klasy Application 2. Wywoływana jest metoda Run 3. Zgłaszane jest zdarzenie Application.Startup obsługa tego zdarzenia jest najlepszym miejscem na inicjalizację aplikacji 4. Tworzone i używane są okna (lub strony) 5. Wywoływana jest metoda Application.Shutdown 6. Zgłaszane jest zdarzenie Application.Exit 7. Metoda Run kończy swoje działanie

45 Obsługa błędów Zdarzenie Application.DispatcherUnhandledException jest wywoływane dla każdego nieprzechwyconego wyjątku Flaga DispatcherUnhandledExceptionEventArgs.Handled oznacza, że wyjątek może być zignorowany i aplikacja może kontynuować pracę <Application [...] DispatcherUnhandledException="App_UnhandledException"> </Application> public partial class App : Application { private void App_UnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) { using (StreamWriter errorlog = new StreamWriter("c:\\error.log", true)) { " + DateTime.Now.ToString()); errorlog.writeline(e.exception.tostring()); e.handled = true;

46 Stan aplikacji Obiekt aplikacji jest dostępny jako statyczna właściwość Application.Current Właściwość Application.Properties udostępnia słownik, w którym mogą być przechowywane dowolne dane Application.Current.Properties["LastError"] = e.exception; object lasterror = Application.Current.Properties["LastError"]; if (lasterror!= null && lasterror is DivideByZeroException) {

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna cz.3 Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:

Bardziej szczegółowo

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego 1/34 Wymagania wstępne: Znajomość podstaw programowania. Efekty kształcenia: Umiejętność tworzenia prostych aplikacji

Bardziej szczegółowo

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname="mainregion" />

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname=mainregion /> 1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism

Bardziej szczegółowo

Wykład 5 Okna MDI i SDI, dziedziczenie

Wykład 5 Okna MDI i SDI, dziedziczenie Wykład 5 Okna MDI i SDI, dziedziczenie Autor: Zofia Kruczkiewicz Zagadnienia 1. Aplikacja wielookienkowa. Zakładanie projektu typu CLR Windows Forms 1.1. Aplikacja typu MDI 1.2. Aplikacja typu SDI 2. Dziedziczenie

Bardziej szczegółowo

Programowanie w technologii.net wykład 4 Aplikacja i okna

Programowanie w technologii.net wykład 4 Aplikacja i okna Programowanie w technologii.net wykład 4 Aplikacja i okna 1/30 Aplikacja Aplikacja WPF jest reprezentowana przez instancję klasy System.Windows.Application. pilnuje ona kiedy program się uruchamia i kończy

Bardziej szczegółowo

1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika.

1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika. Tematy zajęć: 1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika. 2. Posługiwanie się podstawowymi kontrolkami. 3. Własności i zdarzenia w WPF. 4. Zadania aplikacji. Okna. 5. Polecenia. Zasoby.

Bardziej szczegółowo

Praca w środowisku Visual Studio 2008, Visual C

Praca w środowisku Visual Studio 2008, Visual C Praca w środowisku Visual Studio 2008, Visual C++ 2008 mgr inż. Tomasz Jaworski tjaworski@kis.p.lodz.pl http://tjaworski.kis.p.lodz.pl/ Tworzenie aplikacji konsolowych 2 3 Tworzenie nowego projektu aplikacji

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Instrukcja laboratoryjna nr.4

Instrukcja laboratoryjna nr.4 Języki programowania na platformie.net cz.2 2016/17 Instrukcja laboratoryjna nr.4 Język Visual Basic for.net Prowadzący: Tomasz Goluch Wersja: 3.1 I. Współpraca Visual Basic z C# Cel: Wykorzystanie w kodzie

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

WPF 4.5 : księga eksperta / Adam Nathan. Gliwice, cop Spis treści

WPF 4.5 : księga eksperta / Adam Nathan. Gliwice, cop Spis treści WPF 4.5 : księga eksperta / Adam Nathan. Gliwice, cop. 2015 Spis treści O autorze 11 Wstęp 13 Kto powinien przeczytać tę książkę? 14 Wymagania dotyczące oprogramowania 15 Przykładowe kody 16 W jaki sposób

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa

Bardziej szczegółowo

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Zadaniem poniższego opisu jest pokazanie, jak stworzyć aplikację z dostępnym interfejsem. Sama aplikacja nie ma konkretnego zastosowania i

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 07 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami tworzenia aplikacji okienkowych w C#. Wprowadzenie teoretyczne. Rozważana w

Bardziej szczegółowo

Wykład 6 Dziedziczenie cd., pliki

Wykład 6 Dziedziczenie cd., pliki Wykład 6 Dziedziczenie cd., pliki Autor: Zofia Kruczkiewicz 1. Dziedziczenie cd. 2. Pliki - serializacja Zagadnienia 1. Dziedziczenie aplikacja Kalkultory_2 typu Windows Forms prezentująca dziedziczenie

Bardziej szczegółowo

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło LATO 2007 Projektowanie Graficznych Interfejsów Użytkownika 1 System.Windows.Forms System.Windows.Forms Core infrastructure podstawowe operacje

Bardziej szczegółowo

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia nowego projektu (poniżej są utworzone projekty) Po kliknięciu

Bardziej szczegółowo

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

Bardziej szczegółowo

Programowanie aplikacji okienkowych Windows

Programowanie aplikacji okienkowych Windows Programowanie aplikacji okienkowych Windows Tworzenie aplikacji okienkowych w C# na bazie.net 2.0 Michał Turek, AGH Kraków W czym piszemy aplikacje.net Microsoft Visual Studio.NET Microsoft [] Express,

Bardziej szczegółowo

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści Microsoft Visual C++ 2008 : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop. 2010 Spis treści Co znajdziesz w tej książce? 9 Rozdział 1. Podstawy środowiska Visual C++ 2008 11 Język C++ a.net Framework

Bardziej szczegółowo

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse... KORZYSTANIE Z KONTROLKI.NET LENDEVICERS232 DODAWANIE KONTROLKI DO ZBIORU KOMPONENTÓW DOSTĘPNYCH W PALECIE TOOLBOX (ŚRODOWISKA PROGRAMISTYCZNE FIRMY MICROSOFT) W środowisku programistycznym (Visual C++,

Bardziej szczegółowo

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

Microsoft Visual C++

Microsoft Visual C++ Microsoft Visual C++ Typy aplikacji okna dialogowe Typy aplikacji Multiple Document Obsługa zdarzeń - komunikaty W celu obsługi zdarzeń pochodzących z wielu źródeł funkcja MainLoop odbiera komunikaty systemowe

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop. 2016 Spis treści Część I Wzorzec MVVM. Podstawy XAML 7 Rozdział 1. Szybkie wprowadzenie do XAML 9 Wzorzec widoku autonomicznego 9 Tworzenie

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

Bardziej szczegółowo

Visual Studio instalacja

Visual Studio instalacja Visual Studio 2017 - instalacja Do tej pory napisaliśmy wiele programów, z czego niemal wszystkie były aplikacjami konsolowymi. Najwyższy więc czas zająć się tworzeniem aplikacji z graficznym interfejsem

Bardziej szczegółowo

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

Projektowanie obiektowe. Roman Simiński  Wzorce projektowe Wybrane wzorce strukturalne Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Wzorce projektowe Wybrane wzorce strukturalne Fasada Facade Pattern 2 Wzorzec Fasada Facade Pattern koncepcja 3 Wzorzec

Bardziej szczegółowo

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt 1. Wprowadzenie Wymagania wstępne: wykonanie ćwiczeń Adresacja IP oraz Implementacja aplikacji sieciowych z wykorzystaniem interfejsu gniazd

Bardziej szczegółowo

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Informatyka I Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Dziedziczenie klas

Bardziej szczegółowo

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Laboratorium OiOSE. Programowanie w środowisku MS Visual C++ 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski

Bardziej szczegółowo

using System;... using System.Threading;

using System;... using System.Threading; Kontekst synchronizacji Wątek w platformie.net może posiadać kontekst synchronizacji reprezentowany przez instancję klasy SynchronizationContext lub jej klasy potomnej. Jeżeli wątek posiada taki kontekst

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych Jacek Matulewski Materiały dla Podyplomowego Studium Programowania i Zastosowania Komputerów, sekcja Projektowanie i tworzenie aplikacji

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera

Bardziej szczegółowo

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00 Henryk Budzisz ZPORR Koszalin 2009 Wykaz ćwiczeo Ćw.1. Przycisk zamykajacy Ćw.2. Strzałka blokowa Uwaga: Ćwiczenia wymagają zainstalowania środowiska programistycznego VisualStudio. Ćwiczenie 1 Zadania:

Bardziej szczegółowo

Programowanie na poziomie sprzętu. Programowanie w Windows API

Programowanie na poziomie sprzętu. Programowanie w Windows API Programowanie w Windows API Windows API Windows Application Programming Interface (API) to zestaw funkcji systemu operacyjnego Windows, które umożliwiają aplikacjom korzystanie z wszystkich usług systemu.

Bardziej szczegółowo

Informatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Interfejs GUI wysokiego poziomu Pojęcie

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

Klasy cd. Struktury Interfejsy Wyjątki

Klasy cd. Struktury Interfejsy Wyjątki Klasy cd. Struktury Interfejsy Wyjątki Struktury Struktura pozwala na zdefiniowanie typu danych, który nie charakteryzuje się zbyt złożoną funkcjonalnością (np. punkt, kolor, etc). Do definiowania struktury

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Laboratorium programowania urządzeń mobilnych

Laboratorium programowania urządzeń mobilnych Laboratorium programowania urządzeń mobilnych Wprowadzenie Hierarcha klas dla aplikacji typu Silverlight tworzonej przez Visual Studio jest następująca: Obsługa ekranu W urządzeniach z Windows Phone 7

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i Program szkolenia: Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i JFace Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Kompleksowe tworzenie aplikacji

Bardziej szczegółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1 1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe

Programowanie obiektowe i zdarzeniowe Programowanie obiektowe i zdarzeniowe wkład 2 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak zdefiniować w programie punkt? = 3; = 2; Może tak? // wpisanie informacji Console.WriteLine("

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

Programowanie Obiektowe GUI

Programowanie Obiektowe GUI Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu

Bardziej szczegółowo

Jarosław Kuchta Podstawy Programowania Obiektowego. Podstawy grafiki obiektowej

Jarosław Kuchta Podstawy Programowania Obiektowego. Podstawy grafiki obiektowej Jarosław Kuchta Podstawy Programowania Obiektowego Podstawy grafiki obiektowej Zagadnienia Grafika proceduralna grafika obiektowa Grafika WPF dualizm XAML C# Właściwości obiektów graficznych edycja właściwości

Bardziej szczegółowo

Lokalizacja Oprogramowania

Lokalizacja Oprogramowania mgr inż. Anton Smoliński anton.smolinski@zut.edu.pl Lokalizacja Oprogramowania 02/12/2016 Wykład 5 Lokalizacja interfejsów użytkownika Agenda Programiści i tłumacze w procesie lokalizacji Tworzenie GUI

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w

Bardziej szczegółowo

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Projektowanie, tworzenie aplikacji mobilnych na platformie Android Program szkolenia: Projektowanie, tworzenie aplikacji mobilnych na platformie Android Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Projektowanie, tworzenie aplikacji mobilnych

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Graficzny Interfejs Użytkownika mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Spis treści Graficzny Interfejs

Bardziej szczegółowo

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi. Ekspert radzi mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8 Spis treści 1. Zarys rozwiązania...3 1.2 Case study...3 1.3 Wymagania...3 2. Projekt...3

Bardziej szczegółowo

Aplikacje internetowe i rozproszone - laboratorium

Aplikacje internetowe i rozproszone - laboratorium Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,

Bardziej szczegółowo

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44 Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1 Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer; 14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi

Bardziej szczegółowo

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom: 1. QT creator, pierwsze kroki. Qt Creator wieloplatformowe środowisko programistyczne dla języków C++, JavaScript oraz QML, będące częścią SDK dla biblioteki Qt. Zawiera w sobie graficzny interfejs dla

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Wykład 2 28 lutego 2019 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie; standardy ISO i ECMA; podobny składniowo do C++; Język C Krótka

Bardziej szczegółowo

Król Łukasz Nr albumu: 254102

Król Łukasz Nr albumu: 254102 Król Łukasz Nr albumu: 254102 Podstawy o Delphi Język programowania, którego można używać w środowiskach firmy Borland, Embarcadero, Microsoft (Delphi Prism), oraz w środowisku Lazarus. Narzędzia te są

Bardziej szczegółowo

C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.

C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE. C++ - DZIEDZICZENIE Do najważniejszych cech języka C++ należy możliwość wielokrotnego wykorzystywania kodu Prymitywnym, ale skutecznym sposobem jest kompozycja: deklarowanie obiektów wewnątrz innych klas,

Bardziej szczegółowo

Opis. Wykład: 30 Laboratorium: 30

Opis. Wykład: 30 Laboratorium: 30 Załącznik nr 5 do Uchwały nr 1202 Senatu UwB z dnia 29 lutego 2012 r. Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów

Bardziej szczegółowo

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do

Bardziej szczegółowo

16) Wprowadzenie do raportowania Rave

16) Wprowadzenie do raportowania Rave 16) Wprowadzenie do raportowania Rave Tematyka rozdziału: Przegląd wszystkich komponentów Rave Tworzenie nowego raportu przy użyciu formatki w środowisku Delphi Aktywacja środowiska Report Authoring Visual

Bardziej szczegółowo

Dodanie nowej formy do projektu polega na:

Dodanie nowej formy do projektu polega na: 7 Tworzenie formy Forma jest podstawowym elementem dla tworzenia interfejsu użytkownika aplikacji systemu Windows. Umożliwia uruchomienie aplikacji, oraz komunikację z użytkownikiem aplikacji. W trakcie

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach Ćwiczenia laboratoryjne Oprogramowanie i badanie prostych metod sortowania w tablicach Sprawozdanie Na każdym zajęciu laboratoryjnym sporządza się za pomocą edytora Word sprawozdanie. Bazowa zawartość

Bardziej szczegółowo

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface) Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface) 1. Udostępnianie wszystkich prywatnych atrybutów do prezentacji, wprowadzenie standardu nazewnictwa plików nazwy plików

Bardziej szczegółowo

Wprowadzenie do programowanie obiektowego w języku C++

Wprowadzenie do programowanie obiektowego w języku C++ Wprowadzenie do programowanie obiektowego w języku C++ Część czwarta Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

Bardziej szczegółowo

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API Programowanie w środowiskach graficznych Wykład 1 OS, Podstawy Windows API 1 WSTĘP 2 Cele wykładu Zaznajomić z podstawowymi mechanizmami programowania zdarzeniowego (w systemie operacyjnym Windows). Nauczyć

Bardziej szczegółowo

Programowanie zaawansowane

Programowanie zaawansowane Programowanie zaawansowane Ćwiczenie 6 Komunikacja silnie typowana I. Utwórz aplikację okienkową realizującą proste obliczenia arytmetyczne. Obsługa zdarzeń w aplikacji typu Windows Form Application odbywa

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.

Bardziej szczegółowo

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska Zacznij Tu! Poznaj Microsoft 2012 Visual Basic Michael Halvorson Przekład: Joanna Zatorska APN Promise, Warszawa 2013 Spis treści Wstęp...................................................................vii

Bardziej szczegółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie i wykorzystanie usług sieciowych Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który

Bardziej szczegółowo

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop. 2016 Spis treści Spis rysunków 11 Spis tabel 13 Przedmowa 15 Wprowadzenie 17 Podziękowania 27 O autorach 29 1 Wprowadzenie

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Rozwój aplikacji modułowych Paweł Brudnicki. Dodanie modułu

Rozwój aplikacji modułowych Paweł Brudnicki. Dodanie modułu Rozwój aplikacji modułowych Paweł Brudnicki Moduł jest podstawową jednostką funkcjonalności. Stanowi on część, która może być niezależnie pisana, testowana a nawet wdrażana. W przewodniku dodamy niezależny

Bardziej szczegółowo

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta

Bardziej szczegółowo

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie

Bardziej szczegółowo

Kurs programowania 2 - listy

Kurs programowania 2 - listy Kurs programowania 2 - listy Listy rozwijane (ComboBox) Listy rozwijane (rozwijalne) można tworzyć przy użyciu klasy ComboBox. W tabeli poniżej właściwości udostępniane przez tę kontrolkę. Najważniejsza

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

Bardziej szczegółowo

Język Java część 2 (przykładowa aplikacja)

Język Java część 2 (przykładowa aplikacja) Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa

Bardziej szczegółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

Bardziej szczegółowo

Aplikacje WWW. Laboratorium z przedmiotu Aplikacje WWW - zestaw 01

Aplikacje WWW. Laboratorium z przedmiotu Aplikacje WWW - zestaw 01 Laboratorium z przedmiotu Aplikacje WWW - zestaw 01 Cel zajęć. Celem zajęć jest zapoznanie z technologią ASP.NET Web Forms. Wprowadzenie teoretyczne. 1. Komunikacja klient-serwer poprzez połączenie internetowe

Bardziej szczegółowo

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017 Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

Język Java część 2 (przykładowa aplikacja)

Język Java część 2 (przykładowa aplikacja) Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa

Bardziej szczegółowo

Delphi podstawy programowania. Środowisko Delphi

Delphi podstawy programowania. Środowisko Delphi Delphi podstawy programowania Środowisko Delphi Olsztyn 2004 Delphi Programowanie obiektowe - (object-oriented programming) jest to metodologia tworzeniu programów komputerowych definiująca je jako zbiór

Bardziej szczegółowo

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS PROBLEMY TECHNICZNE Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS Jeżeli stwierdziłeś występowanie błędów lub problemów podczas pracy z programem DYSONANS możesz skorzystać

Bardziej szczegółowo

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów

Bardziej szczegółowo