dotnetomaniak.pl - Artykuły z tagiem C#

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);}); Zapis ten powinien spowodować, że obl...

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

Programowanie rozproszone 5225 dni, 14 godzin, 3 minuty temu paduda 174 źrodło rozwiń

Konwersja Enum do List. Zawsze zapominam jak to się robi a to tak prosta sprawa. IList listDayOfWeek = new List(); var dic = Enum.GetValues(typeof(DayOfWeek)) //pobiera wszystkie wartości z danego typu as IEnumerable; //!! najważniejszy punkt programu // a teraz dodajmy warunek że nasza lista ma być.. np bez niedzieli listDayOfWeek = dic.Where(d=>d!= DayOfWeek.Sunday).ToList();

Tagi: .Net, C#, Enum, List
Dziel się z innymi:
Programistka i kot: Enum to List

Architektura 5225 dni, 14 godzin, 3 minuty temu paduda 122 źrodło rozwiń

Po ostatnim wpisie nt. importu danych sejmowych ze strony Sejmu zostałem skarcony przez kolegę za parsowanie stron przy użyciu wyrażeń regularnych. Nie jest to zła praktyka, jednak mizerna czytelność wyrażeń, ich stopień trudności, mała odporność na zmiany schematu danych wejściowych powodują, że po pewnym czasie wyrażenia regularne mogą stać się prawdziwym utrapieniem dla programisty. Mój pomocny kolega zaproponował mi w miejsce wyrażeń regularnych użycie Html Agilty Pack. HAP jest to biblioteka do scre...

[RS] Import danych - Html Agility Pack - .net.coding.blog

Windows 5225 dni, 14 godzin, 3 minuty temu jdubrownik 111 źrodło rozwiń

Małymi kroczkami, dotarłem do miejsca, w którym czas złapać za klawiaturę i zacząć pisać kod. Plan działania (pierwsza pięciolatka) wygląda następująco: import i parsowanie danych ze strony sejmu, obliczanie różnych statystyk na podstawie zgromadzonych danych, warstwę dostępu do bazy danych i UI w formie strony internetowej. Uszeregowałem sobie zadania od najtrudniejszego do najłatwiejszego, przynajmniej teoretycznie. Na pierwszy ogień idzie import i parsowanie danych ze strony sejmu. Fasadę procesu impo...

Tagi: architektura, C#
Dziel się z innymi:
[RS] Import danych - część 1 - .net.coding.blog

Architektura 5232 dni, 2 godziny, 8 minut temu jdubrownik 49 źrodło rozwiń

HopfieldSimulator - Daj się poznać #11 - Hostowanie WinForms w WPF Dzisiaj napiszę o WPF. Przepisałem symulator w tej technologii i wygląda nieco inaczej. Wersję WPF można pobrać tutaj: http://hopfieldsimulator.codeplex.com/releases/view/50968 (zostawiłem wersję WinForms jako podstawową). Zasadnicze zmiany w stosunku do pisania w WinForms to podział okien na XAML i kod C# skojarzony z dokumentem XAML. Podstawowy podział przestrzeni w WPF z tego, co się dowiedziałem to Grid...

Tagi: C#, WinForms, WPF
Dziel się z innymi:
Daj się poznać #11 - Hostowanie WinForms w WPF

Windows 5233 dni, 16 godzin, 17 minut temu piotr_sowa 42 źrodło rozwiń

Dzisiaj kolejny przepis. Tym razem na geocoding w oparciu o Google Maps API, czyli translacje adresu z formy tekstowej - np. ul. Długa 1, 11-123 Pcim na współrzędne geograficzne. Aby móc korzystać z usługi geocoding w Google Maps należy założyć konto w serwisie i skopiować wygenerowany dla nas klucz (przypisany do domeny). Kod do dokonywania konwersji adresu na współrzędne geograficzne ...

Dziel się z innymi:
Geocoding z Google Maps API - .net.coding.blog

Windows 5235 dni, 1 godzinę, 33 minuty temu jdubrownik 196 źrodło rozwiń

W .NET mamy do dyspozycji wygodny mechanizm do zapisywania ustawień aplikacji. W tym wpisie skupię się na stworzeniu własnego dostawcy ustawień. Domyślnym i jedynym standardowo dostępnym dostawcą, który zajmuje się zapisem ustawień jest LocalFileSettingsProvider. Dostawca ten zapisuje pliki do lokalnego katalogu ustawień danego komputera.

własny SettingsProvider « Damian Antonowicz

Inne 5234 dni, 16 godzin, 7 minut temu Damian 105 źrodło rozwiń

Dzisiaj opiszę sposób, jaki zastosowałem by przechwycić pierwszy wyjątek. Czasem w aplikacji czegoś nie przewidzimy i wyleci nam na wyjątku, dobrze wtedy zalogować ten fakt w jakimś pliku tekstowym lub e dzienniku systemu Windows. Należy też przekazać informację użytkownikowi, aby mógł w razie problemu skopiować komunikat z wyjątku i stos wywołań abyśmy wiedzieli gdzie aplikacja wyleciała. Nowy instalator z tą funkcjonalnoś...

Tagi: .Net, AI, C#, C++
Dziel się z innymi:
HopfieldSimulator - Daj się poznać #7 – Przechwytywanie pierwszego wyjątku

Windows 5236 dni, 15 godzin, 40 minut temu piotr_sowa 53 źrodło rozwiń

Autor: Dotychczas myślałem, że LINQ dopuszcza stosowanie zapytań tylko i wyłącznie w formie SQL-podobnej, tzn: view sourceprint?1 var zmienna = from x in y select x; Doczytałem dzisiaj jednak, że jest to jedna z dwóch metod umożliwiających konstruowanie zapytań do bazy danych. Ta znana mi metoda to tzw. składnia zapytań. Druga, którą kojarzyłem, ale nie wiedziałem, że jest alternatywą, to tzw. składnia lambda. Żeby nie zanudzać teorią przedstawiam poniżej przykład tego samego zapytania napisanego na d...

Tagi: .Net, C#, Lambda, Linq, SQL
Dziel się z innymi:
[C#] Zapytania LINQ

Bazy danych i XML 5235 dni, 17 godzin, 2 minuty temu paduda 252 źrodło rozwiń

Dziś chciałbym zaprezentować zastosowanie sieci Hopfielda do rozpoznawania polskich banknotów. Można zastosować takie rozwiązanie w automacie przyjmującym banknoty w celu odgadnięcia właściwego nominału banknotu. Oczywiście zapamiętanie obrazka całego banknotu nie jest dobrym pomysłem gdyż w przyzwoitej rozdzielczości obraz będzie zbyt duży do zapamiętania, poza tym, banknoty mają różną wielkość, postanowiłem pokazać przykład z zapamiętaniem prawego górnego rogu i rozpoznawaniem ...

Tagi: .Net, AI, C#, C++
Dziel się z innymi:
HopfieldSimulator - Daj się poznać #5 - rozpoznawanie banknotów

Programowanie rozproszone 5242 dni, 15 godzin, 17 minut temu piotr_sowa 170 źrodło rozwiń

OpenMP - źródło, które zainspirowało mnie do zmian w HopfieldSymulatorze znajduje się tudaj. Dzisiaj napiszę o C++ w wykorzystanym projekcie. Cała warstwa obliczeniowa jest napisana w tym języku. Oczywiście po napisaniu dobrze jest program zoptymalizować, można jeśli używamy C# i kodu zarządzalnego użyć Parallel.For(...), no ale w czystym natywnym C++ nie ma takij możliwości, pozostaje użycie OpenMP lub wzorców wielowątkowości, które są dostępne w Visual C++ 2010. Niestety nie mam ...

Tagi: .Net, AI, C#, C++
Dziel się z innymi:
HopfieldSimulator - Daj się poznać #4 - OpenMP

Programowanie rozproszone 5244 dni, 22 godziny, 53 minuty temu piotr_sowa 54 źrodło rozwiń

August 07Daj się poznać #3 Dzisiaj postanowiłem usprawnić symulator sieci Hopfielda o zapamiętywanie kolorów. Jak pewnie wiecie z poprzednich wpisów na wyjściu sieci Hopfielda są wartości od -1 do +1 aby zapisać obraz kolorowy można – taki był mój pierwszy zamysł – podzielić ten przedział na wszystkie dostępne kolory RGB bez przezroczystości Alpha wychodzi 256x256x256 przedziałów, trochę dużo. Eksperymenty pokazały, że jest z tym kłopot obrazy co prawda zapamiętywały się ale pokazywały się przekłamania…

Tagi: .Net, AI, C#, C++
Dziel się z innymi:
HopfieldSimulator - Daj się poznać #3 - Zapamiętywanie kolorów

Dziś zgodnie z obietnicą na dziś rozpracowałem kontrolkę MsChart. Dodam, że na CodePlex dodałem nową wersję symulatora z formatką wykresów. Źródła: http://hopfieldsimulator.codeplex.com/SourceControl/list/changeses Instalator: http://hopfieldsimulator.codeplex.com/releases/view/50075

Tagi: .Net, AI, C#, C++
Dziel się z innymi:
HopfieldSimulator - Daj się poznać #2

Programowanie rozproszone 5250 dni, 14 godzin, 56 minut temu piotr_sowa 33 źrodło rozwiń

Dziś przedstawiam nowe GUI do Hopfield Symulatora 0.2.1. Źródła projektu można pobrać tutaj: http://hopfieldsimulator.codeplex.com/SourceControl/list/changesets Instalator w wersji 0.2.1 x86 tutaj: http://hopfieldsimulator.codeplex.com/releases/view/49956

Tagi: .Net, AI, C#, C++
Dziel się z innymi:
HopfieldSimulator - Daj się poznać #1

Programowanie rozproszone 5249 dni, 19 godzin, 32 minuty temu piotr_sowa 78 źrodło rozwiń

Ostatnio pracuje nad programem do symulacji. Mój edytor symulacji złożony jest z tysięcy kwadratów (System.Windows.Shapes.Rectangle). Potrzebowałem wypełnić niektóre kwadraty tekstem. Rozwiązaniem było użycie VisualBrush. Użyłem kodu który znalazłem w dokumentacji VisualBrush na MSDN. Nie mogłem sobie jednak poradzić z dodaniem marginesu do tekstu, tak aby tekst nie przylegał do obramowania kwadratu.

Tagi: C#, WPF
Źródło: belczyk.com
Dziel się z innymi:
VisualBrush, problem z marginesem

Windows 5254 dni, 14 godzin, 56 minut temu sebastian 60 źrodło rozwiń

Czy zdarza się wam czasem potrzeba wyłączania/hibernowania/usypiania komputera za jakiś czas, np. po wykonaniu jakiegoś długotrwałego zadania? Mnie tak. Jak więc to zrobić? Niektóre aplikacje taką funkcjonalność posiadają, jednak nie wszystkie. Z pomocą może przyjść systemowe polecenie shutdown, ale nie potrafi ono wszystkiego. „Shutdown /s” - wyłączy system, „Shutdown /h” - system zahibernuje, można dodać jeszcze opóźnienie czasowe np. „Shutdown /s /t 600”, by wyłączyć system po 10 min (600 s). Nieste...

Tagi: C#, hibernacja, WMI
Dziel się z innymi:
Maciej Zbrzezny: Programowanie i Technologie: Jak zahibernować komputer z poziomu C# [PL]

Windows 5273 dni, 3 godziny, 5 minut temu Paweł Łukasik 148 źrodło rozwiń

Zbiory (w programowaniu) to kontenery, które przechowują elementy niepowtarzające się i umożliwiają szybkie sprawdzenie, czy jakaś wartość do danego zbioru należy. 'Szybkie' oznacza tu złożoność logarytmiczną (względem rozmiaru pojemnika) lub lepszą. Podstawowa różnica w stosunku do zbiorów matematycznych jest natomiast taka, iż te drugie mogą zawierać elementy różnych rodzajów, podczas struktura danych o tej nazwie przechowuje obiekty jednego typu.

Tagi: C#, kontenery, zbiory
Źródło: xion.org.pl
Dziel się z innymi:
xion.log » C# i zbiory

Inne 5305 dni, 13 godzin, 36 minut temu macko 100 źrodło rozwiń

Jak pozbyć się wyjątku Common Language Runtime detected an invalid program. przy emitowaniu assembly

Dziel się z innymi:
Common Language Runtime detected an invalid program.

Inne 5320 dni, 17 godzin, 2 minuty temu Novakov 87 źrodło rozwiń

„Mamy aplikację napisaną dla .NET 2.0, która obsługuje wtyczki (plugin'y). Chcemy opracować dla niej wtyczkę, oferującą nową funkcjonalność. Z jakiegoś powodu (np. z wygody lub lepszych rozwiązań technicznych) wtyczkę chcielibyśmy przygotować w .NET 4.0. Czy nam się to uda?” Zobaczmy przykład.

Wtyczka w .NET 4.0 dla aplikacji .NET 2.0

Windows 5326 dni, 20 godzin, 54 minuty temu paduda 90 źrodło rozwiń

Korzystając z Viusal Studio i .NET mamy łatwy sposób konfigurowania aplikacji przy pomocy plików app.config oraz Settings.Settings. Pisałem już o tym na tym blogu w artykule: „Przechowywanie i edycja ustawień aplikacji w .NET (prosto, szybko, sprawnie i elegancko)(przykłady oparte o .NET, w języku C#)”. Niestety można natknąć się na „schody”, gdy ustawienia chcemy przenosić pomiędzy różnymi assembly. Zobaczmy na prostym przykładzie jak to rozwiązać...

Przenoszenie ustawień pomiędzy różnymi assembly.

Windows 5331 dni, 23 godziny, 38 minut temu paduda 98 źrodło rozwiń

1 2... 57 58 59 60 61 62... 72 73

Najaktywniejsi w tym miesiącu