Dzisiaj kontynuacja ostatniego wpisu, traktującego o najprostszych operacjach na wątkach. Bez zbędnych wstępów przejdę więc do klasy ReaderWriterLock. ReaderWriterLock Klasa ta daje możliwość, której nie daje nam klasa Monitor, mianowicie rozróżnianie pomiędzy blokadą do odczytu(umożliwia ona wielu wątkom jednoczesny dostęp do zasobu) oraz zapisu(tylko jeden naraz możliwy, oczywiście wtedy odczyt jest również zablokowany. Aby jej użyć wystarczy instancja ReaderWriterLock w klasie, do której dostęp ma ...
Strona głównaUżytkownik
rafal_t | użytkownik
Często dane, które posiadamy musimy odpowiednio sformatować przed ich wyświetleniem.Jeżeli takie dane musimy zwalidować, to warto zadbać, aby walidowane dane były w takim samym formacie jak je wyświetlamy.
Architektura 5526 dni, 20 godzin, 42 minuty temu 45 źrodło rozwiń
Dzisiejszy wpis to praktycznie dokończenie dwóch poprzednich, stanowiące jakieś ich uzupełnienie, lub też swojsko rzecz ujmując ‘dobicie’. Do zbadania na dziś przygotowałem klasy Timer i BackgroundWorker. Ta druga trochę nietypowo, ponieważ wykorzystana zostanie w ‘aplikacji’ konsolowej, a głównym(tak mi się zdaje) jej zastosowaniem są aplikacje okienkowe i puszczanie złożonych czasowo operacji w tle, by GUI nie zostało ‘zawieszone’. Timer(System.Threading) Tutaj prosto i przyjemnie: jeśli chcemy odpala...
« Coś tam robięLoggery, mono, C++ i C#. I Ubuntu… »Wykorzystanie kodu C++ w C# Opublikował/a Kurak w dniu styczeń 10, 2008 Przymierzam się do stworzenia edytora poziomów do Shadow Clones. Zamierzam użyć C# i Windows.Forms – wybór taki głównie z powodu szybkości i wygody pisania, ale także z chęci zdobycia większego doświadczenia w pisaniu na tę platformę. Na razie jednak czynię pewne przygotowania (niewiele ich jest – bo i niewiele ostatnio chce mi się robić) – między innymi uczę się Ale po kolei: zamó...
Być może się komuś przyda. Ta darmowa biblioteka: http://www.carlosag.net/Tools/ExcelXmlWriter/ o nazwie CarlosAg Excel Xml Writer Library umożliwia tworzenie plików Excela w formacie XML (dokładniej jako: XML Spreadsheet). Nie wymaga ona zainstalowanego Excela. Wspiera formatowanie, wyrównania, formuły, tabele przestawne i inne rzeczy.
Jak zapewne większość wie Qt jest to zestaw bibliotek programistycznych wspomagających tworzenie aplikacji w C++, Java ... , która może być wykorzystywana na różnych systemach operacyjnych (tzw. idea 'cross-platform'). O ile kompilacja w środowisku Linux jest dosyć prosta, należy z repozytoriów zainstalować Qt i za pomocą dwóch komend kompilować napisany program, tak chcąc zintegrować środowisko MSVS2008 oraz bibliotekę Qt trzeba zapewnić odpowiednio skonfigurowane pliki nagłówkowe. Instrukcja ta zamiesz...
Programistom używającym kontrolki GridView na co dzień znany jest zapewne fakt, że w przypadku pustego źródła danych kontrolka nie generuje żadnego widocznego markup'u. W szczególności nie będą widoczne nagłówki kolumn czy wiersz dodający. Kiedy w wyszukiwarce wpiszemy hasło Show GridView if datasource is empty otrzymamy oczywiście mnóstwo rozwiązań tego problemu. Niestety pośród nich nie znajdziemy, a przynajmniej ja nie znalazłem, satysfakcjonującej odpowiedzi dotyczącej źródła danych typu ObjectDa...
Dziś zaczniemy cytatem. Jak ktoś wie z czego to i kto to mówi to pogratulować dobrego gustu :) Czemu nie ma prądu? Bo u nas nie ma minusów, tylko same plusy... A czemu taki cytat? A no dlatego, że chciałem wykonać wydawałoby się banalną czynność wyświetlenia wartości double z '+' z przodu.
Architektura 5523 dni, 20 godzin, 28 minut temu 73 źrodło rozwiń
Zwykle kod kompiluje się i wykonuje build bezpośrednio ze środowiska IDE, czasami jednak zachodzi potrzeba, że chcemy wykonać build poza środowiskiem IDE, np. wykorzystując skrypty linii poleceń systemu Windows. Jak można to zrobić? Są przynajmniej trzy możliwości: kompilator CSC, MSBUILD lub Visual Studio wywołane z linii poleceń.
Jednym z założeń wzorca Design by contract jest sprawdzanie poprawności przekazanych do funkcji argumentów. Zapewne w wielu miejscach Twojego kodu możesz spotkać konstrukcje sprawdzające czy przekazane argumenty nie są równe null - praktycznie identyczne w każdej funkcji. W serii artykułów zostanie przedstawiony jeden ze sposobów unifikacji i uniknięcia powtórzeń.
Autor: Jakiś czas temu opisywałem jak można przy pomocy platformy .NET utworzyć i zainstalować serwis w systemie Windows. W tamtym przypadku do instalacji bądź deinstalacji serwisów zostały wykorzystane odpowiednie klasy instalacyjne, które wykorzystane są podczas instalacji, bądź deisntalacji całego produktu. Zdarza się jednak, że nie zadziałają one jak należy (np. nie potrafią usunąć serwisu), czasami po prostu nie chcemy uruchamiać instalatora produktu by przetestować nasz serwis lub chcemy jako serwi...
Krótka ciekawostka, pewnie znana większości: wrzucając do katalogu głównego aplikacji ASP.NET plik o nazwie app_offline.htm spowodujemy, że będzie on serwowany jako odpowiedź na wszystkie żądania do tej aplikacji.
W części pierwszej poznaliśmy założenia zadania. Tym razem zaczniemy budować implementację. W tym miejscu wspomnę, że w przeważającej większości zabaw z wyrażeniami lambda oraz składnią imitującą język naturalny warto najpierw napisać przykładowe użycie kodu (jak to zrobiliśmy wcześniej), a dopiero później próbować zrealizować pomysł. Korzystamy z funkcji rozszerzających, więc pierwszą czynnością jest przygotowanie statycznej klasy, w której zamieścimy implementację - nie ma tu nic odkrywczego: publi...
Autor: Kilka dni temu powstał w mej głowie misterny plan opakowania DatePickera od jQuery we własną kontrolkę ASP.NET. Dość łatwo poszło (postaram się to opisać w kolejnym wpisie), jednak chciałem jednocześnie móc walidować wprowadzone dane po stronie klienta i serwera. Niezbędne więc okazało się napisanie własnego Validatora. Nie jest to zadanie zbyt trudne – przedstawię dziś sposób na jego realizację.
Prosta aplikacja do pobierania PublicKeyToken.
Czym jest owy NDepend? To narzędzie dla .NET, którego autorem jest Patrick Smacchia. Służy ono do badania i raportowania złożoności oraz jakości tworzonego kodu. Na chwilę obecną posiada 82 metryki wyświetlające bardzo szczegółowe dane. Dodatkowo generator raportów sprawiają, że nawet “nieprogramista” może ocenić w jakiej kondycji jest dostarczony...
Teraz możliwość zabawy z wersją Azure CTP została bardziej “upubliczniona”. Wystarczy zalogować się na swoje konto (lub je założyć jeśli się go nie posiada) na witrynie Connect.
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 5540 dni, 15 godzin, 3 minuty temu 39 źrodło rozwiń
Jak możemy przeprowadzić testowanie klas abstrakcyjnych przy pomocy Mock'ów.
Po wydaniu kolejnej wersji BlipFace jeden z użytkowników napisał, że przydało by się aby BlipFace zapamiętywał położenie oraz rozmiar okna między uruchomieniami. Po chwili szukania znalazłem post Erwyna van der Meera na temat Remembering window positions in WPF. Niestety zaprezentowane rozwiązanie zapamiętywało rozmiar oraz położenie jednego okna. Długo nie myśląc zmodyfikowałem rozwiązanie aby spełniało moje wymagania. Aby z niego skorzystać trzeba dodać dwie rzeczy do projektu:do kodu xaml definicji i...