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...
Autor: Dziś znalazłem fajną rzecz dostępną w R#. Być może jest to coś oczywistego, o czym wszyscy (korzystający z tego dodatku) wiedzieli, a może nie. Piszę, bo już wielokrotnie w przeszłości okazywało się, iż rzeczy najprostsze są najmniej oczywiste. Po zaznaczeniu tej opcji w ustawieniach, na dole w status barze VS pojawia nam się znacznik ile pamięci nasze VS zużywa. Powie ktoś – nic takiego. Racja. Jednak najlepsze pojawia się, gdy klikniemy na tą wartość prawym przyciskiem myszy i wybierzemy Collec...
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 ....
Jestem świeżo po sesji z debuggerem. Ostatnio aktualizowałem bazę danych SQL CE z wersji 3.1 do 3.5, w wyniku czego pojawiły się dziwne problemy z wstawianiem danych. Otóż raz na jakiś czas dane binarne dodawane do bazy były uszkodzone. Gdzie tkwił problem? Ano w oszczędności znaków (czytaj: lenistwie). Przykładowo definiując parametr dla obiektu SqlCeCommand, w sposób:cmd.Parameters.Add(new SqlCeParameter(“FileData”, question.FileData)); Nie określamy w sposób jawny jego typu. Silnik SQL CE musi niejako...
Bazy danych i XML 4145 dni, 1 godzinę, 4 minuty temu 37 źrodło rozwiń
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 :)
Ukazał się pakiet DTK dla Windows Mobile 6.5. Nie jest to SDK – zawiera m.in. obrazy do emulowania urządzeń opartych o WM 6.5. Z ciekawostek w API WM 6.5 wyróżnić można obsługę gestów dotykowych – wykonamy odpowiedni ruch palcem po ekranie i jakoś można to obsłużyć :)
Mobile development 4145 dni, 1 godzinę, 4 minuty temu 31 źrodło rozwiń
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 :)
Ilość informacji związanych z telefonem GSM które można uzyskać poprzez .NET Compact Framework jest spora, ale też ograniczona. Jedną z rzeczy których mi brakuje to pokazywanie w telefonie informacji z najbliższego nadajnika – żebym wiedział że jestem w Szczecinie, albo nawet w jakiej dzielnicy, czyli to co normalnie jest w telefonach dostępne. W przypadku mojego smartphone’a (LS KS20) który posiada Windows Mobile 6.0 Pro, jedyna informacja to nazwa operatora (czyli to co .NET Compact Framework udostępni...
Mobile development 4145 dni, 1 godzinę, 4 minuty temu 39 źrodło rozwiń
Macie problem z różnych wersjami swoich bibliotek ? Chcielibyście porównać ich API ? Skorzystajcie z Framework Design Studio. Oczywiście to nie wszystkie możliwości narzędzia. Narzędzie wyszło spod ręki Krzysztofa Cwaliny – przeczytajcie notkę na jego blogu.