Programowanie w technologii.net wykład 3 Dependency Properties, Routed Events
|
|
- Anatol Grzybowski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Programowanie w technologii.net wykład 3 Dependency Properties, Routed Events 1/29 Dependency Properties własności zależnościowe - wydajniejsze pamięciowo - dziedziczenie wartości (w drzewie elementów) - powiadomienia o zmianie wartości - potrzebne do stylów, animacji, wiązania danych - używa się ich tak samo, jak zwykłych własności
2 2/29 klasyczne własności: class FrameworkElement Thickness Margin set... = value; get return...; a jak są definiowane Dependency Properties? najpierw statyczna składowa reprezentująca definiowaną własność: public class FrameworkElement : UIElement,... public static readonly DependencyProperty MarginProperty; //...
3 3/29 rejestrowanie właściwości w statycznym konstruktorze: static FrameworkElement() FrameworkPropertyMetadata metadata = new FrameworkPropertyMetadata(new Thickness(), FrameworkPropertyMetadataOptions.AffectsMeasure); MarginProperty = DependencyProperty.Register("Margin", typeof(thickness), typeof(frameworkelement), metadata, IsMarginValid); //... walidacja (uwaga: to metoda statyczna, zatem sprawdza tylko podaną wartość): private static bool IsMarginValid(object value) Thickness thickness1 = (Thickness)value; if(...) return true; return false;
4 wrapper (te metody są wołane tylko z kodu C#, a nie XAMLa): public Thickness Margin set SetValue(MarginProperty, value); get return (Thickness)GetValue(MarginProperty); teraz mamy gotową właściwość: myelement.margin = new Thickness(5); jest też dostępne czyszczenie lokalnie ustawionej wartości: myelement.clearvalue(frameworkelement.marginproperty); Property Metadata pozwala na ustawienie kilku dodatkowych cech definiowanej własności najważniejsze: DefaultValue domyślna wartość własności CoerceValueCallback testowanie zgodności wartości PropertyChangedCallback powiadomienie o zmianie wartości ponadto flagi określające wpływ własności na ułożenie lub rozmiar elementu (np. AffectsArrange, AffectsMeasure), na sposób wyświetlania (AffectsRender), zachowania przy wiązaniu danych, triggerach, animacji, interfejsie opartym na stronach (np. IsAnimationProhibited, IsNotDataBindable, Journal) oraz włączające dziedziczenie w drzewie zagnieżdżenia (Inherits) 4/29
5 5/29 Coercion 1. CoerceValueCallback ma szansę na zmianę dostarczonej wartości albo ją odrzucić 2. ValidateValueCallback sprawdza poprawność wartości (statycznie!) 3. PropertyChangedCallback gdy zmiana zaszła pomyślnie przykład koercji na scrollu i właściwości Maximum: private static object CoerceMaximum(DependencyObject d, object value) RangeBase base1 = (RangeBase)d; if (((double)value) < base1.minimum) return base1.minimum; return value;
6 podobnie dla Value: internal static object ConstrainToRange(DependencyObject d, object value) double newvalue = (double)value; RangeBase base1 = (RangeBase)d; double minimum = base1.minimum; if (newvalue < minimum) return minimum; double maximum = base1.maximum; if (newvalue > maximum) return maximum; return newvalue; 6/29
7 w Minimum nie ma koercji, ale jest odpalenie zmiany pozostałych, gdy trzeba: private static void OnMinimumChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) RangeBase base1 = (RangeBase)d; //... base1.coercevalue(rangebase.maximumproperty); base1.coercevalue(rangebase.valueproperty); podobnie Maximum wymusza koercję Value: private static void OnMaximumChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) RangeBase base1 = (RangeBase)d; //... base1.coercevalue(rangebase.valueproperty); Ma to zadbać o właściwe dopasowanie wartości: ScrollBar bar = new ScrollBar(); // Value = 0, Minimum = 0, Maximum = 1 bar.value = 100; // Value = 1 (koercja) bar.minimum = 1; // Value = 1 bar.maximum = 200; // znow odpalona koercja Value i Value = 100 (*) (*) - koercja odpalona z oryginalnie podaną wartością właściwości zatem ustalone jest Value = 100 (!) 7/29
8 8/29 Shared Dependency Properties Niekiedy kilka klas (w osobnych hierarchiach) korzysta z tej samej własności, np. TextBlock.FontFamily i Control.FontFamily wskazują na tę samą własność zdefiniowaną w klasie TextElement; robi się to wywołując AddOwner: TextBlock.FontFamilyProperty = TextElement.FontFamilyProperty.AddOwner(typeof(TextBlock)); Attached Dependency Properties Dotyczą innego elementu niż są zdefiniowane. Np. Grid.Row zdefiniowane jest w Gridzie, a dotyczy elementu w nim osadzonego. Rejestruje się je przy użyciu RegisterAttached: FrameworkPropertyMetadata metadata = new FrameworkPropertyMetadata( 0, new PropertyChangedCallback(Grid.OnCellAttachedPropertyChanged)); Grid.RowProperty = DependencyProperty.RegisterAttached("Row", typeof(int), typeof(grid), metadata, new ValidateValueCallback(Grid.IsIntValueNotNegative));
9 9/29 Nie definiuje się dla nich wrappera, gdyż mogą być ustawione dla dowolnego elementu. Zamiast tego korzystamy ze statycznych metod: public static int GetRow(UIElement element) if (element == null) throw new ArgumentNullException(/*...*/); return (int)element.getvalue(grid.rowproperty); public static void SetRow(UIElement element, int value) if (element == null) throw new ArgumentNullException(/*...*/); element.setvalue(grid.rowproperty, value); A tak z tego korzystamy: Grid.SetRow(txtElement, 0); co przekłada się na: txtelement.setvalue(grid.rowproperty, 0);
10 Jak używane są własności zależnościowe? 10/29
11 11/29 Gdy zmieni się wartość własności, uruchamiana jest metoda callbackowa PropertyChangedCallback nie odpala ona jednak domyślnie eventów. Zamiast tego powiadamiane są data-bindingi i triggery (będzie o nich mowa w następnych rozdziałach). Jedynie część własności uruchamia jakieś powiązane z ich zmiana zdarzenia (np. TextBox.TextChanged, ScrollBar.ValueChanged). Gdy pobieramy wartość własności zależnościowej, WPF poszukuje jej w: 1. domyślnej wartości 2. wartości odziedziczonej 3. wartości podanej w stylu 4. wartości wpisanej lokalnie (w kodzie lub XAMLu) Tak pobrana wartość, zanim zostanie zwrócona, może być modyfikowana przez wyrażenia, wiązanie danych, dołączone animacje, koercje.
12 12/29 Zdarzenia w WPF Event Routing Routed Events podróżują po drzewie elementów.
13 13/29 rodzaje zdarzeń: - direct bezpośrednie (dotyczą tylko jednego elementu) - bubbling (wędrują w górę hierarchii zagnieżdżenia najpierw podnoszone przez element którego dotyczą) - tunneling (wędrują w dół hierarchii zagnieżdżenia najpierw podnoszone przez element najwyższego poziomu okno) przekazany do obsługi argument typu RoutedEventArgs zawiera własność Handled pozwala przerwać tunelowanie/ bąbelkowanie private void DoSomething(object sender, RoutedEventArgs e) if (...) e.handled = true; RoutedEventArgs.Source od kogo pochodzi zdarzenie (przeważnie kontrolka) sender kto je przysłał (gdzie umieszczono obsługę zdarzenia) RoutedEventArgs.RoutedEvent zdarzenie
14 14/29 Attached Events Wykonawca zdarzenia może być podpięty na poziomie elementu, który podnosi zdarzenie albo do innego elementu powyżej lub poniżej hierarchii zagnieżdżenia: <StackPanel Button.Click="DoSomething" Margin="5"> <Button Name="btn1" Tag="jeden">Przycisk 1</Button> <Button Name="btn2" Tag="dwa">Przycisk 2</Button> <Button Name="btn3" Tag="trzy">Przycisk 3</Button>... </StackPanel> private void DoSomething(object sender, RoutedEventArgs e) object tag = ((FrameworkElement)e.Source).Tag; MessageBox.Show((string)tag); Tunneling Events Tunneling i Bubbling występują w parach (tunneling ma przeważnie przedrostek Preview) najpierw wędruje tunneling, a potem bubbling obsłużenie (ustawienie Handled) dla tunelowego wyłącza bąbelkowe!
15 15/29 <Label BorderBrush="Black" BorderThickness="1"> <StackPanel> <TextBlock Margin="3">Tekst i ikona</textblock> <Image Source="ikona.jpg" Stretch="None" /> <TextBlock Margin="3">Podpis</TextBlock> </StackPanel> </Label> Label PreviewMouseDown StackPanel PreviewMouseDown Image PreviewMouseDown Image MouseDown StackPanel MouseDown Label MouseDown Label PreviewMouseUp StackPanel PreviewMouseUp Image PreviewMouseUp Image MouseUp StackPanel MouseUp Label MouseUp
16 Definiowanie zdarzeń w WFP: public abstract class ButtonBase : ContentControl,... // definicja public static readonly RoutedEvent ClickEvent; // rejestracja static ButtonBase() ButtonBase.ClickEvent = EventManager.RegisterRoutedEvent( "Click", RoutingStrategy.Bubble, typeof(routedeventhandler), typeof(buttonbase)); //... // wrapper public event RoutedEventHandler Click add base.addhandler(buttonbase.clickevent, value); remove base.removehandler(buttonbase.clickevent, value); //... ręczne podnoszenie zdarzenia: button.raiseevent( new RoutedEventArgs(ButtonBase.ClickEvent, this)); 16/29
17 17/29 posługiwanie się zdarzeniami: dołączanie obsługi zdarzenia: <Button Name="btn1" Click="klik">OK</Button> w kodzie: btn1.click += klik; i odłączanie btn1.click -= klik; lub: btn1.addhandler(buttonbase.clickevent, new RoutedEventHandler(klik)); i btn1.removehandler(buttonbase.clickevent, new RoutedEventHandler(klik)); nie powinniśmy dołączać w ten sposób wysokopoziomowych (logicznych) metod, a tylko event handlery - oddelegowujące polecenia do warstwy logiki
18 18/29 WPF Events Kategorie zdarzeń: czasu życia (gdy element jest ładowany, inicjowany, usuwany) zdarzenia myszy (akcje myszy) zdarzenia klawiatury (akcje klawiatury) zdarzenia stylusa Czasu życia: Podnoszą je wszystkie elementy, gdy są tworzone bądź zwalniane. Initialized gdy utworzono instancję elementu i ustawiono jego właściwości. Inne elementy tego samego okna mogą jeszcze nie istnieć. IsInitialized == true. Jest to zwykłe zdarzenie (nie jest routed). Loaded gdy całe okno zostało zainicjowane, dołączono style i wiązanie danych. Tuż przed jego wyświetleniem. IsLoaded == true. Unloaded gdy element został zwolniony (usunięto go z okna bądź zamknięto okno).
19 kolejność działań: - tworzona instancja obiektu - przetwarzane i ustawiane właściwości z XAMLa - Initialized (gdy tworzymy okno elementy są inicjowane z dołu do góry te głębiej w zagnieżdżeniu są pierwsze) - ułożenie w kontenerze - Loaded ( z góry do dołu ) - renderowanie (wyświetlenie okna, gdy wszystkie elementy załadowane) Zdarzenia czasu życia dla klasy Window: SourceInitialized ustawiane powiązania do HWND (Win32 API) ContentRendered gdy zawartość okna wyrenderowana po raz pierwszy (okno wyświetlone i gotowe do przyjmowania wejścia) Activated gdy nastąpiło przełączenie do okna (albo załadowane po raz pierwszy) jest to odpowiednik GetFocus kontrolek Deactivated użytkownik przełączył się na inne okno (lub zamknął to) odpowiednik LostFocus Closing okno się zamyka (można to anulować CancelEventArgs.Cancel na true); nie ma Closing, jeśli to system się wyłącza Closed okno zostało zamknięte (ale do jego elementów wciąż mamy jeszcze dostęp) Typowe miejsce dla inicjacji kontrolek Loaded 19/29
20 20/29 Zdarzenia wejścia: Wszystkie dołączają dwie właściwości: Timestamp (czas zdarzenia w milisekundach) i Device (urządzenie, które odpaliło zdarzenie). Zdarzenia klawiatury: naciśnięcie klawisza: PreviewKeyDown (Tunneling) KeyDown (Bubbling) wpisanie znaku (odpalają je tylko te klawisze, które powodują wpisanie tekstu): PreviewTextInput (Tunneling) TextInput (Bubbling) zwolnienie klawisza: PreviewKeyUp (Tunneling) KeyUp (Bubbling) gdy trzymamy naciśnięty klawisz powtarzane są zarówno oba KeyDown jak i TextInput Uwaga: wiele kontrolek przechwytuje i blokuje te proste zdarzenia (ale nie tunelling) na rzecz własnych (np. TextBox dodaje TextChanged gdy naciśnięcie klawisza spowodowało zmianę tekstu w polu tekstowym).
21 21/29 Obsługa klawiszy: <Window... KeyDown="KeyEvent" PreviewKeyDown="KeyEvent" KeyUp="KeyEvent" PreviewKeyUp="KeyEvent"> <ScrollViewer Name="scroll"> <Label Name="lblInfo"/> </ScrollViewer> </Window> private void KeyEvent(object sender, KeyEventArgs e) lblinfo.content += "Event: " + e.routedevent + " Key: " + e.key + "\n"; scroll.scrolltobottom(); Uwaga: x to x niezależnie od shift, alt, etc. Ale czym innym jest Key.D0, a czym innymi Key.NumPad0. e.isrepeat pozwala sprawdzić, czy ten event to efekt trzymania klawisza: e.text zwraca tekst, jaki ma otrzymać kontrolka (w zdarzeniach typu TextInput) e.keystates informuje o stanie naciśniętego klawisza
22 o stanie pozostałych można dowiedzieć się z KeyboardDevice: if ((e.keyboarddevice.modifiers & ModifierKeys.Control) == ModifierKeys.Control) lblinfo.content = "You held the Control key."; metody KeyboardDevice: IsKeyDown() - czy dany klawisz był naciśnięty gdy zaszło zdarzenie IsKeyUp() IsKeyToggled() - tylko dla Caps Lock, Num Lock, Scroll Lock GetKeyStates() - połączenie KeyDown i KeyToggled Keyboard aktualny stan klawiszy: if (Keyboard.IsKeyDown(Key.LeftShift)) lblinfo.content = "The left Shift is held down."; przydatne jak konwertować Key do stringa: KeyConverter converter = new KeyConverter(); string key = converter.converttostring(e.key); 22/29
23 23/29 PreviewTextInput dobre miejsce do walidacji tekstu w kontrolce (np. gdy chcemy tylko numeryczne ustawiamy Handled gdy nie to co chcemy) private void pnl_previewtextinput(object sender, TextCompositionEventArgs e) short val; if (!Int16.TryParse(e.Text, out val)) // tylko klawisze numeryczne e.handled = true; private void pnl_previewkeydown(object sender, KeyEventArgs e) if (e.key == Key.Space) // spacja tutaj, bo nie podnosi ona PreviewTextInput e.handled = true;
24 24/29 Mysz MouseEnter kursor wjeżdża nad element MouseLeave opuszcza element nie są routed Poza nimi: PreviewMouseMove (tunneling) i MouseMove (bubbling) gdy mysz się porusza. private void MouseMoved(object sender, MouseEventArgs e) Point pt = e.getposition(this); lblinfo.content = String.Format("Współrzędne: (0,1)", pt.x, pt.y); można sprawdzić też stan przycisków: if(e.leftbutton == MouseButtonState.Pressed)... sprawdzanie położenia wskaźnika myszy metodą statyczną klasy Mouse: Mouse.GetPosition(element)
25 25/29 Kliknięcia MouseLeftButtonDown MouseLeftButtonUp to samo jest dla Right dla każdego istnieje odpowiednik Preview* (tunelling) MouseWheel i Preview* - obsługa kółka Przekazany parametr MouseButtonEventArgs ma dodatkowo właściwość ClickCount. Niektóre kontrolki przejmują te zdarzenia, a dają dodatkowe (np. Click w Buttonie).
26 26/29 Przechwytywanie myszy Aby otrzymywać zdarzenia z myszy poza elementem. Mouse.Capture(element) aby zwolnić: Mouse.Capture(null) i jeszcze zdarzenie LostMouseCapture, gdy to stracimy <Window... MouseMove="Canvas_MouseMove" MouseLeftButtonDown="Canvas_MouseLeftButtonDown" MouseLeftButtonUp="Canvas_MouseLeftButtonUp"> <Canvas> <Rectangle Name="box" Width="50" Height="50" Canvas.Top="50" Canvas.Left="100" Fill="Blue" /> </Canvas> </Window>
27 27/29 private void Canvas_MouseMove(object sender, MouseEventArgs e) if (e.leftbutton == MouseButtonState.Pressed) Point pt = e.getposition(this); box.setvalue(canvas.topproperty, pt.y-25); box.setvalue(canvas.leftproperty, pt.x-25); private void Canvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) Mouse.Capture(this); private void Canvas_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) Mouse.Capture(null);
28 28/29 przydatne do Drag-and-Drop: 1. klikamy i trzymamy przycisk (pewna informacja zapisana i zaczynamy przeciąganie) 2. ruch myszy na inny element, który może przyjąć drop sygnalizacja kursorem 3. zwolnienie przycisku zrzucenie danych <Label MouseDown="lbl1_MouseDown">Źródło</Label> private void lbl1_mousedown(object sender, MouseButtonEventArgs e) Label lbl = (Label)sender; DragDrop.DoDragDrop(lbl, lbl.content, DragDropEffects.Copy); odbiorca wymaga ustawienia: <Label DragEnter="lbl2_DragEnter" Drop="label2_Drop" AllowDrop="True">Cel</Label>
29 29/29 przyjęcie zrzutu: private void lbl2_drop(object sender, DragEventArgs e) ((Label)sender).Content = e.data.getdata(dataformats.text); sprawdzanie czy dane które możemy przyjąć: private void lbl2_dragenter(object sender, DragEventArgs e) if (e.data.getdatapresent(dataformats.text)) e.effects = DragDropEffects.Copy; else e.effects = DragDropEffects.None;
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ółowoWindows Presentation Foundation WPF (2)
Windows Presentation Foundation WPF (2) Programowanie Wizualne Paweł Wojciechowski Instytut Informatyki, Politechniki Poznańskiej 2012 Model zdarzeń zdarzenia (ang. events), czyli wiadomości wysłane przez
Bardziej szczegółowoProgramowanie 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ółowoxmlns: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ółowoWindows Presentation Foundation
Windows Presentation Foundation Tworzenie interfejsu użytkownika Współpraca projektanta i programisty (XAML) Interfejsy atrakcyjniejsze graficznie (np. 3D) Aplikacje internetowe (XBAP) Użycie Layoutów
Bardziej szczegółowoDodanie 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ółowoProgramowanie 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ółowoProgramowanie 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ółowoBiblioteka Windows Forms
Biblioteka Windows Forms Aplikacje Windows Forms Aplikacje sterowane zdarzeniami Rysowanie oparte na GDI+ "Obudowane" kontrolki Win32 "Elementy" do budowy aplikacji Przestrzeń nazw System.Windows.Forms
Bardziej szczegółowo1. 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ółowoMVVM 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ółowoUtworzenie 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ółowoRozwó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ółowoRozdział 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ółowoLaboratorium 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ółowoPrzykł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ółowoLogger. Następnie w klasie Bootstrapper muimy zarejestrować nasz nowy logger:
Logger Na początku stworzymy własny logger. Do tego calu trzeba utworzyć klasę naszego loggera, która będzie implementować interfejs ILoggerFacade. Oto kod tej klasy: public class SimpleLogger: ILoggerFacade
Bardziej szczegółowo- 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ółowoVisual Basic for Applications. Formatki tworzenie,
Visual Basic for Applications Formatki tworzenie, sterowanie, właściwości. Podstawowe typy kontrolek: Wybrane właściwości obiektu UserForm: BackColor kolor wypełnienia tła formatki, BorderStyle fmborderstylenone/fmborderstylesingle,
Bardziej szczegółowousing 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ółowoJAVA 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ółowoProgramownie w technologii.net wykład 6 Element Binding i Data Binding
Programownie w technologii.net wykład 6 Element Binding i Data Binding 1/41 Element Binding Mechanizm, który pozwala wydobyć pewne informacje z obiektu źródłowego i zapisać je w pewnym obiekcie docelowym.
Bardziej szczegółowoSystem zdarzeń - wyzwalanie i nasłuchiwanie
System zdarzeń - wyzwalanie i nasłuchiwanie Informacje o module Opis modułu W tym rozdziale dowiesz się czym są zdarzenia silverlight, jakie rodzaje zdarzeo obsługuje oraz jakie strategie informowania
Bardziej szczegółowoModele zawartości. WPF wykorzystuje 4 modele zawartości kontrolek: ContentControl pojedyncza zawartość
WPF Programowanie w środowisku Windows Wykład 8-1 Kontrolki Modele zawartości WPF wykorzystuje 4 modele zawartości kontrolek: ContentControl pojedyncza zawartość Wykład 8-2 używane przez: Button, ButtonBase,
Bardziej szczegółowoWYKONANIE 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ółowoInterfejs użytkownika (ang. User Interface, UI) w technice część urządzenia odpowiedzialna za interakcję z użytkownikiem
Interfejs użytkownika (ang. User Interface, UI) w technice część urządzenia odpowiedzialna za interakcję z użytkownikiem Dodawanie kontrolek i komponentów Podczas budowania bazującej na formularzach aplikacji
Bardziej szczegółowoKurs 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ółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoProjekt Hurtownia, realizacja rejestracji dostaw produktów
Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące
Bardziej szczegółowoWspółbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje
Bardziej szczegółowo1 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ółowoProjekt Hurtownia, realizacja rejestracji dostaw produktów
Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące
Bardziej szczegółowoMateriały do zajęć VII
Spis treści I. Klasy Materiały do zajęć VII II. III. Konstruktor Właściwości i indeksatory Klasy Programowanie obiektowe wiadomości wstępne Paradygmat programowania obiektowego Abstrakcja Hermetyzacja
Bardziej szczegółowoProgramowanie w Javie
Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student
Bardziej szczegółowoEdytor tekstu MS Office Word
Edytor tekstu program komputerowy ukierunkowany zasadniczo na samo wprowadzanie lub edycję tekstu, a nie na nadawanie mu zaawansowanych cech formatowania (do czego służy procesor tekstu). W zależności
Bardziej szczegółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoJava: 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ółowoKurs 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ółowoPrzypomnienie o klasach i obiektach
Wykład 14 Programowanie obiektowe ciąg dalszy, str 1 Przypomnienie o klasach i obiektach -5 należydo int 314 należy do double false należy do boolean {27, 314,-15 należy do double[] wartość należy do typ
Bardziej szczegółowoProgramowanie zdarzeniowe
Programowanie zdarzeniowe I. Podstawy obsługi zdarzeń Małgorzata Prolejko ZDA JA16Z03 Plan Pojęcie zdarzenia Klasy i obiekty słuchaczy Rejestracja słuchaczy Obsługa naciśnięcia przycisku Rozpoznawanie
Bardziej szczegółowoInstrukcja 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ółowoWykł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ółowoSwing ćwiczenia 2 opis
Swing ćwiczenia 2 opis Zad 1. a) Dołożyliśmy nowy obszar tekstowy JTextArea i w jego właściwości Document ustawiliśmy, że ma wspólny dokument (model-treść) z naszym pierwszym JTextArea. Zauważmy, że wpisując
Bardziej szczegółowoEnkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Bardziej szczegółowoProgramowanie 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ółowoKlasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Bardziej szczegółowoMetodyka programowania. Visual Studio C#
Metodyka programowania Visual Studio C# MS Visual Studio Środowisko programistyczne MS Różne platformy programistyczne (MFC,.NET, ASP.NET, ) Różne rodzaje projektów (Windows Forms, Class Library, Service
Bardziej szczegółowoZdarzenie Zachodzi gdy Kolejność zdarzeń Kolejność Zdarzenie Opis uwaga: CausesValidation True.
Kolejny wykład w cyklu Akademii PC Kuriera poświęconej programowaniu w Visual Basic.NET rozpoczniemy od kontynuacji opisu znaczenia i roli zdarzeń w aplikacji. Z pierwszego odcinka uważny czytelnik zapamiętał
Bardziej szczegółowoPolitechnika Poznańska Wydział Budowy Maszyn i Zarządzania
1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych
Bardziej szczegółowoProgramowanie obiektowe i zdarzeniowe
Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie
Bardziej szczegółowoLaboratorium 10 - Web Services
Laboratorium 10 - Web Services W ramach laboratorium zapoznamy się z koncepcją Web Service ów (odmiana point-to-point Web Service). W kolejnych krokach utworzony zostanie projekt, w którym wykorzystana
Bardziej szczegółowoAby nadać jej pożądaną postać należy w pliku Window1.xaml stworzyć definicję swojego stylu modyfikując ręcznie postać zapisu XAML:
Lab8 WPF Zad1 : - lista z językami i flagami + wiązanie danych z obiektu przerabiana na ComboBox - fisheye przegląd obrazków lupa (obrazki umieszczone na sztywno) - wyświetlenie galerii zdjęć zapisanej
Bardziej szczegółowoLaboratorium 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ółowoWykł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ółowoZaawansowany kurs języka Python
PyGame 18 grudnia 2015 Plan wykładu 1 Wprowadzenie Parametry wyświetlania Powierzchnie 2 Klawiatura Mysz Dżojstik 3 Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków 4 3D:
Bardziej szczegółowoPodstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Bardziej szczegółowoZdarzenia i polecenia
WPF Programowanie w środowisku Windows Wykład 10-1 Zdarzenia i polecenia Wykład 10-2 Zdarzenia Metoda obsługi zdarzenia może być do niego przypisana w kodzie C# lub w XAML
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoMultimedia 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ółowoKlawiatura komputerowa.
Klawiatura komputerowa. Zdjęcie: www.xpec.pl Klawiatura komputerowa. Klawiatura komputerowa uporządkowany zestaw klawiszy służący do ręcznego sterowania lub wprowadzania danych do komputera. Najpopularniejszym
Bardziej szczegółowoPARADYGMATY 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ółowoJarosł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ółowoInformatyka II. Laboratorium Aplikacja okienkowa
Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.
Bardziej szczegółowoPolitechnika 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ółowoAnimacja. Instrukcja wykonania animacji metodą klatek kluczowych. Autor: Bartosz Kowalczyk. Blender 2.61
Animacja Instrukcja wykonania animacji metodą klatek kluczowych Autor: Bartosz Kowalczyk Blender 2.61 Do wykonywania prostych animacji, np. ruchu, zmiany koloru, kształtu, itp. wykorzystuje się technikę
Bardziej szczegółowoKlasy 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ółowoJava: kilka brakujących szczegółów i uniwersalna nadklasa Object
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów
Bardziej szczegółowoWykł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ółowoProgramowanie 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ółowoPola i metody statyczne. Klasy zawierające pola i metody statyczne
Instrukcja laboratoryjna nr 1 Programowanie w języku C 2 (C++ poziom zaawansowany) Pola i metody statyczne. Klasy zawierające pola i metody statyczne dr inż. Kaczmarek Tomasz mgr inż. Lasota Maciej dr
Bardziej szczegółowoKLASY, INTERFEJSY, ITP
KLASY, INTERFEJSY, ITP ZAGADNIENIA: Klasy, modyfkatory dostępu, pakiety. Zmienne i metody statyczne. Klasy abstrakcyjne, dziedziczenie. Interfejsy. Komentarze i javadoc, http://th-www.if.uj.edu.pl/zfs/ciesla/
Bardziej szczegółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoPrzewodnik krok po kroku:
Przewodnik krok po kroku: Aplikacja jest rozbudowywana. Jej podstawą jest: https://msdn.microsoft.com/enus/library/ff921174(v=pandp.40).aspx Do aplikacji dodajemy nowy moduł, który posłuży nam do dodawania
Bardziej szczegółowoBudowa aplikacji w technologii.net wykład 11 Animacje
Budowa aplikacji w technologii.net wykład 11 Animacje 1/52 Wykonanie animacji w Windows Forms, MFS, Swingu, etc. opierało się na timerach i własnej funkcji rysującej: 1. Stworzenie timera, który co określoną
Bardziej szczegółowoWykład 4. Klasa List Kolejki Stosy Słowniki
Wykład 4 Klasa List Kolejki Stosy Słowniki Klasa List Poważną niedogodnością tablic jako kolekcji danych jest fakt, że muszą one mieć stały rozmiar. Programista musi wiedzieć z góry ile miejsca powinien
Bardziej szczegółowoMVVM Light Toolkit Przewodnik krok po kroku
Julita Borkowska 242817 MVVM Light Toolkit Przewodnik krok po kroku W celu lepszego zrozumienia elementów MVVM Light Toolkit przedstawionych w prezentacji, zostanie poniżej krok po kroku napisany program
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowoPrototype (prototyp) Cel: Przykład: Określenie rodzaju tworzonych obiektów poprzez wskazanie ich prototypu. Nowe instancje tworzymy kopiując prototyp.
1/14 Prototype (prototyp) Cel: Określenie rodzaju tworzonych obiektów poprzez wskazanie ich prototypu. Nowe instancje tworzymy kopiując prototyp. Przykład: Edytor 3D klient tworzy obiekty różnych kształtów
Bardziej szczegółowoProgramowanie 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ółowoTworzymy projekt File->New Project->Java Application, przy czym tym razem odznaczamy create main class
Tworzymy projekt File->New Project->Java Application, przy czym tym razem odznaczamy create main class Mamy Prawym przyciskiem na default packeges I wybieramy New JFrame. Teraz pamiętajmy o podaniu jakiejś
Bardziej szczegółowoMetody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Bardziej szczegółowoBudowa aplikacji w technologii.net wykład 05 Polecenia i zasoby
Budowa aplikacji w technologii.net wykład 05 Polecenia i zasoby 1/52 Commands polecenia Polecenie jest wyższym poziomem abstrakcji, niż zdarzenie reprezentuje zadanie, które chce wykonać użytkownik (np.
Bardziej szczegółowoZasady programowania Dokumentacja
Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika
Bardziej szczegółowoSkróty klawiaturowe w PowerPoint
Pomoc online: W oknie Pomoc: Skróty klawiaturowe w PowerPoint F1 Otwieranie okna Pomoc. ALT+F4 Zamknięcie okna Pomoc. ALT+TAB Przełączenie między oknem Pomoc i aktywnym programem. ALT+HOME Powrót do strony
Bardziej szczegółowoJę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ółowo5 AS SP.NET MVC. Walidacja danych. Zaawansowane programowanie internetowe Instrukcja nr 5
5 AS SP.NET MVC Walidacja danych 1 1. Cel zajęć Celem zajęć jest zapoznanie się z metodami walidacji danych wprowadzanych przez użytkownika oraz z tworzeniem własnych walidatorów. 2. Zadanie Proszę przebudować
Bardziej szczegółowo1.Instalacja. Przechodzimy przez kolejne okna instalatora klikacjąć Dalej. wolek.zallegro.pl
1.Instalacja Przechodzimy przez kolejne okna instalatora klikacjąć Dalej. 1 Dla instalacji jednostanowiskowej zaznaczamy aplikacje Serwera i Klienta. W przypadku, gdy pilot ma pracować z kilkoma komputerami
Bardziej szczegółowoProgramowanie 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ółowowstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek
VBA Excel Formularz Formanty Label wstawianie etykiet TextBox wstawianie pól tekstowych ComboBox wstawianie pól kombi ComboBox wstawianie pól kombi ComboBox wstawianie pól kombi OptionButton wstawianie
Bardziej szczegółowoBazy danych TERMINOLOGIA
Bazy danych TERMINOLOGIA Dane Dane są wartościami przechowywanymi w bazie danych. Dane są statyczne w tym sensie, że zachowują swój stan aż do zmodyfikowania ich ręcznie lub przez jakiś automatyczny proces.
Bardziej szczegółowoProgramowanie 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ółowoObiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.
Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody
Bardziej szczegółowoKurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Bardziej szczegółowoInformatyzacja Przedsiębiorstw
Informatyzacja Przedsiębiorstw Microsoft Dynamics NAV 2013 Development Environment C/AL Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 1 Spis treści 1 Informacje ogólne:... 3 1.1 Zmienne... 4 1.2
Bardziej szczegółowoWybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:
Interfejs w MFC 1. Tworzenie nowego projektu Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej: Następnie wybieramy opcje jak na rysunku: Następnie wybieramy
Bardziej szczegółowoLaboratorium 1 - Programowanie proceduralne i obiektowe
Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?
Bardziej szczegółowoKomputerowe systemy na rynkach finansowych. wykład 5. MQL4 - funkcje operujące na obiektach wykresu
Komputerowe systemy na rynkach finansowych wykład 5 MQL4 - funkcje operujące na obiektach wykresu ObjectCreate - funkcja tworzy nowy obiekt graficzny, określonego typu oraz nadaje mu nazwę i przyporządkowuje
Bardziej szczegółowoKlasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
Bardziej szczegółowoWykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Bardziej szczegółowo