Kolejny wpis o jQuery, poświęcimy najbardziej efektownej metodzie, .animate(). Gdy zachodzi potrzeba, wykonania płynnego przejścia z jednego stanu elementu, do drugiego, np. gdy chcemy płynnie zmienić padding, border-width czy też font-size, wtedy całą robotę wykona za nas .animate(). Dokumentacja .animate() Zaglądając do API, dowiadujemy się jak używa się .animate(), czyli: $(”selector”).animate( params, [duration], [easing], [callback] ), gdzie ...
Ostatnio przedstawiłem sposób konfiguracji i wykorzystania biblioteki NHibernate.Validator w aplikacji Windows.Forms. Po wypełnieniu formularza użytkownik otrzymywał jedynie informację, iż jest on wypełniony poprawnie/niepoprawnie. Warto byłoby oznaczyć błędnie wypełnione pola. W tym celu wykorzystam komponent ErrorProvider.
Zainspirowany Windows Media Center, postanowiłem stworzyć coś podobnego w jQuery. Co z tego wyszło ? Przechwytywanie klawiszy Najważniejszą kwestią było przechwycenie klawiszy, używanych przez użytkowników. Aby to zrobić, wystarczyło podpiąć jQuery i napisać...
Podczas pisania testów jednostkowych możemy natknąć się na problem uprawnień – co jeśli testowana metoda wymaga, aby użytkownik był zalogowany, miał określoną nazwę bądź był przypisany do konkretnej roli? Nie chcemy przecież, aby testy jednostkowe w jakiś sposób logowały się do naszej aplikacji. Rozwiązaniem jest pomocnicza klasa, którą napisałem z wykorzystaniem frameworka Moq:
Wykorzystując bibliotekę NHibernate.Validator można w łatwy sposób poradzić sobie z walidacją obiektów w aplikacji desktopowej. Artykuł przedstawia przykład użycia biblioteki w aplikacji Windows Forms.
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...
Niedawno klient zażyczył sobie, by tworzona dla niego aplikacja miała możliwość importu danych bezpośrednio z plików Excel. W celu połączenia naszego proagamu z Excelem możemy bezpośrednio wykorzystywać obiekty COM (dla platformy .NET technologia COM Interop)...
Zabawa zabawą … ale wcześniej czy później powinniśmy wziąć się w garść i zacząć tworzyć nasze programy choć trochę profesjonalniej. Na pewno pomocne dla nas jak i dla osób używających naszego oprogramowania jest odpowiednie numerowanie wersji. Środowisko Microsoft Visual C# Express Edition 2008 (mvc#) nie posiada wbudowanej funkcjonalności pomagającej w prosty sposób kontrolować inkrementacje składowych odpowiadających za wersję oprogramowania.
Wyobraźmy sobie sytuację w której mamy listę obiektów abstrakcyjnego typu. Faktyczne obiekty przechowywane na liście muszą rozszerzać typ bazowy. Może to być np. lista potworów w grze albo książek na półce, w każdym razie identyfikujemy je po wspólnej abstrakcji...
Ostatnio musiałem napisać prostą aplikację, która z kilku pól składała wiadomość i wysyłała ją do mnie w formie maila..
Zauważyłem iż w końcu prowadzone są prace nad programowaniem równoległym dla platformy .NET, wcześniej dostępne tylko w rozważaniach akademickich (czytałem kiedyś bodajże o jakiś rosyjskim projekcie). Paradygmat dobrze już znany programistom C++ (np. implementacja OpenMP).
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...
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: Teraz wskazujemy serwis (wpisując jego adres: http://localhost/CAS.OPCWSDataAccess/OPCAdvancedDataAccess.asmx): Wpisujemy jeszcze nazwę naszej referencji, klikamy na "Add Reference" i referencja powinna nam się pojawić w naszym Solution: Teraz wykorzystamy dwie funkcje: GetAvailiableItems (zwracającą dostępne w serwerze elementy) oraz GetV...
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...
Napisanie programu do obsługi portu RS-232 za pomocą C# jest bardzo proste. :) Postaram się jednak napisać o tym kilka słów…
Już nie pierwszy raz dodawałem web referencję do projektu. Zawsze mnie zastanawiało dlaczego w solucji nie widać “zawartości” dodanej referencji do usługi. Mówiąc “zawartość” mam na myśli plik z wygenerowaną klasą czy plik zawierający ścieżkę do WDSL’a. W sumie to sensowne posunięcie, bo po co programista ma grzebać we wnętrzu pliku (Reference.cs), skoro jest on wygenerowany wygenerowany “>wygenerowany “>automatycznie i powiązany z usługą. W przypadku zmian po stroni...
System Windows udostępnia nam mechanizm komunikacji między procesowej który wykorzystuje tzw. named events. Dzięki niemu możemy sygnalizować jak i monitorować, dowolnie utworzone przez nas zdarzenia np. pomiędzy dwoma różnymi programami, lub bądź chyba częściej spotykany, pomiędzy różnymi wątkami pracującymi w ramach jednej aplikacji. Ograniczeniem tego mechanizmu jest brak możliwości przekazywania danych, służy on jedynie do sygnalizacji.Implementacja w .NET Implementacją tego mechanizmu na platformie ....
Ostatnio wspomniałem o walidowaniu pól w formularzach, teraz pora przejść do jeszcze fajniejszej funkcjonalności :) a mianowicie wykonywaniu analizy określonej X rzeczy w SharePoint 2010. Dlaczego X? dlatego, że jest to ograniczone tylko do waszej kreatywności :)
Jak ustawić dowolną wysokość wierszy w kontrolce ListView (WinForm, .NET 2.0) ? Najprostsze rozwiązanie – poprzez SmallImageList. Tworzymy obiekt ImageList, ustawiamy wymiary na 1×50 (aby uzyskać wiersze o wysokości 50px) i przypisujemy jako SmallImageList naszego obiektu ListView. Do obiektu ImageList nie musimy dodawać żadnego obrazka – wystarczą wymiary :)
W ostatnim czasie zgłębiam tajniki wzorców projektowych wspomagając się tą oto pozycją książkową: Książka w przemawiający do mnie sposób opisuję implementację dość dużej liczby wzorców projektowych opierając się na nowej wersji języka C#. Rozdziały kończą się ćwiczeniami sprawdzając...