Wspomnę dzisiaj o dość dziwnej funkcji, która została dodana w wersji 3.0 języka C#. Polega ona na możliwości dodania nowych metod do istniejących klas bez zmiany ich definicji. Odbywa się to poprzez zdefiniowanie tych dodatkowych metod jako statycznych (w innych klasach) i użyciu specjalnej składni dla jej pierwszego parametru.
Architektura 4674 dni, 6 godzin, 55 minut temu 111 źrodło rozwiń
W jednym z poprzednich wpisów opisywałem identyfikację rozdzielczości VGA na urządzeniach Windows Mobile. Pisałem, że kontrolki .NET CE same dopasowują się do aktualnej wartości CurrentAutoScaleDimensions. Tak też działa PictureBox, jednak zawartość kontrolki nie skaluje się automatycznie. A więc jak rozwiązać ten problem?
Mobile development 4677 dni, 14 godzin, 18 minut temu 32 źrodło rozwiń
Coraz więcej urządzeń Windows Mobile dostępnych na rynku posiada ekrany o wysokich rozdzielczościach (VGA i więcej). Jeżeli właściwość AutoScaleMode na formie jest ustawiona na Dpi, twoje kontrolki zostaną dopasowane automatycznie do aktualnej rozdzielczości. Jednakże jeżeli pewne elementy rysujesz ręcznie jak np. grafiki albo używasz ImageList nie zostaną one dopasowane. A więc jak rozwiązać ten problem?
Mobile development 4679 dni, 11 godzin, 20 minut temu 26 źrodło rozwiń
Pisząc programy pod .NET Compact Framework Microsoft dostarcza z Windows Mobile SDK zestaw emulatora urządzenia i skórek pod różne rozdzielczości. Znudzony trochę nieciekawym wyglądem postanowiłem stworzyć własną skórkę. A skoro firma HTC udostępniła HTC Touch Pro2 do testów, wybór był oczywisty.
Mobile development 4684 dni, 17 godzin, 28 minut temu 36 źrodło rozwiń
Popełniłem wpis o półprzezroczystych grafikach w .NET Compact Framework. Czas na opis realizacji rysowania grafik z pełnym wsparciem kanału alfa dla każdego pixla z osobna.
Mobile development 4708 dni, 8 godzin, 15 minut temu 58 źrodło rozwiń
Zastosowanie .NET "Extension Methods" Autor: CaMeL Podczas projektowania warstwy “serwisu” (services layer), przez niektórych zwanej warstwą aplikacji (application layer) tak naprawdę nie tworzymy warstwy odpowiedzialnej za przechowywanie logiki biznesowej czy logiki dostępu do danych. Budowa takiej warstwy, a w zasadzie jej działanie to utrzymywanie warstwy biznesowej w taki sposób aby można było z niej korzystać łatwiej i jaśniej....
Po opublikowaniu Microsoft Surface SDK postanowiłem się z nim zaznajomić i popełnić jakąś aplikację. Po obejrzeniu aplikacji do obsługi Twittera - Surface Twitter oczywisty wybór padł znowu na Blipa. Ale po kolei…
Proste, lekkie narzędzie do generowania dokumentacji HTML/CHM na podstawie zestawów .NET i plików XML. Projekt tworzony w języku C#. Alternatywa dla Sandcastle ;)
Chciałbym spróbować wskazać miejsca, gdzie można znaleźć informacje na temat C# i .NET w języku polskim. W moim post'cie skupię się przede wszystkim na blogach. Moja lista i opisy mają charakter dość subiektywny. Nie mam również zamiaru oceniać, czy wskazywać najlepszego. Kolejność została ustalona w sposób nie zamierzony. Mam nadzieję, że nikt nie poczuje się urażony, zarówno tym co napisałem, jak i tym, że mogło go zabraknąć. Uwaga: w liście zostały uwzględnione tylko te blogi, które w ciągu ostatnich ...
Niejednokrotnie podczas pisania aplikacji napotyka się na sytuację gdy jedna metoda produkuje pewne dane, inna natomiast w pewien sposób je konsumuje. Czasem dobrym pomysłem jest, w przypadku gdy produkowane dane są w pewien sposób podzielne na części, wykonywać produkcję i konsumpcję w równoległych wątkach. Tutaj pojawia się istotny problem z zagadnienia wielowątkowości - synchronizacja. Oba (wszystkie) wątki współdzielące dany zasób muszą z niego korzystać w pewien ustalony sposób, tak aby w danej chwi...
Programowanie rozproszone 4732 dni, 6 godzin, 37 minut temu 92 źrodło rozwiń
Przygotowanie serwisu dla systemu operacyjnego Windows jest przy użyciu Visual Studio (VS) bardzo proste. Wystarczy tylko utworzyć nowy projekt na podstawie szablonu "Windows Service" lub do istniejącego projektu dodać nowy element typu "Windows Service". Następnie należy zaimplementować metody...
Programowanie rozproszone 4732 dni, 15 godzin, 57 minut temu 178 źrodło rozwiń
Wśród feature'ów wprowadzonych w wersji 3.5 frameworka .NET jest między innymi LINQ (Language INtegrated Query). Mechanizm ten umożliwia - w dużym skrócie rzecz jasna - konstruowanie zapytań odnoszących się do kolekcji obiektów (w zasadzie dowolnego rodzaju) przy pomocy operatorów znanych z relacyjnych baz danych, jak SELECT czy WHERE. Ponadto w .NET 3.5 język C# został też odpowiednio rozszerzony, aby zapytania ta składniowo mogły przypominać kwerendy podobne do tych występujących w różnych odmianach ję...
Bazy danych i XML 4735 dni, 14 godzin, 46 minut temu 133 źrodło rozwiń
Maciej Aniserowicz: Drugi raz w ciągu kilku dni przytrafiły mi się kłopoty podczas wykorzystania metody Convert.ChangeType(). Scenariusz jest bardzo prostu: mam wartość pobraną skądś-tam (baza danych, http request czy cokolwiek innego) reprezentującą znany mi typ, jednak przechowywaną w postaci stringa. Wszystko śmigało jak trzeba dopóki traktowałem w ten sposób zwykłe liczby i daty. Jakiś czas temu wpadł mi tam Guid, co skończyło się wyjątkiem InvalidCastException. Teraz z kolei to samo p...
Chyba każdy, kto pisał kiedykolwiek aplikacje wielowątkowe, które swoje wyniki prezentowały na kontrolkach WinForms spotkał się z następującym wyjątkiem: System.InvalidOperationException occurred, Message="Cross-thread operation not valid: Control 'MainForm' accessed from a thread other than the thread it was created on.", Source="System.Windows.Forms" Powyższy wyjątek pojawia się, gdy chcemy zmodyfikować zawartość kontrolki z innego wątku, niż ona została wytworzona. W prostszych słowach można powiedz...
Treść tego wpisu mógłbym zawrzeć w jednej sentencji: “nie używaj DrawString” i zasadniczo mógłbym zakończyć, ale postaram się udowodnić dlaczego...
Mobile development 4748 dni, 19 godzin, 38 minut temu 77 źrodło rozwiń
Artykuł opisuje zagadnienia związane z równoczesnym dostępem do wspólnych elementów przez wiele wątków oraz możliwe konflikty - w języku C#. Nie znajdziecie tu natomiast podstaw wielowątkowości w C#, zakładam iż te są już znane. Przykłady napisane jako proste aplikacje konsolowe – krótkie i zwięzłe bez nadmiaru niepotrzebnych informacji (jednak na tyle samodzielne, że można je bez problemu odpalić przez zwykłe skopiowanie).
Programowanie rozproszone 4752 dni, 12 godzin, 27 minut temu 143 źrodło rozwiń
Chciałbym przybliżyć Wam dwa interfejsy związane z AJAX-em i ASP.NET a mianowicie IPostBackEventHandler oraz ICallbackEventHandler. W skrócie opiszę do czego możemy je wykorzystać i w jaki sposób.
Wzorzec memento pozwala na przechwycenie stanu obiektu i zachowanie go gdzieś na zewnątrz tego obiektu, dzięki czemu może być on później odtworzony....
Architektura 4754 dni, 22 godziny, 54 minuty temu 217 źrodło rozwiń
Stawiając pierwsze kroki w programowaniu w C#/.NET, można odkryć kilka ciekawych właściwości, które nie zawsze występują w innych językach. Jednym z nich jest całkiem dobre rozwiązanie odwiecznego problemu w kodowaniu, czyli zamiany między różnymi typami danych: zwłaszcza do i z łańcucha znaków. Przykładem jest chociażby metoda ToString, która zrobi nam napis z dowolnego obiektu. Są też metody w stylu int.Parse, które potrafią odczytać liczbę zapisaną jako tekst i w zgrabny sposób rozwiązują jeden z na...
Długo się zanosiłem z wrapperem na RIL-a i zawsze mi brakowało czasu, ale może od początku… Dla niezorientowanych Radio Interface Layer jest warstwą łączącą hardware telefonu z oprogramowaniem. Pisząc hardware mam na myśli część telefonu Windows Mobile odpowiedzialną za wykonywanie połączeń i transfer danych do stacji komórkowych (Radio). Z punktu widzenia programisty nic poniżej RIL-a już nie ma poza samym sprzętem. Więcej o samym systemie można poczytać na http://msdn.microsoft.com/en-us/library/aa920...
Mobile development 4761 dni, 23 godziny, 38 minut temu 61 źrodło rozwiń