.net

Lista zainstalowanych aplikacji

Czasami występuje potrzeba znalezienia informacji o tym jakie oprogramowanie jest zainstalowane na komputerze. Przykładowo chcemy się dowiedzieć, czy ktoś ma już zainstalowany dany program i gdzie jest zainstalowany. Wiedza ta jest potrzebna, gdy chcemy dodać przykładowo jakiś plik do katalogu z zainstalowanym już programem. Najprostszym przykładem jest pisanie różnego rodzaju pluginów. Problem nie występuje jeśli aplikacją została zainstalowana w katalogu domyślnym, który znamy, ale tego nie można już zagwarantować. […]

By |2012-06-18T13:36:23+02:0010 stycznia 2011 |C#|1 komentarz

Reset indeksu tabeli w SQL

Dziś potrzebowałem zrobić bardzo nietypową operację - zresetować indeks w tabeli w MS SQLu. I szczerze mówiąc nie sądziłem, że robi się to tak prosto. W tym celu należy użyć komendy: DBCC CHECKIDENT (nazwa_tabeli, reseed, ostatni_indeks) W komendzie podajemy nazwę tabeli, w której chcemy zresetować indeks oraz numer ostatniego indeksu w tabeli. Jeżeli chce się aby automatycznie generowane numery zaczynały się od 1 to należy użyć tego polecenia w następujący sposób: DBCC CHECKIDENT (nazwa_tabeli, reseed, 0) Należy pamiętać, że użycie tej komendy może spowodować błąd, w sytuacji, gdy ustalimy pierwszą wartość poniżej wartości użytych już w tabeli.

By |2012-06-18T13:37:15+02:0010 grudnia 2010 |SQL|1 komentarz

Snippety

Ostatnio odkryłem na nowo funkcjonalność definiowania własnym szablonów kodu. Funkcjonalność ta jest bardzo często nie wykorzystywana przez programistów, ale potrafi zdziałać cuda. W pisaniu aplikacji biznesowej zawsze przychodzi taki moment, że trzeba napisać kod służący do zapisywania danych do bazy, jak równię ich odczytywania. W takim przypadku 90% kodu jest taka sama. Po pierwsze odczytujemy numer kolumny, w której przechowywane są dane w np. SQLDataReader. A następnie budujemy na podstawie danych obiekty. W trakcie odczytu danych z bazy należy oprogramować działanie w sytuacji gdy wystąpi null. I tu najczęściej sprawdza się czy w kolumnie odczytywanej występuje wartość null. Jeśli tak [...]

By |2013-06-10T13:34:53+02:0030 listopada 2010 |C#, Dodatki / Narzędzia|1 komentarz

SerializableDictionary

Dzisiejszego dnia potrzebowałem użyć serializacji XML dla klasy Dictionary. Bardzo się zdziwiłem gdy okazało się, że klasa ta nie wspiera tego rodzaju serializacji. Wydawałoby się, że zapis danych w formacie XML jest dzisiaj już standardem, ale okazuje się, że jednak nie wszędzie. Stosując podstawową zasadę programisty po co pisać coś co ktoś inny już napisał uruchomiłem Google i zacząłem szukać rozwiązania. Udało mi się znaleźć kilka przykładów rozwiązania tego problemu, ale każde z nich miało jakiś drobny błąd, który powodował, że słownik nie działał tak jak powinien. […]

By |2013-06-10T13:46:57+02:0031 października 2010 |C#|9 komentarzy

Productivity Power Tools – z czym to się je

Dzisiejszy wpis chciałem poświęcić dodatkowi do Visual Studio, bez którego uważam, że nie da się pracować. Osoby, które go nie używały nie wiedzą co tracą. Tym dodatkiem jest Productivity Power Tools. Jest on darmowy i można go pobrać ze strony http://visualstudiogallery.msdn.microsoft.com/en-us/d0d33361-18e2-46c0-8ff2-4adea1e34fef. […]

By |2012-06-18T13:39:24+02:0023 października 2010 |Dodatki / Narzędzia|3 komentarze

Sprawdzanie wersji Excela

W aplikacjach biznesowych bardzo często występuje funkcjonalność importu / eksportu danych z / do Excela. Jednym ze sposobów pobierania danych z Excela jest zastosowanie OLE DB jako dostawcy danych. Nie jest to może rozwiązanie najbardziej optymalne, ale czasami nie ma możliwości wpływu na jego wybór. W celu skorzystanie z tego sposobu należy zdefiniować łańcuch połączenia. I tu pojawia się problem ponieważ aby ten sposób zadziałał musi być zainstalowany Excel. Dodatkowo definicja łańcucha połączenia zależy od wersji Excela zainstalowanej na komputerze. Oba te warunki wymuszają sprawdzenie tego przed próbą pobrania danych z Excela. […]

By |2012-06-18T13:40:52+02:0019 września 2010 |C#|0 komentarzy

Parallel.For – wielowątkowość nigdy nie była tak łatwa

W ostatniej wersji C# pojawiła się możliwość zrównoleglenia obliczeń w bardzo prosty sposób. Pętlę: for (int n = 0; n <  8; n++) { Console.WriteLine("Normal - iteracja {0} wątek {1}", n, Thread.CurrentThread.ManagedThreadId); } można zastąpić następującą konstrukcją: Parallel.For(0, 8, i => { Console.WriteLine(„Parallel – iteracja {0} wątek {1}”, i, Thread.CurrentThread.ManagedThreadId); }); […]

By |2013-06-10T13:41:23+02:0012 sierpnia 2010 |C#|0 komentarzy

Hello World

Witaj! Mój pierwszy post na tym blogu zacznę w sposób tradycyjny. Każdy programista rozpoczynał swoją przygodę z programowaniem od programu o nazwie „Hello World”. Takie program nic wielkiego nie robi – wyświetla tylko napis na ekranie „Hello World”. Z drugiej strony program ten działa, co jest też dużym osiągnięciem. […]

By |2012-06-18T13:42:07+02:0026 maja 2010 |C#|0 komentarzy