Jakiś czas temu napisałem o konkursie na crackme dla .net zorganizowanym przez Krakowska Grupa Developerów .NET, dzisiaj z ciekawości tam zajrzałem i zobaczyłem, że jest tylko 1 rozwiązanie, więc postanowiłem zadziałać...
O tym jak bardzo należy uważać i dlaczego przed ostatecznym wypuszczeniem produktu do klienta trzeba wszystko sprawdzić 10 razy, przekonał się niecały miesiąc temu brytyjski oddział Microsoft...
Ostatnio zacząłem eksperymentować z szyfrowaniem na platformie .NET. Pierwszym celem jaki sobie postawiłem było przekształcenie tekstu do postaci zaszyfrowanej...
Podczas pisania komponentu w C# napotkałem na niewielki problem. Otóż chciałem wyświetlać stronę html, której źródło znajdowało się w pliku .html . Niestety same z tym problemy...
Jeżeli w codebehind zmienimy właściwość 'Enabled' kontrolki CheckBox na false to w clientcode zmiana właściwości 'disabled' tej kontrolki na true nie działa, dotyczy tyko IE i kontrolki CheckBox (inne kontrolki np. TextBox działają prawidłowo, w FireFox wszystko działa ok)...
Przestrzenie nazw (ang. namespace) służą do organizacji typów (klas, wyliczeń, struktur) w logiczne całości...
Język C# daje nam możliwość zamiany zmiennej typu prostego na obiekt i vice versa. Obie konwersje są realizowane za pomocą opakowywania (ang. boxing) i odpakowywania (ang. unboxing)...
Jakiś czas temu ukazała się wersja 2.0 projektu Phalanger – kompilatora PHP dla platformy .NET. Wprawdzie już o niej pisałem, ale tylko jako wzmiankę o nowej wersji. Teraz przyrzyjmy się co możemy zrobić ciekawego w obecnej wersji...
Zgodnie z wcześniejszymi zapowiedziami nadal kontynuowane są prace nad upublicznieniem kodu źródłowego .NET Micro Framework na zasadach standardowej licencji open source. Po tej zmianie każdy będzie mógł bezpłatnie pobrać kod .NET ...
Czasami przychodzi moment kiedy chcielibyśmy kompilować nasz projekt poza środowiskiem graficznym VS. Powodów wyklarowania się takiej potrzeby może być sporo...
Projektujesz urządzenia elektroniczne? Piszesz aplikacje komunikujące się z zaprojektowanym urządzeniem z komputera? Jeśli tak, to wiesz, że dedykowana aplikacja daje najwięcej możliwości, a jej potencjał zależy tylko od Twojej pomysłowości...
W poprzednim artykule z serii opsiującej sposób instalacji i przygotowania środowiska do pracy z .NET Micro Framework opisany został proces instalacji Visual C# 2008 Express Edition. Jest to punkt wyjścia do kolejnego etapu, opisującego intsalację .NET Micro Framework SDK 3.0, które jest niezbędne do pracy z .NET MF...
Na oficjalnym blogu zespołu pracującego nad .NET Micro Framework znalazła się wzmianka na temat .NET MF w wersji 4.0. W chwili obecnej wersja beta została udostępniona dostawcom sprzętu pracującego pod kontrolą MF (między innymi GHI Electronics). Upublicznienie wersji beta ma nastąpić w sierpniu, natomiast wersja finalna ma być gotowa jesienią bierzącego roku....
Metody rozszerzające ("extension methods") pozwalają na dodanie metod do istniejących typów bez korzystania z dziedziczenia lub uciekania się modyfikacji definicji orginalnego typu. Metody te są zawsze statyczne, ale..
W miarę jak staję się starszy i mądrzejszy jeszcze starszy jako programista, zauważyłem, że mój osobisty styl pisania kodu podąża mocno w stronę minimalizmu. Byłem zadowolony, dowiedziawszy się, iż wiele z konwencji kodowania, na które się zdecydowałem w ciągu ostatnich 20 lat zostało usystematyzowanych w Spartańskim programowaniu. Nie, nie w tym sensie spartańskie, aczkolwiek istnieje historyczne powiązanie. Konkretne znaczenie słow...
Podczas tworzenia oprogramowania jedną z częściej wykonywanych operacji jest sprawdzanie, czy dany obiekt nie jest nullem. Często wygląda to tak:..
Od paru lat MS przygotowuje nową wersję języka C#. Ostatnio miały miejsce dwa związane z nią event'y: udostępnienie zbiorczej dokumentacji do języka C# uwzględniającej wersję 3.0 oraz udostępnienie beta wersji Visual Studio 2008 „Orcas”, która ma wbudowaną obsługę C# 3.0. Jako, że ciekawość pierwszym krokiem do... poznania, postanowiłem bliżej się przyjrzeć tej „technologii jutra"...
Korzystając z WinForms wcześniej czy później możemy mieć problem z odwołaniem się do kontrolek z innego wątku - stworzonego np w celu zabezpieczenia GUI przed zawieszeniem podczas wywołania metod, które długo działają. Bezpośrednie wywołanie metod kontrolki z innego wątku spowoduje wystąpienie wyjątku InvalidOperationException z komunikatem "Cross-thread operation not valid: Control 'xyz' accessed from a thread other than the thread it was created on."...
W języku C# istnieje co najmniej pięć sposobów implementacji tego wzorca. Różnią się prostotą implementacji oraz obsługą wielowątkowości. Wszystkie [pięć] opisane są na stronie http://www.yoda.arachsys.com/csharp/singleton.html..
Oto pewne rozwiązanie, które nazwałem Manager, oparte o wzorzec projektowy Singleton, które może być przydatne w aplikacji, w której elementy "aktywne" nie są powiązane ze sobą referencjami, a jednocześnie wymagane jest przesyłanie danych lub zdarzeń między nimi. Ma to miejsce na przykład w aplikacji MDI lub w aplikacji opartej o DockPanel Suite. IMHO coś co występuje często, nie koniecznie w postawi obiektów wizualnych...