Dzisiaj opiszę sposób, jaki zastosowałem by przechwycić pierwszy wyjątek. Czasem w aplikacji czegoś nie przewidzimy i wyleci nam na wyjątku, dobrze wtedy zalogować ten fakt w jakimś pliku tekstowym lub e dzienniku systemu Windows. Należy też przekazać informację użytkownikowi, aby mógł w razie problemu skopiować komunikat z wyjątku i stos wywołań abyśmy wiedzieli gdzie aplikacja wyleciała. Nowy instalator z tą funkcjonalnoś...
Przeklikaj swój świat! – kontrola zdarzeń myszki Myszka – z pozoru urządzenie, które bez ludzkiej ręki nie jest w stanie nic zrobić. Błąd! Istnieje możliwość nadania jej “życia” poprzez wywoływanie odpowiednich zdarzeń z kodu aplikacji. Aby to osiągnąć przydatne może być wykorzystanie poniższego helpera, a właściwie szablonu helpera, który można w łatwy sposób rozszerzyć o kolejne metody.
Autor: W niniejszym post'cie chciałbym wspomnieć o ważnej rzeczy, jeżeli chodzi o WPF i grafikę 3D. O mały włos o niej bym zapomniał, w poprzednich wpisach (1, 2) nic na ten temat nie wspominałam, a mianowicie chodzi mi o „Regułę prawej dłoni”! A cóż tu więc chodzi? Mianowicie chodzi tutaj o to, że trójkąty należące do sceny „mają stronę widoczną i niewidoczną”. Podając kolejne punkty trójkąta, który chcemy wyświetlić, musimy podać je w takiej kolejności, by normalna dla płaszczyzny, którą te punkty ...
Witam, w zeszłym tygodniu dodałem do symulatora Predykator, w celu sprawdzenia jak działa należy przejść pobrać nowy instalator dostępny tutaj: http://hopfieldsimulator.codeplex.com/releases/view/50597 Po odinstalowaniu poprzedniej wersji należy zainstalować tą. Na pulpicie pojawi się skrót do aplikacji „Hopfield Simulator”. Trzeba ją uruchomić i przejść na zakładkę „Predictor” następnie możemy określić parametry dla przykładu niech będą takie: d = 30, eta = 0.7, n1 = 6 i n2 = 20.P...
Ten wpis jest kontynuacją tematyki związanej z grafiką trójwymiarową opartej o WPF. Zostanie w nim pokazane jak przy pomocy kodu napisanego w C# narysować proste wielościany.Niniejszy wpis poza prezentacją różnych i niezależnych od konkretnego wykorzystania treści stanowi również opis pewnych zagadnień związanych z projektem Mesh Diagram 3D.Informacje dotyczące projektu oznaczone są etykietą MeshDiagram3D.Poprzedni wypis został zakończony na prezentacji najprostszego obiektu w scenie – czyli trójkąta. Tr...
W sytuacji, gdy nad danym projektem pracuje większa grupa programistów czasami trudno jest się wystrzec oczywistych błędów. Takim błędem jest zapominanie o domyślnej inicjalizacji zmiennych w przypadku enum-a.
W niniejszym post'cie chciałbym zaprezentować podstawowe elementy niezbędne do rozpoczęcia przygody z grafiką trójwymiarową opartą o Windows Presentation Foundation (WPF). Niniejszy wpis poza prezentacją różnych i niezależnych od konkretnego wykorzystania treści stanowi również opis pewnych zagadnień związanych z projektem MeshDiagram3D. Przed przystąpieniem do pisania jakiejkolwiek aplikacji wykorzystującej WPF 3D należy zrozumieć pewne podstawy: potrzebujemy kontrolkę, która zapewni nam możliwość wyś...
Ostatnio pracuje nad programem do symulacji. Mój edytor symulacji złożony jest z tysięcy kwadratów (System.Windows.Shapes.Rectangle). Potrzebowałem wypełnić niektóre kwadraty tekstem. Rozwiązaniem było użycie VisualBrush. Użyłem kodu który znalazłem w dokumentacji VisualBrush na MSDN. Nie mogłem sobie jednak poradzić z dodaniem marginesu do tekstu, tak aby tekst nie przylegał do obramowania kwadratu.
Dla budowanej nowej wersji oprogramowania NmapGUI potrzebne było utworzenie okna pozwalającego na skonfigurowanie parametrów programu nmap. Początkowo byłem przekonany, że analogicznie do innych narzędzi tego typu (które swoją drogą można wyliczyć na palcach jednej ręki) wystarczy jedno okno z kilkunastoma zakładkami. Skoro takie rozwiązanie działa, to po co je zmieniać? Ale z drugiej strony wydaje się to być wyjątkowo mało atrakcyjne i mało estetyczne. W związku z tym postanowiłem zbudować okno podobne ...
UAC, to z j. ang. User Account Controll, czyli technologia wprowadzona w Windows Vista (i dalej utrzymywana w Windows 7) zapobiegająca uruchamianiu aplikacji z podwyższonymi uprawnieniami. Przy uruchamianiu aplikacji, która wymaga zwiększonych uprawnień, użytkownik musi wyrazić jawną zgodę na uruchomienie, a aplikacja powinna zadbać o to by się w odpowiednim momencie o to spytać.
MDI, to z j. angielskiego Multi Document Interface, czyli sposób tworzenia interfejsu aplikacji oparty o wiele dokumentów, które prezentowane są użytkownikowi, jako okna otwierane wewnątrz głównego okna aplikacji. Przykładem wykorzystania takiego interfejsu może być starsza aplikacja Microsoft Excel, w której wewnątrz głównej aplikacji otwierane są poszczególne arkusze (xls). Interfejs ten był kiedyś bardzo popularny w aplikacjach, które pozwalały na jednoczesną pracę nad wieloma dokumentami, teraz częś...
Czy zdarza się wam czasem potrzeba wyłączania/hibernowania/usypiania komputera za jakiś czas, np. po wykonaniu jakiegoś długotrwałego zadania? Mnie tak. Jak więc to zrobić? Niektóre aplikacje taką funkcjonalność posiadają, jednak nie wszystkie. Z pomocą może przyjść systemowe polecenie shutdown, ale nie potrafi ono wszystkiego. „Shutdown /s” - wyłączy system, „Shutdown /h” - system zahibernuje, można dodać jeszcze opóźnienie czasowe np. „Shutdown /s /t 600”, by wyłączyć system po 10 min (600 s). Nieste...
Tworzenie programów instalacyjnych nie jest tematem trywialnym. Obojętne czy zaprzęgniemy do tego rewelacyjny pakiet WiX, wszechmocną, ale surową Orcę czy jakiekolwiek inne płatne lub bezpłatne aplikacje takie jak InnoSetup, InstallShield, Wise, NSIS czy choćby WinRAR.
Autor: Jako, że ostatnimi czasy siedzę w WPF to dziś wpis także z tej kategorii. Może nie będą to takie tajniki jak w tytule zapowiadam, ale raczej zwrócenie uwagi na pewną funkcjonalność DependencyProperty. Czasami prócz samej możliwości bindowania do takiej właściwości chcemy także uzyskać np. odmalowanie kontrolki, która daną właściwość definiuje. Osta...
Gdy tworzymy aplikacje okienkowe w .NET z użyciem Windows Forms, możemy korzystać z mnóstwa (co najmniej kilkudziesięciu) typów kontrolek dostępnych out-of-the-box. Nie wszystkie nawet mają rację bytu jako rzeczywiste kontrolki, ale w wielu przypadkach fakt, że nimi są, ułatwia korzystanie z API, które się kryje za taki komponentami. (Przykładem jest kontrolka BackgroundWorker).
Niniejszy post jest pewnego rodzaju kontynuacją cieszącego się popularnością artykułu pod tytułem: „Jak uczyć się C#?”. Chciałbym wskazać kolejną garść rad, które nasunęły mi się od czasu napisania poprzedniego artykułu. Tym razem jednak nie jest on raczej skierowany do początkujących programistów, a raczej bardziej zaawansowanych czytelników. Dlaczego? Otóż chciałem dziś poruszyć dwie kwestie... Pierwszą są certyfikaty. Teraz już nie mal, że słyszę pytanie: ale co one mi dają?, czy ktoś na nie zwraca uw...
Ostatnio wykorzystywałem DataSet jako źródło danych typu ObjectDataSource dla kontrolki GridView. W tle za DataSet'em była baza danych oraz były skonfigurowane metody Select, Insert i Delete. Wyświetlanie danych przebiegało bezproblemowo, niestety nie działało usuwanie i edycja elementów. Powodem były kwerendy, które przy usuwaniu (delete) lub edycji (update) wykorzystywały wszystkie pola(kolumny) tabeli. Niestety domyślnie dodane źródło typu ObjectDataSource nie chciało przekazywać wszystkich parametrów...
Otóż jeśli tworzysz dowolnego klienta WCF i posiadasz system Windows 7 jest niemal pewne, że Twój klient nie uruchomi się na innych systemach operacyjnych! Dlaczego? Problem tkwi w elemencie extendedProtectionPolicy, który “potajemnie” dodawany jest do pliku App.config. Więc jeśli Tw...
Jak sprawdzić czy uruchomiona jest inna instancja naszej aplikacji? Otóż - jak się okazuje - bardzo prosto, za pomocą Mutex'u.... A co jeśli wynikłaby potrzeba zezwolenia na uruchomienie innej instancji aplikacji, jednakże przy rozróżnieniu ich argumentami startowymi? .....
„Mamy aplikację napisaną dla .NET 2.0, która obsługuje wtyczki (plugin'y). Chcemy opracować dla niej wtyczkę, oferującą nową funkcjonalność. Z jakiegoś powodu (np. z wygody lub lepszych rozwiązań technicznych) wtyczkę chcielibyśmy przygotować w .NET 4.0. Czy nam się to uda?” Zobaczmy przykład.