Programownie w technologii.net wykład 6 Element Binding i Data Binding
|
|
- Franciszek Wójtowicz
- 6 lat temu
- Przeglądów:
Transkrypt
1 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. Obiektem docelowym zawsze jest jakaś własność zależnościowa, przeważnie w elemencie WPF (wiązanie danych służy głównie obsłudze interfejsu użytkownika). Obiektem źródłowym może być cokolwiek: inne kontrolki WPF, własne obiekty dowolnych klas, ich własności, kolekcje obiektów, dane XML. Klasyczne podejście polegałoby na obsłudze odpowiednich zdarzeń i ręcznym ustawianiu własności elementów (w kodzie). Wiązanie danych tworzy łącznik między interfejsem graficznym a źródłem danych, odpowiedzialny za ich pobieranie i wyświetlanie. Wiązanie danych w większości dotyczyć będzie wiązania elementów interfejsu użytkownika z danymi zaczerpniętymi z zewnętrznych źródeł.
2 2/41 Wiązanie elementów Najprostszy scenariusz mechanizmu wiązania danych. Elementem źródłowym jest własność zależnościowa pewnej kontrolki. W momencie zmiany własności obiektu źródłowego, następuje automatyczne powiadomienie i aktualizacja obiektu docelowego.
3 3/41 Nie wymaga szczególnych zabiegów u źródła: <Window...> <StackPanel> <Slider Name="fontSize" Minimum="12" Value="18" Maximum="50" TickFrequency="2" TickPlacement="TopLeft"/> <TextBlock> Tak działa Data Binding </TextBlock> </StackPanel> </Window>
4 Wiązanie definiowane jest w elemencie docelowym (zamiast podawania wartości pewnej własności) przy użyciu binding expression: <TextBlock Margin="5" FontSize="Binding Path=Value, ElementName=fontSize"> Tak działa Data Binding </TextBlock> Równoznaczny zapis: <TextBlock Margin="5"> <TextBlock.FontSize> <Binding Path="Value" ElementName="fontSize"/> </TextBlock.FontSize> Tak działa Data Binding </TextBlock> ElementName wskazujemy na źródło wiązania (skąd pobierzemy wartość) Path wskazuje, którą własność odczytamy z obiektu źródłowego i użyjemy jako wartość naszej własności. Path może być złożoną ścieżką (np. własność własności: FontFamily.Source lub indekser własności: Children[0]). Własności dołączone umieszczane są w nawiasach: (Grid.Row). 4/41
5 Błędy wiązania: Nie powodują podnoszenia wyjątków. Pojawia się jedynie informacja w Output window (w trybie debuggowania). 5/41
6 6/41 Tworzenie dowiązań w kodzie Binding binding = new Binding(); binding.source = fontsize; binding.path = new PropertyPath("Value"); binding.mode = BindingMode.TwoWay; tekst.setbinding(textblock.fontsizeproperty, binding); Usuwanie dowiązań: BindingOperations.ClearBinding(tekst, TextBlock.FontSizeProperty); BindingOperations.ClearAllBindings(tekst); Kiedy tego potrzebujemy? Dynamiczne tworzenie wiązań same wiązanie warto jednak zdefiniować jako zasób, a w kodzie tylko wywoływać SetBinding(). Usuwanie dowiązań. Tworzenie własnych kontrolek.
7 7/41 Kierunek dowiązania <Slider Name="fontSize".../> <TextBlock Name="tekst" FontSize="Binding Path=Value, ElementName=fontSize"> Tak działa Data Binding </TextBlock> <Button Click="myClick"...>Big</Button> private void Button_Click(object sender, RoutedEventArgs e) tekst.fontsize = 30;
8 8/41 Kierunek dowiązania <Slider Name="fontSize".../> <TextBlock Name="tekst" FontSize="Binding Path=Value, ElementName=fontSize"> Tak działa Data Binding </TextBlock> <Button Click="myClick"...>Big</Button> private void Button_Click(object sender, RoutedEventArgs e) tekst.fontsize = 30;
9 9/41 Kierunek dowiązania <Slider Name="fontSize".../> <TextBlock Name="tekst" FontSize="Binding Path=Value, ElementName=fontSize"> Tak działa Data Binding </TextBlock> <Button Click="myClick"...>Big</Button> private void Button_Click(object sender, RoutedEventArgs e) tekst.fontsize = 30;
10 10/41 Kierunek dowiązania Element docelowy zawsze aktualizowany jest automatyczne, niezależnie od tego, jak zmieni się źródło. Aktualizacja źródła w wyniku zmiany elementu docelowego jest zależna od wybranego trybu wiązania (własność Binding.Mode). System.Windows.Data.BindingMode OneWay aktualizowany jest wyłącznie cel, w wyniku zmiany źródła. TwoWay aktualizacja obustronna cel, gdy zmienia się źródło i źródło, gdy zmienia się cel. OneTime własność docelowa zostaje jednorazowo ustawiona na wartość z własności źródłowej, potem zmiany są ignorowane. OneWayToSource jak OneWay, ale w przeciwnym kierunku: źródło jest aktualizowane w wyniku zmian celu. Default domyślny tryb zależy od rodzaju kontrolki i własności, własności modyfikowane przez użytkownika w kontrolkach edycyjnych (np. Text w TextBox) mają domyślnie TwoWay, pozostałe OneWay. Zależy od ustawienia flagi FrameworkPropertyMetadata.BindsTwoWayByDefault.
11 11/41 Kierunek dowiązania <Slider Name="fontSize".../> <TextBlock Name="tekst" FontSize="Binding Path=Value, ElementName=fontSize, Mode=TwoWay"> Tak działa Data Binding </TextBlock> <Button Click="myClick"...>Big</Button> private void Button_Click(object sender, RoutedEventArgs e) tekst.fontsize = 30;
12 12/41 Wiązanie OneWayToSource Działa tak samo, jak OneWay. Jedyna różnica polega na tym, gdzie umieszczone jest wiązanie: jest to zamiana źródła z celem. <Slider Name="fontSize" Minimum="12"... Value="Binding Path=FontSize, ElementName=tekst, Mode=OneWayToSource" /> <TextBlock Name="tekst" FontSize="18"> Tak działa Data Binding </TextBlock> Zastosowanie: gdy chcemy ustawić własność nie będącą własnością zależnościową.
13 Wielokrotne dowiązania <Slider Name="fontSize" Minimum="12" Value="18" Maximum="50" TickFrequency="2" TickPlacement="TopLeft"/> <TextBlock Name="tekst" FontSize="Binding Path=Value, ElementName=fontSize"> Tak działa Data Binding </TextBlock> <TextBox Text="Binding Path=Value, ElementName=fontSize"/> <Button Click="Button_Click">Big</Button> warto ustawić dla Slidera: IsSnapToTickEnabled="True" aktualizacja wartości następuje dopiero, gdy pole tekstowe utraci fokus 13/41
14 Inne rozwiązanie (z identycznym efektem): <Slider Name="fontSize" Minimum="12" Value="18" Maximum="50" TickFrequency="2" TickPlacement="TopLeft"/> <TextBlock Name="tekst" FontSize="Binding Path=Value, ElementName=fontSize"> Tak działa Data Binding </TextBlock> <TextBox Text="Binding Path=FontSize, ElementName=tekst"/> Inne rozwiązanie (tym razem zmiana czcionki jest wprowadzana natychmiastowo): <Slider Name="fontSize" Minimum="12" Value="Binding Path=Text, ElementName=pole" Maximum="50" TickFrequency="2" TickPlacement="TopLeft"/> <TextBlock Name="tekst" FontSize="Binding Path=Value, ElementName=fontSize"> Tak działa Data Binding </TextBlock> <TextBox Name="pole" Text="18"/> Oba dowiązania (w TextBoksie i Sliderze) mogą istnieć jednocześnie. 14/41
15 15/41 Wielokrotne dowiązania <Slider Name="fontSize".../> <TextBox Name="pole"... /> <ComboBox Name="kolory"...> <ComboBoxItem Content="Red" /> <ComboBoxItem Content="Green" /> <ComboBoxItem Content="Blue" /> </ComboBox> <TextBlock Text="Binding Path=Text, ElementName=pole" FontSize="Binding Path=Value, ElementName=fontSize" Foreground="Binding Path=SelectedItem.Content, ElementName=kolory"> </TextBlock>
16 16/41 Aktualizacja dowiązań Wartości ze źródła do celu są przesyłane natychmiast. Dla odwrotnego kierunku (przy TwoWay lub OneWayToSource) zależy to od ustawienia Binding.UpdateSourceTrigger. PropertyChanged źródło jest aktualizowane natychmiast, gdy własność docelowa się zmieni LostFocus źródło jest aktualizowane, gdy docelowa własność się zmieni, a cel straci focusa (używane np. w kontrolce tekstowej, gdzie zawartość zmienia się często i ciągła aktualizacja mogłaby powodować problemy) Explicit źródło nie jest uaktualniane dopóki nie wymusimy aktualizacji wywołując metodę BindingExpression.UpdateSource() BindingExpression binding = poletxt.getbindingexpression(textbox.textproperty); binding.updatesource(); Default dla większości własności jest to PropertyChanged, ale np. TextBox.Text ma LostFocus; zależy to od ustawienia FrameworkPropertyMetadata.DefaultUpdateSourceTrigger Powyższe ustawienia nie mają wpływu na sposób aktualizacji własności docelowej.
17 17/41 Aktualizacja dowiązań <TextBox Text="Binding Path=Text, ElementName=poleB" /> <TextBox Name="poleB" /> Aktualizacja drugiego pola gdy wpiszemy coś w pierwszym dopiero po utracie focusa przez pierwsze Aktualizacja pierwszego pola gdy wpiszemy coś w drugim natychmiastowa Aktualizacja natychmiastowa: <TextBox Text="Binding Path=Text, ElementName=poleB, UpdateSourceTrigger=PropertyChanged" /> <TextBox Name="poleB" />
18 18/41 Wiązanie do obiektów, które nie są elementami WPF umożliwia dowiązywanie własności obiektów, które nie są elementami wizualnymi. Jedyny wymóg, to że muszą być to publiczne własności Zamiast Binding.ElementName należy użyć: Source referencja wskazująca na obiekt dostarczający dane RelativeSource wskazuje na obiekt źródłowy w odniesieniu do aktualnego elementu; użyteczne przy pisaniu szablonów kontrolek i szablonów danych DataContext jeśli nie wybierzemy żadnego z powyższych, WPF będzie tu poszukiwał obiektu danych, idąc w górę drzewa elementów; DataContext pozwala wiązać wiele własności tego samego obiektu do różnych elementów
19 19/41 Source Należy dostarczyć obiekt, z którego chcemy zaczerpnąć dane. Może być to obiekt dowolnej klasy. public class Osoba public string Imie get; set; public string Nazwisko get; set; public Osoba() public Osoba(string imie, string nazwisko) Imie = imie; Nazwisko = nazwisko;
20 20/41 Source Z zasobów: <Window... xmlns:app="clr-namespace:wpfapp6"> <Window.Resources> <app:osoba x:key="osoba" Imie="Adam"/> </Window.Resources> <StackPanel> <TextBlock Text="Binding Path=Imie, Source=StaticResource osoba"/> </StackPanel> </Window>
21 21/41 Source Jako składowa statyczna: public partial class Window1 : Window public static Osoba jeden = new Osoba("Mikołaj", "Rej"); <Window... xmlns:app="clr-namespace:wpfapp6"> <StackPanel> <TextBlock Text="Binding Path=Imie, Source=x:Static app:window1.jeden"/> </StackPanel> </Window>
22 22/41 RelativeSource Wskazuje na obiekt źródłowy, bazując na jego relacji z obiektem docelowym. Self dowiązanie do innej własności tego samego elementu <TextBlock Text="Binding Path=FontFamily, RelativeSource=RelativeSource Self"/> FindAncestor dowiązanie do elementu nadrzędnego; poszukiwany jest element typu podanego jako AncestorType <TextBlock Text="Binding Path=Title, RelativeSource=RelativeSource FindAncestor, AncestorType=x:Type Window"/> PreviousData dowiązanie do poprzedniego elementu listy TemplatedParent dowiązanie do elementu, dla którego zastosowano szablon RelativeSource jest zwłaszcza przydatne w szablonach danych i szablonach kontrolek.
23 23/41 RelativeSource Można wykorzystać, aby sięgnąć do obiektów przechowywanych w oknie: public partial class Window1 : Window private Osoba user = new Osoba("Jan", "Kowalski"); public Osoba User get return user; <TextBlock Text="Binding Path=User.Imie, RelativeSource=RelativeSource FindAncestor, AncestorType=x:Type Window"/>
24 24/41 DataContext Często konieczne jest wiązanie wielu elementów do tego samego źródła danych. <Window...> <Window.Resources> <app:osoba x:key="person" Imie="Jan" Nazwisko="Kowalski"/> </Window.Resources> <Grid>... <TextBox Text="Binding Path=Imie, Source=StaticResource person" /> <TextBox Text="Binding Path=Nazwisko, Source=StaticResource person"/> </Grid> </Window>
25 25/41 DataContext Dobre rozwiązanie to: obiekt źródłowy zdefiniować raz, w elemencie nadrzędnym <Window...> <Window.Resources> <app:osoba x:key="person" Imie="Jan" Nazwisko="Kowalski"/> </Window.Resources> <Grid DataContext="StaticResource person">... <TextBox Text="Binding Path=Imie" /> <TextBox Text="Binding Path=Nazwisko"/> </Grid> </Window>
26 26/41 Data Binding Klasa produktu służy jedynie reprezentowaniu danych wydobytych z bazy. Dostęp jedynie przy pomocy publicznych własności. Jeśli planujemy wiązanie dwukierunkowe, własności nie mogą być read-only. public class Product public string Name get; set; public decimal Price get; set; public string Opis get; set; public Product() public Product(string name, decimal price) Name = name; Price = price;
27 27/41 Data Binding Kod komunikujący się z bazą powinien być zawarty w osobnej klasie. public class MyDB private static List<Product> list = new List<Product>(); static MyDB() list.add(new Product("book", 20)); list.add(new Product("cd", 10)); list.add(new Product("dvd", 40)); list.add(new Product("pen", 2)); public Product GetProduct(int ID) return list[id % list.count];
28 28/41 Data Binding Dostęp do obiektu bazy możemy uzyskiwać: tworząc go za każdym razem, gdy tego potrzebujemy dostęp przez statyczne składowe (optymalny) przez statyczną składową innej klasy public partial class App : Application private static MyDB mydb = new MyDB(); public static MyDB MyDB get return mydb;
29 29/41 Data Binding <Window...> <Grid>... <TextBox... Name="ID"/> <Button... Click="GetDataClick">Get Data</Button> <Grid... Name="details">... <TextBox Text="Binding Path=Name"/> <TextBox Text="Binding Path=Price"/> <TextBox Text="Binding Path=Opis"/> </Grid> </Grid> </Window>
30 30/41 Data Binding private void GetDataClick(object sender, RoutedEventArgs e) int id; if (Int32.TryParse(ID.Text, out id)) try details.datacontext = App.MyDB.GetProduct(id); catch MessageBox.Show("Error contacting database."); else MessageBox.Show("Invalid ID.");
31 Data Binding 31/41
32 32/41 Data Binding Pola o zawartości null: typy referencyjne (stringi, obiekty) obsługują null automatycznie typy proste można deklarować w wersji int? zamiast int public class Values public int? X get; set; public int Y get; set; Domyślna reakcja to brak zawartości w polu. (podczas gdy dla pola int byłoby to 0) Można to nadpisać (nawias kwadratowy to tylko ozdobnik): <TextBox Text="Binding Path=Opis, TargetNullValue=[brak danych]"/>
33 33/41 Data Binding Aktualizacja danych: obiekty z listy są modyfikowane automatyczne w momencie utraty focusa przez odpowiednie pola tekstowe, samodzielnie powinniśmy jedynie zadbać o zapisanie zmian do bazy, dobrze jest dodać w tym celu przycisk potwierdzający zmianę: private void UpdateButtonClick(object sender,...) Product product = (Product)details.DataContext; try App.MyDB.UpdateProduct(product); catch MessageBox.Show("Error contacting database."); Uwaga: jeśli zatwierdzono Enterem (przycisk typu IsDefault), nie nastąpiła zmiana focusa musimy albo wymusić ją sami, albo ręcznie wywołać UpdateSource.
34 34/41 Data Binding Powiadomienia o zmianach: jeśli dowiązany obiekt zmieni się (np. jakiś zewnętrzny czynnik lub inny fragment kodu zmieni wartości składowych), należy powiadomić interfejs, aby miał okazję pobrać i wyświetlić nowe wartości. własności zależnościowe same informują o swoich zmianach, w wypadku data objects najlepiej jest zaimplementować interfejs System.ComponentModel.INotifyPropertyChanged i podnosić zdarzenie PropertyChanged, gdy któraś własność się zmieni. public class Wybór : INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged; public void OnPropertyChanged(string property) if (PropertyChanged!= null) PropertyChanged(this, new PropertyChangedEventArgs(property));...
35 Zmiana jednej własności pociąga za sobą drugą i od razu jest to odzwierciedlane w interfejsie użytkownika. public class Wybór : INotifyPropertyChanged... private int x; private int y; public int X get return x; set x = value; y = x; OnPropertyChanged("Y"); public int Y get return y; set y = value; x = y; OnPropertyChanged("X"); Możemy też przekazać pusty string, jeśli zmieniło się kilka własności obiektu (odświeża wszystkie). 35/41
36 36/41 Wiązanie z kolekcją obiektów Kolekcja wymaga kontrolki typu ListBox, ComboBox, ListView, Data Grid (a także Menu lub TreeView dla danych hierarchicznych). Dzięki szablonom danych, kontrolki list dają dużą kontrolę nad sposobem prezentacji danych. Własności ItemsControl odpowiedzialne za wiązanie z danymi: ItemsSource wskazanie na kolekcję obiektów do wyświetlenia DisplayMemberPath własność, która będzie użyta do stworzenia tekstu wyświetlanego na liście ItemTemplate określa szablon użyty do stworzenia wyglądu elementu Kolekcja wyświetlana w liście powinna implementować IEnumerable
37 Wiązanie z kolekcją obiektów public class MyDB public List<Product> GetProducts()... List<Product> products = new List<Product>(); try... while (...) Product product = new Product(...); products.add(product); finally... return products; 37/41
38 38/41 Wiązanie z kolekcją obiektów Po naciśnięciu przycisku Wczytaj dane metoda GetProducts() pobiera z bazy i zwraca całą listę obiektów. <Button Click="GetProductsClick">Wczytaj dane</button> <ListBox Margin="5" Name="lista" DisplayMemberPath="Name"/>
39 39/41 Wiązanie z kolekcją obiektów Po naciśnięciu przycisku Wczytaj dane metoda GetProducts() pobiera z bazy i zwraca całą listę obiektów. private void GetProductsClick(object sender,...) products = App.MyDB.GetProducts(); lista.itemssource = products; Zamiast ustawiać DisplayMemberPath, możemy napisać ToString() w klasie produktu lub dostarczyć szablon danych. public class Product public override string ToString() return Name + " (" + Price + ")";
40 40/41 Wiązanie z kolekcją obiektów Ostatnie zadanie, to wyświetlać szczegóły produktu wybranego na liście. Zamiast reagować na zdarzenie SelectionChanged, lepiej zdefiniować odpowiednie wiązanie elementów: <Grid Name="details" DataContext="Binding ElementName=lista, Path=SelectedItem">... </Grid> W podobny sposób można tworzyć złożone listy kategorii: jedna lista kategorii druga lista produktów należących do tej kategorii następnie szczegóły danego produktu Pozostaje jeszcze tylko zapisanie danych dobrym pomysłem jest zmusić użytkownika do użycia przycisku Zapisz - np. wyszarzyć listę, gdy wprowadzi on zmiany w polach tekstowych i dać do dyspozycji przyciski OK i Anuluj.
41 Usuwanie obiektów z kolekcji Wykorzystanie standardowej listy jako kolekcji elementów nie pozwoli na odzwierciedlenie usuwania i dodawania obiektów: private void DeleteProductClick(object sender,...) products.remove((product)lista.selecteditem); Obiekt zostaje usunięty z kolekcji, ale nadal jest widoczny na liście. Wymagane jest skorzystanie z kolekcji implementującej interfejs INotifyCollectionChanged. Implementuje go klasa ObservableCollection. public class MyDB public List<Product> GetProducts() products = new ObservableCollection<Product>();... return products; 41/41
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ół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ół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ółowoInstrukcja 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ół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 7 konwersja, walidacja, szablony, widoki
Budowa aplikacji w technologii.net wykład 7 konwersja, walidacja, szablony, widoki 1/85 ...
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ół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ół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ół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ół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ół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ółowoPlatforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact
Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013 Prowadzący: mgr inż. Tomasz Jaworski Strona WWW: http://tjaworski.kis.p.lodz.pl/ Visual Basic.NET dostęp do bazy danych Baza Microsoft SQL Server Compact
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ółowoakademia androida Składowanie danych część VI
akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.
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ółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
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ół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ółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
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ół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ół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ółowoASP.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ół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ółowoWprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o
Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa
Bardziej szczegółowoPHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Bardziej szczegółowoProgramowanie w środowisku graficznym GUI
Programowanie w środowisku graficznym GUI 1. Wprowadzenie Język C# jest stworzony do szybkiego tworzenia aplikacji przy pomocy zintegrowanego środowiska programistycznego IDE (ang. Itegrated Development
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ół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ół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 WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i
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ół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ółowoBudowa 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ół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ół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ółowoProgramowanie obiektowe
Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie
Bardziej szczegółowoTEMAT : 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ółowoUML a kod. C++, Java i C#
UML a kod C++, Java i C# UML a kod w C++ i Javie Projektowanie oprogramowania! Dokumentowanie oprogramowania Diagramy przypadków użycia Klasy użytkowników i wykorzystywane funkcje Mogą sugerować podział
Bardziej szczegółowoProgramowanie 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ół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ółowoLeszek Stasiak Zastosowanie technologii LINQ w
Leszek Stasiak Zastosowanie technologii LINQ w C# 1. Wstęp - połączenie Do naszych zadań będziemy używać Microsoft Visual Studio 2010. Stwórzmy nowy projekt Windows Form Application. Mając do dyspozycji
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ół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ółowoInformatyzacja Przedsiębiorstw
Informatyzacja Przedsiębiorstw Microsoft Dynamics NAV 2016 Development Environment C/AL Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 1 Plan zajęć 1 Informacje ogólne dotyczące środowiska deweloperskiego
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ół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ółowoLaboratorium 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ółowoDb4o obiektowa baza danych wersja.net
Wstęp Db4o obiektowa baza danych wersja.net Db4o (database for objects) to obiektowa baza danych na platformę Java i.net. Pełna wersja bazy db4o jest dostępna na dwóch licencjach: open source: pozwala
Bardziej szczegółowo1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie
Bardziej szczegółowoBuilder (budowniczy) Cel: Przykład:
1/8 Builder (budowniczy) Cel: Oddzielenie konstruowania złożonego obiektu od jego reprezentacji, tak aby ten sam proces konstrukcji mógł tworzyć różne reprezentacje. Przykład: 2/8 abstract class TableBuilder
Bardziej szczegółowoAplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Bardziej szczegółowoC++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU
Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale
Bardziej szczegółowoFragmenty są wspierane od Androida 1.6
W androidzie można tworzyć dynamiczne interfejsy poprzez łączenie w moduły komponentów UI z aktywnościami. Moduły takie tworzy się za pomocą klasy Fragment, która zachowuje się jak zagnieżdżone aktywności
Bardziej szczegółowoProgramowanie telefonów z Windows Phone 7, cz. 4
Programowanie telefonów z Windows Phone 7, cz. 4 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój
Bardziej szczegółowoInformatyka 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ółowoKlasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Bardziej szczegółowoInstrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania
Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:
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ół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ół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ółowoĆwiczenie 1. Kolejki IBM Message Queue (MQ)
Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając
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ółowoTechniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja
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ółowoProgramowanie 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ółowoWykład 12. Programowanie serwera MS SQL 2005 w C#
Wykład 12 Programowanie serwera MS SQL 2005 w C# Budowa procedur składowanych w C# Budowa funkcji składowanych w C# Wykorzystanie funkcji składowanych w C# po stronie klienta Tworzenie typów definiowanych
Bardziej szczegółowoProgramowanie telefonów z Windows Phone 7, cz. 2
Programowanie telefonów z Windows Phone 7, cz. 2 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój
Bardziej szczegółowoInstrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy
Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Spis treści: 1 WSTĘP... 3 2 DOSTĘP DO SYSTEMU... 3 3 OPIS OGÓLNY SEKCJI TŁUMACZENIA...
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ółowoJava Podstawy. Michał Bereta
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
Bardziej szczegółowoDiagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com
Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,
Bardziej szczegółowoRys. 3. Kod elementów na stronie po dodaniu kontrolek podstawowych.
1 2 Kontrolki standardowe WP7 Michał Ręczkowicz, Opublikowano: 2012-02-08 http://msdn.microsoft.com/pl-pl/library/rozpoczecie-pracy-z-windows-phone--kontrolki-standardowe W tym samouczku dowiesz się, jakie
Bardziej szczegółowoSpis treści. 1. Logowanie. 2. Strona startowa. 3. Moje dane. 4. Towary. 5. Zamówienia. 6. Promocje
INSTRUKCJA OBSŁUGI Spis treści 1. Logowanie 2. Strona startowa 3. Moje dane 4. Towary 5. Zamówienia 6. Promocje 1. Logowanie Logowanie do Internetowego Systemu Sprzedaży odbywa się na stronie www.partner-parts.pl/izam
Bardziej szczegółowoWprowadzenie 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ół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ół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 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
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ółowoInformatyka 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ół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ółowoKlasy 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ół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ółowoZdarzenia Klasa Application Powiadomienia Toast AlertDialog
Android Wykład 3 1 Zdarzenia Klasa Application Powiadomienia Toast AlertDialog 2 Zdarzenia UI (UI Events) zapewniają programowi interakcje z użytkownikiem. Obiekty określają wzajemne oddziaływania z resztą
Bardziej szczegółowoWprowadzenie do Doctrine ORM
Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,
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ółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
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ół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ółowoBaza 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ółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoWykład 3 Składnia języka C# (cz. 2)
Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest
Bardziej szczegółowoRozdział 1. Przegląd bramofonu SAFE
Spis treści INSTRUKCJA OBSŁUGI SPIS TREŚCI ROZDZIAŁ 1. PRZEGLĄD BRAMOFONU SAFE... 2 1.1 OPIS... 2 1.2. FUNKCJE... 2 1.3. WYMAGANIA SYSTEMOWE... 2 1.4. ROZPOCZĘCIE UŻYTKOWANIA... 3 ROZDZIAŁ2. DZIAŁANIE
Bardziej szczegółowoFormatowanie tekstu za pomocą zdefiniowanych stylów. Włączanie okna stylów. 1. zaznaczyć tekst, który chcemy formatować
Style Bardzo często w edytorze podczas pisania tekstu zachodzi potrzeba wielokrotnego powtórzenia czynności związanych z formatowaniem. Aby zapobiec stałemu otwieraniu okien dialogowych i wybierania stale
Bardziej szczegółowoWykład 8: Obsługa Wyjątków
Wykład 8: Obsługa Wyjątków Wyjątki Wyjątek to sytuacja nienormalna, która pojawia się w trakcie wykonania programu. W językach bez obsługi wyjątków, błędy są wykrywane i obsługiwane ręcznie, zwykle przez
Bardziej szczegółowoPlatformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt
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ółowo