Ostatnio mam okazję pobawić się z WinForms i pięknymi kontrolkami. W C# jest z nimi faktycznie ciekawie, ponieważ część kontrolek jest częścią .NET i są tam rysowane i w pełni obsługiwane, a część to tylko wrappery na kontrolkach systemowych. Dotyczy to na przykład kontrolki DateTimePicker, ale też najprostszej, czyli TextBox. Potrzebowałem reagować na odrysowywanie pewnego TextBox'a na formularzu i udało mi się z tym uporać.
Pokazywanie postów oznaczonych etykietą c sharp. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą c sharp. Pokaż wszystkie posty
czwartek, 14 lutego 2013
poniedziałek, 21 stycznia 2013
C#: serializacja i deserializacja obiektów do/z XElement
Istnieje co najmniej tyle pomysłów na przechowywanie ustawień aplikacji, co programistów. W projektach w języku Java bardzo chętnie korzystałem z plików ini. Łatwość parsowania plików XML w języku C# spowodowała zmianę nastawienia. Istnieje też masa pomysłów na organizację samego pliku. Są zwolennicy zapisywania konkretnych prostych wartości, są zwolennicy szeregowania obiektów. Poniżej proste przykłady kodu jak serializować i deserializować obiekty korzystając z klasy XEelement i LinQ przy pracy na XML.
piątek, 14 grudnia 2012
C# konwersja postaci bitowej tablicy bajtów do stringa
Ostatnio mam przyjemność pracować nad kodem, który pisał człowiek jeszcze studiujący. Zadziwia mnie czasem na jakie piękne rozwiązania natrafiam. Dosłownie przed chwilą przerobiłem metodę zwracającą ciąg znaków reprezentujących postać binarną pięciobajtowej ramki. Pozwolę sobie przedstawić jak nie powinno się czegoś takiego robić i jak można wygodnie przekonwertować tablicę bajtów do ciągu znaków w postaci binarnej.
sobota, 22 września 2012
C#: komuniakcja z zewnętrznym procesem
Jakiś czas temu pisałem o uruchamianiu komendy systemowej w języku Java. Jest to technika, którą z powodzeniem wykorzystałem do komunikacji z GDB przy okazji jednego ważnego projektu. Na co dzień sporo pracuję z C#, więc postanowiłem sprawdzić jak mogę uzyskać dokładnie to samo w tym języku. Opiszę jak uruchomić proces, uzyskać dostęp do jego strumieni wejścia i wyjścia, a na koniec pozwolę sobie opisać parę miłych ciekawostek i zastosowań.
poniedziałek, 10 września 2012
Win8: Krótkie spojrzenie z perspektywy developera
Ostatnio miałem przyjemność uczestniczyć w małym szkoleniu dotyczącym Windows 8. Na szczęście, w przeciwieństwie do typowej konferencyjnej prelekcji, nie był to marketingowy bełkot, ale całkiem niezła merytorycznie prezentacja skierowana do developerów, którzy może byliby chętni przygotować aplikacje na nadchodzący system od Microsoft. Postaram się w krótki sposób opisać tu najważniejsze elementy jakie były omówione na szkoleniu. Sądzę, że wiele osób może to zaciekawić, tak jak z resztą niektóre fakty zaciekawiły mnie. Od razu ostrzegam, że większość wiedzy będzie bardziej przydatna dla programistów .NET niż pozostałych. Tak po prostu było to szkolenie poprowadzone.
środa, 29 sierpnia 2012
Silverlight: Przyczyny SecurityException przy EndGetResponse
Aplikacje stworzone w technologii Silverlight w większości przypadku potrzebują komunikacji z serwerem. Nie ma najmniejszych problemów, gdy usługi znajdują się na tej samej domenie, co strona i paczka z aplikacją. Schody zaczynają się, gdy usługa znajduje się na innej domenie. Wtedy wielokrotnie pojawia się wyjątek SecurityException. Zawsze jest on związany z plikami clientaccesspolicy.xml lub crossdomain.xml. Pozwolę sobie opisać najczęstsze przyczyny.
piątek, 18 maja 2012
Silverlight: System.Exception 6028 przy odtwarzaniu materiału PlayReady DRM
Od niedawna sporo czasu spędzam tworząc rozwiązanie w Silverlight. Nałożyło się to częściowo z wydaniem Silverlight w wersji 5, więc mam wątpliwą przyjemność borykać się z masą problemów jakie pojawiają się w aplikacji po zmianie środowiska do najnowszej wersji. W końcu przecież "to powinno działać".
Jednym z problemów, który był niezwykle uciążliwy, a jego rozwiązanie stwarzało sporo problemów jest wyjątek systemowy o numerze 6028 pojawiający się podczas próby odtworzenia materiału zaszyfrowanego PlayReady DRM. Na szczęście problem ten udało mi się w końcu rozwiązać, a ten post ma pomóc innym programistom Silverlight w pozbyciu się go ze swojej aplikacji odtwarzającej zabezpieczone materiały video.
Jednym z problemów, który był niezwykle uciążliwy, a jego rozwiązanie stwarzało sporo problemów jest wyjątek systemowy o numerze 6028 pojawiający się podczas próby odtworzenia materiału zaszyfrowanego PlayReady DRM. Na szczęście problem ten udało mi się w końcu rozwiązać, a ten post ma pomóc innym programistom Silverlight w pozbyciu się go ze swojej aplikacji odtwarzającej zabezpieczone materiały video.
poniedziałek, 22 sierpnia 2011
C# - pomiar czasu wykonania kodu
Udało mi się dzisiaj zakończyć implementację projektu w C# (C Sharp), który już raz był inspiracją do postu na tym blogu. Przyszła więc pora na przeprowadzenie testów na aplikacji. Poza sprawdzeniem wymagań funkcjonalnych konieczne jest zbadanie wszystkich wymagań niefunkcjonalnych. Najłatwiejsze z nich do sprawdzenia, to czas realizacji funkcjonalności. Dzisiaj więc post o pomiarze czasu wykonania kodu w C#. Stosuję elegancką i wygodną metodę z C# 2.0.
sobota, 20 sierpnia 2011
C# - wyłączenie zmiany rozmiaru formularza
Mam ostatnio pecha i niestety muszę powrócić do czegoś czego nie lubię. Tak to już w pracy czasem bywa, że trzeba robić to czego się nie zrobi za darmo. No ale na szczęście ktoś za to płaci. Muszę aktualnie napisać kod w C# (C Sharp). Zaleta tego taka, że do dyspozycji jest miły designer w Visual Studio 2010 Ultimate, ale nie pisałem w tym tak dawno, że pojawiają sie głupie problemy. Na przykład jak sprawić, aby użytkownik nie mógł zmienić rozmiaru okna aplikacji.
Subskrybuj:
Posty (Atom)


