Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych
|
|
- Amalia Niewiadomska
- 6 lat temu
- Przeglądów:
Transkrypt
1 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 dla platformy.net (pod patronatem Microsoft) Cykl życia aplikacji. Wybór momentu zapisania stanu W przypadku aplikacji na ekran Start w systemie Windows 8 (aplikacje Modern UI) podlegają zarządzaniu, jaki znamy z systemów mobilnych. To nie użytkownik, a system decyduje kiedy powinny zostać zamknięte (w tym sensie nasz przycisk Zamknij, który dodaliśmy do aplikacji odbiega od standardów). System może również wstrzymać aplikację, jeżeli nie jest widoczna na ekranie, a użytkownik otwiera nowe aplikacje lub komputer przechodzi w stan niższego poboru energii. Wstrzymana aplikacja nadal znajduje się w pamięci, więc jej wznowienie jest szybkie. Dzięki przeniesieniu konroli nad cyklem życia aplikacji z rąk użytkownika do systemu, ten może sprawniej zarządzać pamięcią i użyciem procesora. Schemat cyklu życia aplikacji Modern UI widoczny jest na rysunku 3.1. Rysunek 3.1. Cykl życia aplikacji Modern UI (tłumaczenie rysunku z MSDN) (zob. Wstrzymanie i wznowienie aplikacji zasadniczo nie wymaga od programisty żadnych działań. Problemem jest natomiast możliwość zamknięcia aplikacji. Aby nie traciła ona swojego stanu, programista powinien zadbać, aby aplikacja potrafiła przechować ustawienia i zawartość kontrolek, lub jeszcze lepiej stan modelu (dane), na bazie którego tworzony jest widoczny w interfejsie widok (stan kontrolek). W naszej aplikacji będą to cztery liczby odpowiadające składowym R, G, B i A koloru lub po prostu obiekt typu Color. Co ciekawe zamykana aplikacja (bez względu na to, czy użyjemy dodanego przez nas przycisku, kombinacji klawiszy Alt+F4, czy gestu zamykającego aplikację), zostanie ona wpierw wstrzymana na 10 sekund, a dopiero potem zamknięta. Aplikacja nie jest powiadamiana o zamknięciu, a jedynie o wstrzymaniu. Zatem już wtedy powinna zadbać o zachowanie swojego stanu. I ma na to tylko 5 sekund.
2 Tyle teorii. W praktyce również zdarzenie towarzyszące wstrzymaniu aplikacji nie jest dobrym miejscem na zapisywanie danych. Raz, że czas od wstrzymania aplikacji do jej zamknięcia jest krótki, a dwa nie ma gwarancji, że metoda App.onSuspending zostanie w ogóle wywołana. Dlatego warto ważne dane zapisać już wcześniej. Można do tego wykorzystać np. zdarzenie VisibilityChanged okna wówczas dane zostaną zapisane w momencie, gdy okno aplikacji znika lub pojawia się z ekranu. Wiemy zatem kiedy mamy zapisywać dane. Odczytywać będziemy je przy tworzeniu strony, aby stan aplikacji był odtwarzany nie tylko w razie wstrzymania, ale również po zamknięciu w kolejnej instancji. Pozostaje zatem ustalić gdzie mają być zapisywane dane, i co tak właściwie mamy przechowywać. Na ostatnie pytanie najłatwiej odpowiedzieć stan naszej aplikacji określa kolor prostokąta. Od tego koloru, a konkretnie od jego składowych R, G, B i A zależą również pozycje suwaków. Do przechowywania danych użyjemy natomiast mechanizmu ustawień lokalnych. Implementuje go klasa Windows.Storage.ApplicationData.Current.LocalSettings typu ApplicationDataContainer. Pozwala on na przechowywanie danych w spersonalizowanym folderze danych aplikacji, podobnie jak to ma miejsce w przypadku mechanizmu ustawień z aplikacji desktopowych Windows Forms i WPF. W przypadku tego projektu Visual Studio stworzyło plik binarny Settings.dat w katalogu c:\users\jacek_000\appdata\local\packages\ e-db68-477e-a c15e25923_n88mjzycwkygy\settings. Oprócz ustawień lokalnych (tj. ograniczonych do tego jednego komputera), aplikacja może również przechowywać ustawienia wspólne dla tej aplikacji i tego użytkownika na wielu komputerach (katalog Windows.Storage.ApplicationData.Current.RoamingSettings). Dane są wówczas przechowywane w chmurze. Więcej o tym w następnym rozdziale. **** Przekazywanie ustawień nie zawsze działa. Przygotujmy klasę statyczną Ustawienia, która w oparciu o ustawienia lokalne pozwoli na przechowanie i odtworzenie stanu aplikacji (koloru). Pokazuje ją listing 3.1. Zwróćmy uwagę, że przechowywanie danych polega na zapisywaniu ich do kolekcji Values nie ma w tym zatem niczego skomplikowanego. Listing 3.1. Klasa ustawień. Może być zdefiniowana gdziekolwiek, nawet jako klasa zagnieżdżona klasy Kolory.MainPage, ale ja umieściłem ją w osobnym pliku Ustawienia.cs. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Color = Windows.UI.Color; namespace Kolory static class Ustawienia private static Windows.Storage.ApplicationDataContainer ustawienia = Windows.Storage.ApplicationData.Current.LocalSettings; public static bool CzyObecne() return ustawienia.values.keys.contains("kolor_r") && ustawienia.values.keys.contains("kolor_g") && ustawienia.values.keys.contains("kolor_b") && ustawienia.values.keys.contains("kolor_a");
3 public static Color Czytaj() Color kolor; kolor.r = (byte)ustawienia.values["kolor_r"]; kolor.g = (byte)ustawienia.values["kolor_g"]; kolor.b = (byte)ustawienia.values["kolor_b"]; kolor.a = (byte)ustawienia.values["kolor_a"]; return kolor; public static void Zapisz(Color kolor) ustawienia.values["kolor_r"] = kolor.r; ustawienia.values["kolor_g"] = kolor.g; ustawienia.values["kolor_b"] = kolor.b; ustawienia.values["kolor_a"] = kolor.a; public static void Usun() ustawienia.values.remove("kolor_r"); ustawienia.values.remove("kolor_g"); ustawienia.values.remove("kolor_b"); ustawienia.values.remove("kolor_a"); Wywołajmy metodę Czytaj w konstruktorze klasy MainPage, a Zapisz w metodzie związanej ze zdarzeniem zmiany widoczności okna. Wiązanie metody ze zdarzeniem umieściliśmy również w konstruktorze klasy MainPage. Listing 3.2 pokazuje zarówno konstruktor, jak i metodę zdarzeniową. W efekcie aplikacja po ponownym uruchomieniu będzie znajdowała się w stanie, w jakim ją opuścimy. Listing 3.2. Odtwarzanie stanu aplikacji using Color = Windows.UI.Color; namespace Kolory /// <summary> /// An empty page that can be used on its own or navigated to within a Frame. /// </summary> public sealed partial class MainPage : Page private bool inicjacjazakonczona = false; public MainPage() this.initializecomponent();
4 if (Ustawienia.CzyObecne()) KolorProstokąta = Ustawienia.Czytaj(); Color kolor = KolorProstokąta; SliderR.Value = kolor.r; SliderG.Value = kolor.g; SliderB.Value = kolor.b; SliderA.Value = kolor.a; TextBlock1.Text = SkładoweKoloruDec(kolor) + "\n"; TextBlock1.Text += "HEX: " + SkładoweKoloruHex(kolor); Window.Current.VisibilityChanged += Current_VisibilityChanged; inicjacjazakonczona = true; void Current_VisibilityChanged(object sender, Windows.UI.Core.VisibilityChangedEventArgs e) if (!e.visible) Ustawienia.Zapisz(KolorProstokąta); O zapisaniu danych należy również pamiętać po kliknięciu przycisku, przed wywołaniem metody App.Current.Exit (listing 3.3). Listing 3.3. Zapisywanie ustawień przed wymuszeniem zamknięcia aplikacji private void Button_Click_1(object sender, RoutedEventArgs e) Ustawienia.Zapisz(KolorProstokąta); App.Current.Exit(); Model Możemy pójść o krok dalej. Do klasy Ustawienia dodajmy statyczną składową przechowujące aktualną wartość koloru ustalonego za pomocą suwaków i prezentowanego w prostokącie. W ten sposób klasa ta stworzy w pełni funkcjonalną warstwę danych. 1. Zacznijmy od dodania do klasy Ustawienia prywatnego pola kolor i udostępniającej go własności Kolor (listing 3.4). Pole będzie typu Nullable<Color> (co w skrócie można zapisać jako Color?) i zainicjowane wartością null świadczącą o tym, że jego wartość nie została jeszcze odczytana z ustawień. W sekcji get własności, której kod wykonywany jest w momencie odczytywania wartości własności, sprawdzamy czy wartość została już odczytana z ustawień i jeżeli nie, to to robimy. W ten sposób wartość zostanie zainicjowana automatycznie przy pierwszym odczytaniu. Listing 3.4. Przekształcania klasy pomocniczej służącej do przechowywania ustawień w model tworzący warstwę danych aplikacji static class Ustawienia private static Windows.Storage.ApplicationDataContainer ustawienia = Windows.Storage.ApplicationData.Current.LocalSettings; private static Color kolordomyslny = Color.FromArgb(255,0,100,0);
5 private static Color? kolor = null; public static Color Kolor get if (!kolor.hasvalue) if (CzyObecne()) Czytaj(); else kolor=kolordomyslny; return kolor.value; set kolor = value; Przy takim scenariuszu metody CzyObecne i Czytaj mogą zostać ukryte (ich modyfikator ustawiamy na private). Ponadto metoda Czytaj wymaga dodatkowym modyfikacji. Zamiast zwracać kolor będzie modyfikować stan ustawień (listing 3.5). Listing 3.5. Upraszczanie interfejsu klasy Ustawienia private static void Czytaj() Color kolor; kolor.r = (byte)ustawienia.values["kolor_r"]; kolor.g = (byte)ustawienia.values["kolor_g"]; kolor.b = (byte)ustawienia.values["kolor_b"]; kolor.a = (byte)ustawienia.values["kolor_a"]; Ustawienia.kolor = kolor; 3. Zmieniamy również metodę Zapisz tak, aby do ustawień przesyłana była wartość z pola kolor (w tej wersji metoda pozbawiona jest argumentu, zob. listing 3.6). Listing 3.6. Drobne modyfikacje w metodzie Zapisz public static void Zapisz() if (kolor.hasvalue) ustawienia.values["kolor_r"] = kolor.value.r; ustawienia.values["kolor_g"] = kolor.value.g; ustawienia.values["kolor_b"] = kolor.value.b; ustawienia.values["kolor_a"] = kolor.value.a;
6 4. Możemy teraz przejść do kodu klasy MainPage. Zmodyfikujmy konstruktor zgodnie ze wzorem z listingu 3.7. Listing 3.7. Zmiany w klasie strony public MainPage() this.initializecomponent(); if (Ustawienia.CzyObecne()) KolorProstokąta = Ustawienia.Kolor; Color kolor = KolorProstokąta; SliderR.Value = Ustawienia.Kolor.R; SliderG.Value = Ustawienia.Kolor.G; SliderB.Value = Ustawienia.Kolor.B; SliderA.Value = Ustawienia.Kolor.A; TextBlock1.Text = SkładoweKoloruDec(Ustawienia.Kolor) + "\n"; TextBlock1.Text += "HEX: " + SkładoweKoloruHex(Ustawienia.Kolor); Window.Current.VisibilityChanged += Current_VisibilityChanged; inicjacjazakonczona = true; void Current_VisibilityChanged(object sender, Windows.UI.Core.VisibilityChangedEventArgs e) if (!e.visible) Ustawienia.Zapisz(KolorProstokąta);... private void Button_Click_1(object sender, RoutedEventArgs e) Ustawienia.Zapisz(KolorProstokąta); App.Current.Exit(); 5. No i na koniec zmodyfikujmy metodę zdarzeniową związaną ze zmianą wartości suwaków zgodnie ze wzorem z listingu 3.8. Listing 3.8. Synchronizacja koloru prostokąta i stanu modelu private void Sliders_ValueChanged(object sender, RangeBaseValueChangedEventArgs e) if (!inicjacjazakonczona) return; Ustawienia.Kolor = new Color() R = (byte)sliderr.value, G = (byte)sliderg.value, B = (byte)sliderb.value, A = (byte)slidera.value
7 ; KolorProstokąta = Ustawienia.Kolor; TextBlock1.Text = SkładoweKoloruDec(Ustawienia.Kolor) + "\n"; TextBlock1.Text += "HEX: " + SkładoweKoloruHex(Ustawienia.Kolor); Uwaga! O ile użycie pola czyzainicjowane było wcześniej podyktowane tak naprawdę tylko względami estetycznymi, to teraz jest ono konieczne do prawidłowego działania aplikacji. Bez tego Ustawienia.Kolory byłyby niewłaściwie zmieniane przed właściwym uruchomieniem programu.
- 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
Programowanie 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
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
Programowanie 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
Prosta książka telefoniczna z wykorzystaniem zapisu do pliku
Prosta książka telefoniczna z wykorzystaniem zapisu do pliku Celem zajęć będzie napisanie prostego programu okienkowego, którego zadaniem będzie zapisywanie imienia, nazwiska, adresu-email oraz numeru
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,
msgbox("akcja: Początek, argument: " + argument.tostring()); Thread.Sleep(1000); //opóźnienie msgbox("akcja: Koniec"); return DateTime.Now.
Programowanie asynchroniczne. Operator await i modyfikator async Język C# 5.0 wyposażony został w nowy operator await, ułatwiający synchronizację dodatkowych zadań uruchomionych przez użytkownika. Poniżej
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
5.2. Pierwsze kroki z bazami danych
5.2. Pierwsze kroki z bazami danych Uruchamianie programu Podobnie jak inne programy, OO Base uruchamiamy z Menu Start, poprzez zakładkę Wszystkie programy, gdzie znajduje się folder OpenOffice.org 2.2,
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
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
Wykł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
KLASA 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
Rozdział 2. Pierwsza aplikacja Windows Store.
Rozdział 2. Pierwsza aplikacja Windows Store. Jacek Matulewski Materiały dla Podyplomowego Studium Programowania i Zastosowania Komputerów, sekcja Projektowanie i tworzenie aplikacji dla platformy.net
Klasy 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
UWAGA!!! Przed przystąpieniem do zamknięcia roku proszę zrobić kopie bezpieczeństwa
UWAGA!!! Przed przystąpieniem do zamknięcia roku proszę zrobić kopie bezpieczeństwa Następnie należy sprawdzić czy w KOLFK w Słownik i-> Dokumenty-> znajduje się dokument BO- Bilans Otwarcia (w grupie
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
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
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
BAZY DANYCH Panel sterujący
BAZY DANYCH Panel sterujący Panel sterujący pełni z reguły rolę centrum, z którego wydajemy polecenia i uruchamiamy różnorodne, wcześniej zdefiniowane zadania, np. wyświetlamy formularze lub drukujemy
Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP
5.0 5.3.3.7 Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium, będziesz korzystać z narzędzi administracyjnych
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:
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
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
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
KLASA 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
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ć
Expo Composer. www.doittechnology.pl 1. Garncarska 5 70-377 Szczecin tel.: +48 91 404 09 24 e-mail: info@doittechnology.pl. Dokumentacja użytkownika
Expo Composer Dokumentacja użytkownika Wersja 1.0 www.doittechnology.pl 1 SPIS TREŚCI 1. O PROGRAMIE... 3 Wstęp... 3 Wymagania systemowe... 3 Licencjonowanie... 3 2. PIERWSZE KROKI Z Expo Composer... 4
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
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 01 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów. Wprowadzenie teoretyczne.
Informatyka 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.
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ć
Laboratorium - Archiwizacja i odzyskiwanie danych w Windows Vista
5.0 10.3.1.5 Laboratorium - Archiwizacja i odzyskiwanie danych w Windows Vista Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium wykonasz kopię zapasową danych. Przeprowadzisz również
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
Materiał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
Użycie Visual Basic for Applications ("VBA")
Użycie Visual Basic for Applications ("VBA") Przegląd SEE z modułem VBA Developer SEE używa języka programowania Visual Basic for Applications (VBA) pozwalającego tworzyć krótkie programy zwane "makrami".
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("
Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1
Wyższa Szkoła Ekologii i Zarządzania Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1 Slajd 1 Uruchomienie edytora Word dla Windows otwarcie menu START wybranie grupy Programy, grupy Microsoft Office,
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
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ą
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
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
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
Instrukcja użytkownika. Aplikacja dla WF-Mag
Instrukcja użytkownika Aplikacja dla WF-Mag Instrukcja użytkownika Aplikacja dla WF-Mag Wersja 1.0 Warszawa, Kwiecień 2015 Strona 2 z 13 Instrukcja użytkownika Aplikacja dla WF-Mag Spis treści 1. Wstęp...4
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++,
PHP 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
etrader Pekao Podręcznik użytkownika Strumieniowanie Excel
etrader Pekao Podręcznik użytkownika Strumieniowanie Excel Spis treści 1. Opis okna... 3 2. Otwieranie okna... 3 3. Zawartość okna... 4 3.1. Definiowanie listy instrumentów... 4 3.2. Modyfikacja lub usunięcie
Mechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
akademia 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.
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;
Informacje 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
Laboratorium - Migracja danych w Windows Vista
5.0 5.1.4.5 Laboratorium - Migracja danych w Windows Vista Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium używaj systemu Windows Vista. Zalecany sprzęt Do tego ćwiczenia wymagany
Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.
Umiejętność czytania oraz tworzenia diagramów klas UML jest podstawą w przypadku zawodu programisty. Z takimi diagramami będziesz spotykał się w przeciągu całej swojej kariery. Diagramy klas UML są zawsze
Instrukcja użytkownika. Aplikacja dla Comarch Optima
Instrukcja użytkownika Aplikacja dla Comarch Optima Instrukcja użytkownika Aplikacja dla Comarch Optima Wersja 1.1 Warszawa, Luty 2016 Strona 2 z 14 Instrukcja użytkownika Aplikacja dla Comarch Optima
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ą
Informatyka I : Tworzenie projektu
Tworzenie nowego projektu w programie Microsoft Visual Studio 2013 Instrukcja opisuje w jaki sposób stworzyć projekt wykorzystujący bibliotekę winbgi2 w programie Microsoft Visual Studio 2013. 1. Otwórz
Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1
Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego
Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki zaprojektowany jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych jest to język pozwalający na programowanie zarówno proceduralne
Laboratorium - Narzędzia linii uruchamiania w systemie Windows 7
5.0 5.3.7.4 Laboratorium - Narzędzia linii uruchamiania w systemie Windows 7 Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium, będziesz korzystać z narzędzi linii komend Windows, aby
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
Windows 10 - Jak uruchomić system w trybie
1 (Pobrane z slow7.pl) Windows 10 - Jak uruchomić system w trybie awaryjnym? Najprostszym ze sposobów wymuszenia na systemie przejścia do trybu awaryjnego jest wybranie Start a następnie Zasilanie i z
Te i wiele innych cech sprawia, że program mimo swej prostoty jest bardzo funkcjonalny i spełnia oczekiwania większości klientów.
Instrukcja użytkownika OFERTOWANIE 3.0 Program OFERTOWANIE 3.0 to intuicyjne i łatwe w użyciu narzędzie do szybkiego przygotowania i wydrukowania profesjonalnie wyglądającej oferty dla klienta, Program
Program V-SIM tworzenie plików video z przebiegu symulacji
Program V-SIM tworzenie plików video z przebiegu symulacji 1. Wprowadzenie Coraz częściej zdarza się, że zleceniodawca opinii prosi o dołączenie do opracowania pliku/ów Video z zarejestrowanym przebiegiem
Wskaźniki do funkcji i metod
Jacek Matulewski WWW: http://www.fizyka.umk.pl/~jacek/cpp/ wersja z dnia 3 listopada 2006 Najnowsza wersja: http://www.fizyka.umk.pl/~jacek/cpp/cpp-wskazniki2.pdf Źródła: http://www.fizyka.umk.pl/~jacek/cpp/cpp-wskazniki2.zip
5.4. Tworzymy formularze
5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania
VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp
VComNet Podręcznik użytkownika Wstęp VComNet przeznaczony jest do wdrażania aplikacji komunikacyjnych uruchomionych na komputerze PC z systemem Windows z urządzeniami połączonymi poprzez RS485 (RS422/RS232)
1 Zrób to inaczej. 1.1 Przechowywanie plików Zapisanie i otwieranie pliku do OneDrive w aplikacji Office
1 Zrób to inaczej Zestaw scenariuszy dla wszystkich uczestników pilota, koncentrujących się na pracy indywidualnej i współpracy ad-hoc. Scenariusze mogą być używane indywidualnie przez każdego użytkownika
STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA
LABORATORIUM SYSTEMÓW MOBILNYCH STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA DANYCH Z PLIKÓW MIF, SHP I ICH KONWERSJI DO POSTACI RELACYJNEJ I. Temat ćwiczenia Stworzenie biblioteki słuŝącej do wczytywania
[1/15] Chmury w Internecie. Wady i zalety przechowywania plików w chmurze
Chmury w Internecie Nota Materiał powstał w ramach realizacji projektu e-kompetencje bez barier dofinansowanego z Programu Operacyjnego Polska Cyfrowa działanie 3.1 Działania szkoleniowe na rzecz rozwoju
Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik
Wizualne systemy programowania Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Kolekcje List
HELIOS pomoc społeczna
Instrukcja przygotowania pliku wsadowego do zasilenia SEPI przy pomocy dodatkowej aplikacji HELSepi 1. Instalacja aplikacji Pobieramy plik instalacyjny HelSEPIsetup.exe ze strony internetowej www.ops.strefa.pl
PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
Instrukcja użytkownika. Aplikacja dla Comarch Optima
Instrukcja użytkownika Aplikacja dla Comarch Optima Instrukcja użytkownika Aplikacja dla Comarch Optima Wersja 1.0 Warszawa, Sierpień 2015 Strona 2 z 12 Instrukcja użytkownika Aplikacja dla Comarch Optima
Tablet bezprzewodowy QIT30. Oprogramowanie Macro Key Manager
Tablet bezprzewodowy QIT30 Oprogramowanie Macro Key Manager Spis treści 1. Wprowadzenie... 3 2. Panel Sterowania - wprowadzenie... 4 3. Instalacja... 5 3.1 Jak stworzyć nowy profil... 5 3.2 Jak zmodyfikować
STWORZENIE MOBILNEJ APLIKACJI,
LABORATORIUM SYSTEMÓW MOBILNYCH STWORZENIE MOBILNEJ APLIKACJI, WYŚWIETLAJĄCEJ AKTUALNĄ POZYCJĘ UŻYTKOWNIKA, LISTĘ WIDOCZNYCH SATELITÓW ORAZ ICH POZYCJĘ I. Temat ćwiczenia Stworzenie mobilnej aplikacji,
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
Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS www.informatyka.edu.pl
To jeden z ostatnich odcinków naszego kursu. Mam nadzieję, że pisanie własnego programu było ciekawym doświadczeniem. Zaproponowana w tym odcinku funkcja uatrakcyjni twój program. Stworzymy tak zwane okno
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
Dodawanie i modyfikacja atrybutów zbioru
Dodawanie i modyfikacja atrybutów zbioru Program Moje kolekcje wyposażony został w narzędzia pozwalające na dodawanie, edycję oraz usuwanie atrybutów przypisanych do zbioru kolekcji. Dzięki takiemu rozwiązaniu
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
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ń
Spis treści. Rozdział 2. Graficzna oprawa witryny...z... 19 Stosowanie motywu...s...s.. 19
Spis treści Wstęp...z... 5 Rozdział 1. Nowa witryna sieci Web...z... 7 Tworzenie szkieletu witryny...s... 7 Ustawienia witryny...s...s... 8 Hierarchia witryny...s...s... 10 Nazwy i tytuły stron...s...s..
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,
Obiekt 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
Leszek 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
PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub
PWSG Ćwiczenia 12 Wszystkie ukończone zadania należy wysłać na adres: sara.m.jurczyk@gmail.com lub sarajurczyk@kul.lublin.pl Zadanie 1: Różnica między zwykłymi polami/metodami, a polami/metodami static
Konfiguracja współpracy urządzeń mobilnych (bonowników).
Konfiguracja współpracy urządzeń mobilnych (bonowników). Współpracę Bistro z bonownikami można realizować na dwa sposoby: poprzez udostępnienie folderu w Windows albo za pomocą serwera ftp. 1. Współpraca
SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4
SZYBKI START Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2 Szyfrowanie/odszyfrowanie danych 4 Szyfrowanie/odszyfrowanie tekstu 6 Tworzenie nowego połączenia w celu
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Programy w Javie składają się z pakietów Pakiety zawierają definicje
Zaawansowane 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
Kopiowanie ustawień SolidWorks
Kopiowanie ustawień SolidWorks przy użyciu Kreatora kopiowania ustawień Podczas pracy z programem SolidWorks każdy użytkownik dostosowuje program do swoich potrzeb, do branży w jakiej pracuje lub do swoich
Tworzenie prezentacji w MS PowerPoint
Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje
Instrukcja użytkownika. Aplikacja dla Comarch ERP XL
Instrukcja użytkownika Aplikacja dla Comarch ERP XL Instrukcja użytkownika Aplikacja dla Comarch ERP XL Wersja 1.0 Warszawa, Listopad 2015 Strona 2 z 12 Instrukcja użytkownika Aplikacja dla Comarch ERP
Metody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia
Laboratorium - Zabezpieczanie kont, danych i komputera w systemie Windows 7
5.0 10.2.1.7 Laboratorium - Zabezpieczanie kont, danych i komputera w systemie Windows 7 Wydrukuj i uzupełnij to laboratorium. W tym laboratorium, będziesz badać, jak zabezpieczyć konta, dane i komputer
Składnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Konstruktory i destruktory
Spis treści. S t r o n a 2
S t r o n a 2 Spis treści... 1 I. Okno aplikacji... 3 1. Lokalizacja... 5 2. Zapis trasy... 5 II. Panel narzędzi... 6 1. Warstwy... 6 2. Wyszukiwanie... 8 3. Pomiary... 10 3.1. Długość... 10 3.2. Obszar...
Laboratorium - Archiwizacja i odzyskiwanie danych w Windows 7
5.0 10.3.1.4 Laboratorium - Archiwizacja i odzyskiwanie danych w Windows 7 Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium wykonasz kopię zapasową danych. Przeprowadzisz również odzyskiwanie