Archiwum dla daty Marzec,2010

C#: eksport danych do pliku XLS (2010-3-27)

Jakiś czas temu pojawiła się w firmie, w której pracuję potrzeba uaktualnienia narzędzia do prezentacji danych. Jako, że źródła poprzedniej wersji (nie pisanej przeze mnie) poszły.. khem.. hen daleko w momencie spalenia się dysku twardego, trzeba było napisać tą aplikację od nowa, co okazało się interesującym doświadczeniem. Było to typowe zagadnienie inżynierii odwrotnej. Opisywać wyświetlania […]

Short Tip #04: słowa kluczowe jako nazwy zmiennych (2010-3-26)

Czasem chciałoby się nazwać zmienną tak, jak słowo kluczowe języka, chociażby zmienną typu int chcielibyśmy nazwać właśnie.. „int„. Taka konstrukcja nie przejdzie, zakończy się błędem kompilacji: C# umożliwia taką operację, wystarczy przed nazwę zmiennej wstawić „@”, tak jak poniżej: To raczej ciekawostka, niż użyteczny ficzer, bo nie wyobrażam sobie zastosowania takiego kodu:

Zmiany, zmiany (2010-3-23)

Wraz z nadejściem wiosny, devlog rozkwitł. Co prawda nie na zielono, ale (jak widać) w delikatne odcienie niebieskiego. Zmiana layout’u była podyktowana dwiema rzeczami, ale na siłę mogę wydumać trzeci powód: Zwiększona czytelność. Jasne tło i taki układ kolorów jest według mnie przyjaźniejszy niż poprzedni, czarno-biało-zielony mix. Estetyka. Niestety zauważyłem, że treść oraz (przede wszystkim) […]

Short Tip #03: Extension Methods (2010-3-19)

Dla każdego programisty błogosławieństwem są (a przynajmniej powinny być) gotowe biblioteki. Sam regularnie korzystam z STL# ;), czyli System.Collections.Generic. Są to skompilowane klasy, jednak .NET 3.5 (a dokładniej C# 3.0) dostarcza możliwość dodania do nich własnoręcznie zaimplementowane metody. Konstrukcja ta nosi nazwę Extension Methods, a korzysta się z niej w następujący sposób:

Konferencja WDI2010 (2010-3-18)

17.03.2010 miałem okazję uczestniczyć w konferencji Warszawskie Dni Informatyki 2010. Program co prawda był dwudniowy, ale ograniczenia czasowe oraz indywidualne preferencje dotyczące tematów poszczególnych sesji zaważyły na wyborze właśnie środy. Po wyborze dnia odbył się dalszy „odsiew” – z pięciu proponowanych sesji uczestniczyłem w czterech, krótkie podsumowanie każdej z nich poniżej. „BitLocker i BitLocker To […]

Short Tip #02: widoczność Auto-Implemented Properties (2010-3-13)

Stare chińskie przysłowie mówi, że „Krótki fragment kodu wart jest więcej niż tysiąc słów.” Nie przedłużając więc: Uściślając: w przykładowej klasie jest prywatna zmienna _member, do której odwołujemy się z zewnątrz przez publiczną właściwość (ang. Property) Member. Mechanika obsługi tej zmiennej przez właściwość nie jest zbyt wyszukana, więc możemy zastąpić ją tzw. Auto-Implemented Property (lub […]

Short Tip #01: operatory ?: oraz ?? w C# (2010-3-5)

Poniżej krótki sposób jak pozbyć się ze swojego kodu pewnych potworków. Bardzo częstą konstrukcją if (..) then .. else .., jednak niech Was ręka boska broni od napisania czegoś takiego: Zamiast tego proponuję użycie operatora „?” (znak zapytania), o następującej składni: który zwraca expression1, jeżeli warunek condition jest prawdziwy lub expression2 w przeciwnym przypadku. Refactoring […]

notyfikacje (2010-3-2)

Sposobów na komunikację aplikacji z użytkownikiem jest kilka. Powiadomieniem o zakończeniu długo trwającej operacji (np. ściąganie pliku, filtrowanie obrazu, wykonywanie złożonych obliczeń matematycznych) może być informacja na pasku statusu, tzw. „balloon tip”, odegranie dźwięku lub wyświetlenie okna modalnego (nie zalecam). Co jednak w przypadku, gdy użytkownik zminimalizował okno? Może dowiedzieć się o zakończeniu operacji gdy […]