Na 10.-tym spotkaniu grupy PLSSUG 23.lipca wydarzyła się rzecz niespotykana. Udało mi się przed grupą zapaleńców i administratorów baz danych (MS SQL 2005+) zaprezentować temat czysto .NET-owy. Odbiło się to nieco na końcowych ocenach, gdzie grupę administratorów zanudziłem na śmierć i uśpiłem na prawie 2h, a grupę programistów doprowadziłem do ekstazy i niemałych braw. Wystąpienie przedłużyło się prawie dwukrotnie, ale mimo to nikt nie zauważył nawałnicy, która tego dnia przetoczyła się przez Wrocław.
Read more →Debugowanie i podglądanie wartości zmiennych w oknie Watch, często byłoby dużo wygodniejsze, gdyby dane można rzutować na inne typy oraz poddawać je innym manipulacjom. Na szczęście prócz wymuszenia zmiany typów, okno to posiada wbudowany zestaw predefinowanych formatów, które mogą pobierać dane ze znanych typów wyliczeniowych (Windows Messages lub Code Errors) lub po prostu odczytywać napisy ANSI / UTF-16, bądź traktować dane jako tablice o zadanej wielkości, podając wartości wszystkich elementów.
Read more →Program KeePass Password Safe ma tę niefortunną dla języka polskiego uciążliwość, iż domyślnie przechwytuje on wszystkie naciśnięcia klawisza “Ctrl+Alt+A” (kilku innych również) w całym systemie i wykorzystuje do swoich akcji. Powoduje to niemożność napisania literki ‘ą’ w jakiejkolwiek aplikacji.
Na szczęście da się to zmienić poprzez: Narzędzia –> Opcje –> Zaawansowane –> tutaj przycisk Auto-Type na dole ekranu. Wybieramy mniej uciążliwy skrót i po sprawie!
Read more →Kolejny sposób jak zmarnować sobie kilka wieczorów – to próba konfiguracji trybu dual-boot w bootloaderze Windows Vista, tak aby uruchamiał on Vistę 64-bitową albo XP 32-bitowego (i może jakiś inny w przyszłości). Każdy z tych systemów jest zainstalowany na osobnym dysku twardym na pierwszej partycji. Jest ona zawsze aktywna i rozpoznawana jako dysk C:, gdy startuje system. Mam nadzieję, że jeśli przeczytasz mój dalszy wywód to również dojdziesz do przekonania, że szkoda marnować czas na próbę spięcia tych systemów razem.
Read more →Moje usilne starania wreszcie zostały uwieńczone sukcesem. Pragnę tym samym szybko donieść, iż możliwa jest instalacja Windowsa XP Professional (SP3) 32-bit na komputerze opartym o płytę główną ASUS P5Q Deluxe z zamontowanymi dyskami twardymi oraz czytnikiem DVD wyłącznie na interfejsie SATA2. Nie oznacza to, że jest to proste :)
Podczas swojej walki z całym tym badziewiem napotkałem problemy następującej natury, zatem jeśli mierzysz się z nimi, to może ten wpis jest właśnie dla Ciebie:
Read more →Bardzo szybko okazuje się, że prosta operacja przygotowania e-maila w domyślnym kliencie pocztowym na platformie Windows urasta do rangi spędzenia całego wieczoru na przeglądaniu internetowych forów w poszukiwaniu pomocy… Mail ten był o tyle specyficzny, iż miał posiadać ustawione od razu wartości:
w polu osoby odbiorcy w polu tytułu treść oraz być z załącznikiem. Najprostsze rozwiązanie, jakie przychodzi na myśl to wykonać zwykłe otwarcie poniższego odnośnika:
[mailto:receiver@mail.com?subject=Tytul&body=To jest specjalny email&attachment=/path/file.txt](mailto:receiver@mail.com?subject=Tytul&body=To jest specjalny email&attachment=/path/file.
Read more →Zachęcony ostatnio rozmową z kolegą z pracy, który w ramach zarządzania swoim domowym projektem zrobił z nim wreszcie porządek na dysku i przeniósł do systemu kontroli wersji, postanowiłem uczynić to samo. Oczywiście tylko w stosunku do projektów, których na razie nie mam zamiaru publikować i które aktualnie już nie znajdują się na codeplex.com czy code.google.com.
Nie będę w tym momencie wychwalał korzyści płynących z utrzymywania repozytorium i możliwości podglądnięcia dowolnych historycznych zmian, etykietowania, czy nawet tworzenia wersji eksperymentalnych naszego projektu w stosunku do stosowanej obecnie (i powszechnie?
Read more →Projekt ten zajmuje mi już ponad rok czasu i ciągle zauważam jak wiele drobnych rzeczy może wpływać na wydajność oraz jakość pracy. To, czemu aktualnie poświęcam najwięcej uwagi – to automatyczne generowanie kodu w Visual Studio.
W aktualnym założeniu - kod ten powstaje w oparciu o relacje pomiędzy modułami w projekcie i nie wnosi żadnej funkcjonalności prócz “przepisania” typów (klas i struktur) z jednego API na inne (czytaj: C/C++ na C#/VB.
Read more →Nieprawdą jest, że na platformie .NET nie istnieją wskaźniki. W C# w sekcji unsafe, możemy spokojnie mieszać “typowy” kod .NET z operacjami na wskaźnikach. Tu jednak uwaga:
sekcje unsafe muszą być propagowane w górę, a to oznacza, że i metoda, w której są zawarte, musi być również opisana jako niebezpieczna (czasem i cała klasa), oraz co dużo ważniejsze - podczas kompilacji modułu (assembly) wymagany jest przełącznik “/unsafe”, zezwalający jawnie na używanie niebezpiecznych operacji na wskaźnikach.
Read more →TytanNET jest moim autorskim dodatkiem (add-in) do Visual Studio 2005 oraz 2008. Głównym celem, jaki mi przyświecał przy jego tworzeniu, było ułatwienie pracy i zmniejszenie nudnego kodowania poprzez automatyzację najczęściej wykonywanych akcji. Zalicza się do nich elementy rozszerzające standardowe środowisko IDE o:
okna narzędziowe
Debug Output View Registry Editor View Environment Variables View metody refaktoringu kodu
Assign Reorder Extract Property Init Constructor Multi-Raname Open Windows Explorer wizualizatory obiektów podczas debugowania
Read more →