Pojęcie serializacji oraz jej zastosowanie mam nadzieje, że jest Wam znane chociażby z poprzedniego artykułu Daniela. Dzisiaj postaram się przedstawić serializacje za pomocą formatera XML. .NET Framework zawiera kilka bibliotek do odczytu i zapisu plików XML. My zajmiemy się tą z przestrzeni nazw System.Xml.Serialization. Za pomocą serializacji XML możemy zapisać niemal każdy obiekt do pliku tekstowego a następnie odczytać go w kilku linijkach kodu. Serializacji XML można użyć do przesyłania stanów obie...
Strona głównaUżytkownik
Dedloo | użytkownik
Witam w kolejnej lekcji z cyklu 70-536. Dzisiaj powiemy sobie troszkę o serializacji.Co to jest serializacja? Serializacja, która mieści się w przestrzeni System.Runtime.Serialization, jest to proces przekształcania obiektu do liniowej sekwencji bajtów, które mogą być przechowywane lub przekazywane.Odwrotnym procesem do serializacji jest deserializacja.Jak serializować obiekt Poniższy kod prezentuje jak serializować obiekty. Aby kod zadziałał musimy dołączyć przestrzenie nazw System.IO oraz System.Runtim...
Kolekcje generyczne są bezpieczną (ang. type-safe), szybką i wydajną (ang. performance) wersją ich nie-generycznych odpowiedników. Przykładowo List, Dictionary, Queue, Stack, SortedList i SortedDictionary są odpowiednikami zwykłych kolekcji. Różnica polega na tym, że korzystając z typów generycznych podajemy parameter, który jest zamieniany na nazwę typu podczas kompilacji. W ten sposób można użyć każdego typu, ale tylko wcześniej określonego. W innym wypadku otrzymamy błędy już przy kompilacji. Namiastk...
Lista własnego typu i GridView w WPF Jakiś czas temu, pisząc prostą aplikację trafiłem kilka problemów. Pierwszy, to jak pobrać odpowiednie dane z bazy, a następnie zapisać je do listy własnego typu, a drugi, jak zrobić binding mojej listy do GridView w WPF'ie. Wszystko okazało się dosyć proste Aby stworzyć mój własny typ listy, stworzyłem klasę posiadającą właściwości, które reprezentują pola w mojej liście...
Patrząc na materiał który dzisiaj mamy do przerobienia artykuł nie powinien być długi a pomówimy sobie o kolekcjach i słownikach. Czyli o bardzo pomocnych typach danych :)Kolekcje Kolekcja jest klasą która pozwala na dodawanie elementów a później iterowanie po nich. .NET Framework udostępnia nam następujące klasy kolekcji: ArrayList – prosta klasa która umożliwia przechowywanie dowolnego typu danych oraz iterowanie po nich. Można ją oczywiście rozszerzyć do własnych celów etc. Queue – nic innego jak kole...
W tej lekcji training kit robi długi wstęp na temat: „dlaczego mamy różne kodowania”, który sobie pominiemy. Dopiero na drugiej stronie pojawia się pierwsza istotna dla nas informacja, która mówi, że przestrzeń System.Text dostarcza nam klasy do kodowania i dekodowania. System.Text wspiera następujące kodowania:Unicode UTF-32: reprezentuje znaki unicode jako ciągi 32-bitowe. Do konwertowania używamy klasy UTF32Encoding. Unicode UTF-16: : reprezentuje znaki unicode jako ciągi 16-bitowe. Do konwertowania u...
Wyrażenia regularne pozwalają sprawdzić, czy ciąg znaków pasuje do pewnego wzorca, co przydatne jest chociażby przy sprawdzaniu danych wejściowych, wyciąganiu informacji z tekstu, czy do ich podmiany. Zapisywany wzorzec jest ciągiem znaków, który musi spełniać pewne wymagania, a użyte symbole i operatory mają określone znaczenie, często zależne od kontekstu. Najczęściej wykorzystywane to:
Można użyć wielu klas Stream do zapisu i odczytu plików. .NET Framework dostarcza nam specjalne klasy do zapisu plików tekstowych, plików binarnych czy też do kompresji danych i przechowywania ich w pamięci. W dzisiejszym artykule przyjrzymy się temu tematowi w mniej lub bardziej szczegółowy sposób.Odczyt i zapis pliku tekstowego Do odczytu pliku tekstowego możemy użyć klasy TextReader lub StreamReader. Przykłady ich użycia (zaczerpnięte z training kit’a bo jak wiecie nie lubie wymyślać sztucznych tworów...
.NET framework zawiera klasy do wykonywania podstawowych zadań związanych z zarządzaniem plikami, folderami, wyszukiwaniem dysków itd. W tej lekcji opiszę najprzydatniejsze klasy związane z działaniem na systemie plików. Aby wyświetlić listę wszystkich dysków (partycje, Cd-romy, dvd itp.), podłączonych do komputera, należy użyć metody DriveInfo.GetDrivers()(należy użyć przestrzeni System.IO). Przykładowo, poniższy kod wyświetli listę, o której wspominałem wyżej: 1:foreach(DriveInfo di in DriveInfo.Ge...
Konwersja pozwala porównywać i kopiować wartości pomiędzy różnymi typami danych. Może być przeprowadzona w sposób jawny (ang. explicit conversion), bądź niejawny (ang. implicit conversion). C# zabrania niejawnej konwersji w przypadku, gdy może dojść do utraty dokładności. Pozwala natomiast, gdy typ docelowy może pomieścić wszystkie wartości z typu źródłowego, co nazywane jest konwersją rozszerzająca (ang. widening conversion). Przykładowo można dokonać konwersji z typu Int32, na Double, ponieważ Double m...
Po tym artykule powinieneś choć trochę dowiedzieć się na temat dziedziczenia, interfejsów, typów generycznych. No ale od początku…Dziedziczenie Cały .NET Framework to tysiące klas posiadających przeróżne metody i właściwości. Nie było by możliwe korzystanie z jego dobrodziejstwa gdyby nie został zrobiony z pełną konsekwencją. Musimy mieć świadomość, że wszystkie typy danych ostatecznie dziedziczą z klasy podstawowej System.Object. Training Kit przytacza nam dla przykład metodę ToString() którą posiada ka...
Lekcja 2 (Chapter 1) w Training Kit dotyczy typów referencyjnych (reference types) i wartościowych (value types). Tak naprawdę opisywanych jest tu kilka zagadnień. Pojawiają się tablice i operacje na nich, wyjątki, operacje na plikach oraz stringach. Wszystkie te zagadnienia są opisane dosyć pobieżnie i są to takie podstawy podstaw, więc doszedłem do wniosku że przedstawię tylko co ciekawsze zagadnienia. O co więc chodzi z tymi typami referencyjnymi i wartościowymi? Do typów referencyjnych należą kl...
Framework Microsoft .NET posiada dwie podstawowe grupy zmiennych – wartościowe, przekazywane przez wartość – np. Decimal, oraz referencyjne - przekazywane przez referencję, np. String. Postaram się przedstawić pierwszą grupę zmiennych.Typy wbudowane Typy przekazywane przez wartość stanowią dużą cześć wbudowanych typów frameworka .NET. Przykładem są Value Types (np. System.Byte, System.Int32, System.Double) – wszystkie są przekazywane przez wartość. Oto przykład pokazujący różnicę zachowania typu wartośc...
Chcąc wczytać stronę www do naszej aplikacji w WPF'ie mamy trzy możliwości (pod warunkiem posiadania .net 3.5 SP1)wykorzystać kontrolkę WebBrowser (System.Windows.Controls.WebBrowser) wykorzystać kontrolkę Frame (System.Windows.Controls.Frame) oraz skorzystać w kontrolki WebBrowser z winforms (System.Windows.Forms.WebBrowser) Dzisiejszy wpis będzie porównaniem tych trzech sposobów w kontekście pobierania i przetworznia kodu wczytanej strony. Zacznijmy od stworzenia projektu (lub ściągnięcia gotowego kod...
Po wydaniu kolejnej wersji BlipFace jeden z użytkowników napisał, że przydało by się aby BlipFace zapamiętywał położenie oraz rozmiar okna między uruchomieniami. Po chwili szukania znalazłem post Erwyna van der Meera na temat Remembering window positions in WPF. Niestety zaprezentowane rozwiązanie zapamiętywało rozmiar oraz położenie jednego okna. Długo nie myśląc zmodyfikowałem rozwiązanie aby spełniało moje wymagania. Aby z niego skorzystać trzeba dodać dwie rzeczy do projektu:do kodu xaml definicji i...
Ostatnio Krzyśkowi Sopyła (^ksirg) zacząłem pomagać w pracy nad klientem (BlipFace) napisanym w WPFie do Blipa. Jedną z pierwszych rzeczy za jakie się zabrałem (której między innymi mi w BlipFace brakowało) było dodanie do ikony BlipFace w tray’u menu kontekstowego oraz wyświetlanie ładnych powiadomień o przyjściu nowych statusów. Kontrolka (System.Windows.Forms.NotifyIcon), z której korzystał Krzysiek niestety za bardzo się nie nadawała (szczególnie do tego drugiego). Dlatego skorzystałem z jedynie słus...
Zapewne pisałeś już (a może właśnie ją piszesz) aplikacje, w której wykorzystywałeś bazę danych. Zapewne Twoja aplikacja była wpisana w technologii .net, więc zapewne korzystałeś z silnik Microsoft SQL Server, w któreś z jego edycji. Zapewne też, w którymś z momentów chciałeś sobie stworzyć (albo ktoś Ci kazał -dokumentacja) ładny przejrzysty schemat bazy danych (taki jak poniżej). Oraz zapewne chciałeś, aby wszystko było fajnie wyciągnięte z bazy danych, abyś nie musiał robić tego ręcznie oraz abyś mógł...
Użycie 'partial classes' w scenariuszu innym niż generacja kodu Kilka miesięcy temu spod krzywej ręki mojej wydostał się post o "klasach i metodach częściowych" ("Partial classes & partial methods - explained"). Wniosek z niego można było wysnuć jeden: trzymaj się z dala od tych mechanizmów, jeśli nie generujesz kodu. Muszę jednak przyznać, że ostatnio natknąłem się na kolejny scenariusz, gdzie klasy częściowe są... przydatne. Weźmy za przykład standardową aplikację www. Zdarza się, że strony przekaz...
Artykuł opisuje aplikację mobilną, którą przedstawił Daniel Plawgo i Dawid Cieszyński na pierwszym spotkaniu OLMUG Dzięki wykorzystaniu klasy SMSInterceptionHelper i odpowiednio spreparowanego smsa aplikacja pozwalała na wykonywanie poleceń na drugim telefonie.
Mobile development 5677 dni, 11 godzin, 15 minut temu 161 źrodło rozwiń