Jestem zwolennikiem upraszczania kodu programu. Bardzo nie lubię redundantności w programowaniu. Po to są procedury i funkcje, obiekty i metody aby powtarzalne fragmenty kodu w nie zamykać i przez to właśnie go upraszczać. I warto pamiętać o obiekcie sender, który przekazuje do funkcji informacje jaki obiekt jest nadawcą komunikatu. Dzięki temu jedna, uniwersalna funkcja zapewni obsługę wielu zdarzeń dla naszych obiektów..
Ciekawe efekty wizualne można uzyskać naprawdę w bardzo prosty sposób. Wystarczy znaleźć funkcję matematyczną, której wizualizacja będzie wystarczająco efektowna. Postanowiłem więc się zmierzyć z tym problemem. Przedstawiony program działa wykorzystując OpenGL, współpracujący z C# dzięki bibliotece CsGL (http://csgl.sourceforge.net/).
Jak napisałem wcześniej (IBM Rational Software Modeler i platforma .NET) do tego aby w IBM Rational Software Modeler, które jest narzędziem do wizualnego modelowania i projektowania w języku UMLMożna było dokonywać transformacji kodu z modelu UML do C# i z kodu C# do UML potrzebna jest dodatek IBM Rational Modeling Extension for Microsoft .NET...
Dotychczas, gdy potrzebowałem metod wykonujących te same zadania ale używających innych parametrów (czy choćby innej liczby parametrów), tworzyłem metody przeciążone. Wydawało mi się to naturalne i logiczne rozwiązanie. Do czasu, gdy przeczytałem o tablicach parametrów właśnie....
Ustawienia regionalne polskiego systemu Windows jako separator dziesiętny liczb przyjmują symbol przecinka. Oczywiście, każda aplikacja powinna być napisana tak, aby niezależnie od otoczenia działała prawidłowo. Czasami może się więc przydać, by nasza aplikacja korzystała z formatu liczb (czy innego elementu związanego z ustawieniami regionalnymi) wymuszonego przez nas, a nie nadanego przez system..
Chyba prędzej czy później każdy, kto choć trochę programuje ma ochotę/musi/powinien narysować coś na ekranie: może to być wykres funkcji matematycznej, czy też jakieś dane do zobrazowania. Siadamy do komputera, zaczynamy pisać kod, dochodzimy do fragmentu, w którym należy wskazać współrzędne punktu do postawienia na formie naszego projektu i ... zatrzymujemy się.
W poprzedniej części opisałem czynności przygotowawcze, teraz napiszemy trochę kodu :). Na początku należy dodać referencję do projektu w Visual Studio:
Niedawno pisałem na temat konwersji dat na wartości liczbowe i odwrotnie, wykorzystując komendy serwera SQL (w tym wypadku serwer Microsoft SQL Server). Pokazałem jak stworzyć storowane procedury, które będą ułatwiały te przekształcenia. Jednak przydatna może okazać się konwersja na liczbę jeszcze w aplikacji, przed zapisaniem jej do bazy.
Tworzymy kontrolkę PictureBox (niech się nazywa obrazek). Zanim zaczniemy rysować potrzeba nam kilka zmiennych: private Graphics g; //reprezentuje pole, po którym rysujemy private Pen p; //pióro, rysuje tylko kontury, linie
Należy nadpisać metodę OnPaintBackground() i samodzielnie zaprogramować rysowanie tła. Do rysowania gradientów można posłużyć się klasą LinearGradientBrush, np.: using System.Drawing.Drawing2D; override protected void OnPaintBackground(PaintEventArgs e) { LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(ClientRectangle, Color.Red, Color.White, 0f); e.Graphics.FillRectangle(brush, ClientRectangle); }
Jakiś czas temu poszukiwałem kontrolki dla Windows Forms, oferującej funkcjonalność komponentu StringGrid znanego ze starszych wersji Delphi czy C++ Buildera. Okazuje się, że takie coś istnieje, nosi nazwę DataGridView i jest dostępne w kategorii Data paska Toolbox. Mając już upragnioną kontrolkę, pozostało jeszcze znaleźć odpowiedzi na kilka prostych pytań...
Testy jednostkowe pełnią dwie bardzo ważne role: poprawiają design aplikacji sprawdzają czy kod jest poprawny
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...
W dniu 2009-10-17 miałem przyjemność uczestniczyć w CodeCamp. Jest to impreza, na którą można się zarejestrować za darmo, ale jest wiele warta. Tym razem było znacznie lepie niż przypuszczałem. Na imprezie miałem przyjemność rozmawiać z 5 zaproszonymi gośćmi. Ale zacznę od początku. Na CodeCamp zarejestrowałem się dzięki poczcie elektronicznej bo rezerwacje były już zamknięte, dzięki uprzejmości Symona Kobalczyka udało mi się zarejestrować. Chyba z listy rezerwowej ;). Napisałem po...
Pewnie się zastanawiasz, co w tym takiego wyjątkowego? No to Ci odpowiem. Użyję do tego celu biblioteki jQuery przez co link będzie się pojawiał w rogu strony w momencie gdy strona będzie przewinięta. Fajnie, co nie? Ale jak to zrobić? To już Ci pokażę.
Przy testowaniu dostępności różnych środowisk warto czasem zachować się jak typowy użytkownik takiego systemu. Np. wysłać maila przez interfejs WWW serwera pocztowego. Czasem trzeba chwilę poczekać na bibliotekę która odrobinę unieważni grubą książkę :)I wysyłać miast z C# to z PowerShella. Choćby tak:
niedziela, Październik 25th, 2009Brak komentarzyXNA: Strzeż się 64 bitów! Właściwie sam tytuł wpisu, można traktować jako podsumowanie go. Wszystko zaczęło się od 64bitowego Windowsa i kompilacji projektu …Could not load file or assembly… Otóż jak się okazuję, XNA Framework jest 32 bitowy i stąd, na 64 bitowym systemie, może pojawić się błąd (jak w nagłówku powyżej), którego identyfikacja, na pierwszy rzut oka nie wydaje się być łatwa, w sytuacji gdy wszystko znajduje się na swoim miejscu, a ponadto refe...
W dzisiejszym tutorialu przedstawię sposób na efektowny slider, który będzie obsługiwany między innymi przez klawiaturę. Taki slider można wykorzystać do tworzenia efektownych prezentacji swoich prac lub prezentacji swoich zdjęć na stronie.
Większość osób posługujących się SQL’em wie do czego służy UNION, mało tego często zdarza się, że go używa. :) Jednak jak pokazuje doświadczenie, nie każdy wie jaka różnica jest pomiędzy UNION, a UNION ALL. W rezultacie przy pisaniu zapytania stosuje UNION, chociażby z racji tego, iż jest krótsze :).
No to embargo na informacje na temat SharePoint 2010 zostało zdjęte :) pora więc rozpocząć posty na jego temat :) W netcie znajdziecie już dużo screenów, więc nie będę się zajmował stroną wizualną a jedynie programistyczną. Pierwszym tematem jest nowa funkcjonalność walidacji danych na formularzu. Zaraz po wejściu na ustawienia listy widać nowy element Validation Settings: