Ojj od dawna już nie pisałem, choć wiele razy miałem pomysł ale czasu było za mało ;/ Trochę się działo – zmiana pracy na bardziej ambitną (jupi! co dzień głowa mi ledwo zipie od zdobywania kolejnych ciekawych doświadczeń) oraz związana z tym zmiana trybu studiów....
Performance Counters to taki mechanizm Windows, dzięki któremu możemy oszacować wydajność naszej aplikacji (i nie tylko naszej). Świetnie się również sprawdzają, przy identyfikacji wszelkich problemów z wyciekami pamięci lub przy poszukiwaniu niezamkniętych połączeń do bazy danych. Pełną listę odstępnych ‘liczników’ podzielonych na kategorie można zobaczyć uruchamiając Performance Monitor umieszczony Control Panel -> Administrative Tools. Wszystkie liczniki podzielone są na kategorie – i właśnie z tymi ...
Z czasem można dostać zawrotu głowy od banalnych rzeczy. Szczególnie, gdy są one zależne miedzy sobą, mnożą się w nieskończoność i są ustawniane w wielu i, nierzadko, w niespodziewanych miejscach. Spotkać można się z taką sytuacją w przypadku sterowania dostępnością kontrolek. Mam na myśli ustawianie właściwości elementów interfejsu użytkownika, które określają, czy kontrolka jest włączona i/lub widoczna. Przykładowo chcemy umieścić przycisk, który pojawia się i znika w zależności od paru parametrów...
Podczas projektowania interfejsu w aplikacji WPF/Silverlight, zdarzają się sytuacje, w których jesteśmy zmuszeni do poszukiwania rozwiązań, które umożliwią wyświetlenie kontrolek bez burzenia przyjętych wcześniej konwencji. Czasami jest trudno, lecz dzięki elastyczności jaką oferuje technologia WPF/Silverlight możemy zmieniać interfejs w bardzo szerokim zakresie bez konieczności implementowania własnych kontrolek. Istnieje kilka kontrolek, które mogłyby zostać wykorzystane w danym przykładzie (np. C...
Ostatnio natknąłem się na ciekawą opcję podczas oglądania wideo w Media Player Clasic. Otóż po najechaniu na MPC na pasku zadań w okienku podglądu zobaczyłem przyciski odtwarzacza. Bardzo spodobała mi się taka opcja i chciałem zobaczyć czy zaimplementowanie takiego dodatku we własnym programie będzie trudne. Otóż okazało się, że… nie. Poniżej opis stworzenia prostej aplikacji korzystającej z tego dodatku.
Artykuł pokazuje w jaki sposób można sprawdzić poprawność podpisanego dokumentu XML. Popisywanie dokumentów pozwala wykryć nieautoryzowane zmiany w dokumencie.
Dlaczego lubię kontener DockPanel? Ponieważ dobrze (intuicyjnie) współpracuje z kontrolką ScrollViewer, która dostarcza pionowych i poziomych pasków przewijania. Załóżmy, że główne okno naszej aplikacji zawiera listę (kontrolka ListView) z kilkuset wierszami. Wierszy jest na tyle dużo, że w danym momencie na ekranie widoczna jest tylko część z nich. Aby użytkownik mógł przewijać listę i zobaczyć wszystkie wiersze używamy kontrolki ScrollViewer ScrollViewer zachowa się jednak inaczej w...
Czas najwyższy rozwiązać zagadkę numerologiczną z poprzedniego wpisu :). Zacznijmy od krótkiego kodu KOD 1 (Wyjątek przechwycony) class SEH { publicstaticvoid Main(string[] args) { try { thrownew Exception(); } catch (Exception ex) { System.Diagnostics.Debugger.Log(0, "Test", "Błąd aplikacji .NET & SEH"); } } } Odpalamy WinDbg, ładujemy naszą aplikację i jedziemy: 0:000> sxe * 0:000> g ModLoad: 77dc0000 77e6c000 C:\WINDOWS\system32\ADVAPI32.dll ModLoad: 77e70000 77f02000 C:\WINDOW...
Coraz częściej w projektach zaczynam używać LINQ i zaczynam dostrzegać zalety. Nie dość, że można w ten sposób trochę pisania kodu oraz zyskać na przejrzystości. Poniżej zamieszczę parę przykładów, w których pomału przerzucam się na LINQ.
Polecenia ping nie trzeba nikomu chyba przedstawiać. Służy ono do diagnozowania połączeń sieciowych. Dzięki niemu można sprawdzić, czy istnieje połączenia między dwoma hostami, jaka jest jakość tego połączenia oraz jakie występują opóźnienia. Dodatkowo jeśli podajemy adres hosta nie w postaci adresu IP to możemy zdiagnozować, czy poprawnie rozwiązywane są nazwy przez serwer DNS.
Wpisy na temat śledzenia i logowania w .NET pojawiały się już wcześniej na tym blogu (np. „Śledzenie i logowanie zdarzeń (tracing and logging) na platformie .NET (przykłady w oparciu o C#).” i „Śledzimy w .NET dalej (dzisiaj uruchomimy własny podsłuch)”). Mechanizm wykorzystania elementów platformy .NET, jak: TraceSource, TraceListener i innych związanych z nimi jest dość wygodny, tym bardziej, że są dostępne gotowe klasy typu TraceListener zapisujące w plikach logi przy pomocy XML-a lub w których każdy ...
Czasami występuje potrzeba znalezienia informacji o tym jakie oprogramowanie jest zainstalowane na komputerze. Przykładowo chcemy się dowiedzieć, czy ktoś ma już zainstalowany dany program i gdzie jest zainstalowany. Wiedza ta jest potrzebna, gdy chcemy dodać przykładowo jakiś plik do katalogu z zainstalowanym już programem. Najprostszym przykładem jest pisanie różnego rodzaju pluginów. Problem nie występuje jeśli aplikacją została zainstalowana w katalogu domyślnym...
Autor: Wygłosiłem parę godzin temu zdalną prezentację Poznaj tajniki programowania w Windows Phone 7 - Notyfikacje na portalu virtualstudy.pl. Najpierw omówiłem ogólny model wysyłania powiadomień na telefon, a następnie poszczególne rodzaje notyfikacji. Przy okazji zapoznałem słuchaczy z przydatnymi informacjami na temat kafelków. W drugiej części prezentacji przedstawiłem implementację serwisu do wysyłania notyfikacji i aplikację na WP7, która je odbiera. Można było zobaczyć, jak zachowują się w prakt...
Autor: Piszą swój cykl postów o WPF a w szczególności wpis, o DataBindingu pominąłem jeden ciekawy rodzaj bindingu o którym chciałbym dziś wspomnieć. Załóżmy, że mamy UI, który wyświetla jakieś elementy, które pobierane są z WebService’u. Oczywiście strzał do WebService’u (® by Marcin Najder) jest kosztowny jeśli chodzi o czas a UI nie chcemy blokować. Możemy wykorzystać w tym celu PriorityBinding. Jak? Załóżmy, że nasza klasa dostępu do danych wygląda następująco: publicclassDataAccess { publicList
JComments LatestMain MenuStrona głównaDla programistów Home Jak wyświetlić w XNA polskie znaki używając klasy SpriteFont? Wpisany przez Damian Sobczak niedziela, 12 grudnia 2010 10:44 Witam wszystkich. To mój pierwszy post w ramach projektu roboczo nazwanego "Starcie wehikułów", ale nie będę owijał w bawełnę i od razu przejdę do rzeczy technicznych:) Każda gra, nawet najprostsza, musi mieć możliwość wyświetlania tekstu. Potrzebny jest on czy to do w...
Podczas projektowania aplikacji jedną z kluczowych kwestii jest wyodrębnienie potencjalnie czasochłonnych operacji z kodu, oraz przystosowanie ich do działania w osobnych wątkach. Gdy w grę wchodzi GUI, czynność ta jest wręcz niezbędna. Standardowym modelem jest przygotowanie wszystkich danych wejściowych dla długotrwałego procesu i przekazanie ich do nowego wątku; tam też rozpoczynając asynchroniczną pracę. Po jej zakończeniu, odbieramy wyniki i już bez znaczących przestojów możemy odpowiednio na nie za...
Kilka postów temu wspominałem, że piszę aplikację pod Windows Phone 7. Chyba pochwaliłem się przedwcześnie bo zaraz potem musiałem odstawić projekt na boczne tory. Po pewnym czasie wróciłem do niego. Problemem, na którym zatrzymałem się poprzednio był związany z synchroniczną obsługą żądań wysyłanych przez obiekt HttpWebRequest. Co w tym nadzwyczajnego? Ano w Silverlight, w obiekcie HttpWebRequest, nie istnieje metoda GetReposne. Dostępne jest "tylko" wersja asynchro...
Ostatnimi czasy dość intensywnie wykorzystuje wzorzec projektowy MVVM (MVVM Light Toolkit). Zgodnie ze sztuką, nie blokuję UI i wszystkie bardziej skomplikowane operacje wykonuję asynchronicznie. Do tego celu najczęściej używam BackgroundWorker lub ThreadPool, ze wskazaniem na BackgroundWorker względu na bogatszą funkcjonalność (OnProgressChanged, OnCompleted itd.). Z czasem gdy V...
Korzystając z obecnej popularności bloga chciałbym ogłosić nabór chętnych do kontynuacji projektu! Otóż, gra 3D, której fundamenty stworzyłem w technologii XNA na potrzeby konkursu „Daj się poznać”, a którą można sobie ściągnąć, zobaczyć i podejrzeć od strony kodu… potrzebuje wsparcia. Sam tego dalej w szybkim tempie nie rozwinę, a chciałbym. W skrócie – chciałbym stworzyć team, który mógłby rozwijać ze mną grę. Team chętnych projektantów/programistów i nie tylko takich osób, które chciałyby „po godzinac...
WPF 3D, to zestaw funkcjonalności WPF-a,pozwalający na tworzenie i wyświetlanie grafiki trójwymiarowej (3D). Jednym z głównych celów stawianych WPF 3D jest wsparcie grafiki 3D w dziedzinie interaktywnych interfejsów użytkownika.