Jakiś czas temu w post'cie pt. "Implementacja klienta OPC w C#" spróbowałem naświetlić podstawowe zagadnienia związane z implementacją klienta OPC na platformie .NET. Nie jest to proste zagadnienie, a do tego poza dobrą znajomością programowania opartego o DCOM należy mieć dostęp do specyfikacji standardu OPC. W tym artykule chciałbym wskazać pewną alternatywę, a mianowicie pokazać jak można dostać się do danych w OPC z poziomu platformy .NET (przykład w C#) bez implementacji pełnego klienta OPC. W tym ...
Ostatnio musiałem napisać prostą aplikację, która z kilku pól składała wiadomość i wysyłała ją do mnie w formie maila..
Wyobraźmy sobie sytuację w której mamy listę obiektów abstrakcyjnego typu. Faktyczne obiekty przechowywane na liście muszą rozszerzać typ bazowy. Może to być np. lista potworów w grze albo książek na półce, w każdym razie identyfikujemy je po wspólnej abstrakcji...
Kto by się spodziewał, programiści frameworka .NET doszli do wniosku, że zdarzenia Click oraz DoubleClick (i pochodne) mają działać tylko po kliknięciu myszką w istniejące elementy listy. Jakie to powoduje ograniczenia? Otóż wymyśliłem sobie, że podwójne kliknięcie w puste miejsce kontrolki ListView powinno powodować utworzenie nowego elementu. Z rozpaczą jednak stwierdziłem, że to nie działa...
W jaki sposób w C# zrealizować ściąganie pliku z serwera www? Rozwiązanie jest proste, nawet, zbyt proste :) Oto najkrótszy z możliwych sposobów...
W tym poście chciałbym poruszyć tematykę związaną z językiem "C# i technologią "DCOM" i pokazać jak można połączyć te dwa elementy. Ponieważ na co dzień zajmuję się technologią OPC (która oparta jest o DCOM), więc właśnie o tej technologii dotyczą załączone tutaj materiały.
Kontrolka ASP:Menu dziwnie się zachowuje / renderuje w przypadku wielopoziomowego menu w przeglądarkach Chrome i Menu. Jest kilka rozwiązań tego problemu. Poniżej jeden z nich, prawdopodobnie najszybszy.
Większość osób posługujących się SQL’em wie do czego służy UNION, mało tego często zdarza się, że go używa. :) Jednak jak pokazuje doświadczenie, nie każdy wie jaka różnica jest pomiędzy UNION, a UNION ALL. W rezultacie przy pisaniu zapytania stosuje UNION, chociażby z racji tego, iż jest krótsze :).
Zgodnie z zasadami programowania obiektowego pola klas nie powinny być bezpośrednio dostępne na zewnątrz. Należy jest zawsze opakowywać w akcesory: właściwości lub krótkie metody typu get i set. Z nich właśnie korzysta potem kod zewnętrzny, dzięki czemu nie może on (w dobrze napisanej klasie) niczego zepsuć poprzez - chociażby - ustawienie jakiegoś pola na nieprzewidzianą wartość.
Architektura 4586 dni, 8 godzin, 30 minut temu 42 źrodło rozwiń
W ostatnim czasie zgłębiam tajniki wzorców projektowych wspomagając się tą oto pozycją książkową: Książka w przemawiający do mnie sposób opisuję implementację dość dużej liczby wzorców projektowych opierając się na nowej wersji języka C#. Rozdziały kończą się ćwiczeniami sprawdzając...
Temat ten jest rzadko poruszany ze względu na swoją istote działania i rzadkość implementacji ale przy rozbudowie projektu i ilości zgromadzonych danych często istnieje potrzeba zastosowania tej techniki. Korzystanie z Caching’u w środowisku .NET / ASP.NET wynikło z potrzeby przechowywania często używanych danych w „pamięci” serwera. Korzystanie z obiektów przechowywanych w pamięci jest znacznie szybsze ...
Jak wiemy XML (eXtensible Markup Language) stanowi ogromną część technologii ASP.NET. Właściwie całą funkcjonalność XML w .NET Framework jesteśmy w stanie znaleźć w przestrzeni System.Xml. Dzięki strukturze XML jesteśmy w stanie przechowywać dane w takiej postaci i generalnie umieszczać w takim zapisie w Internecie. Jednak oprócz tych wszystkich możliwości XML nie do...
Przy testowaniu dostępności różnych środowisk warto czasem zachować się jak typowy użytkownik takiego systemu. Np. wysłać maila przez interfejs WWW serwera pocztowego. Czasem trzeba chwilę poczekać na bibliotekę która odrobinę unieważni grubą książkę :)I wysyłać miast z C# to z PowerShella. Choćby tak:
W dzisiejszym tutorialu przedstawię sposób na efektowny slider, który będzie obsługiwany między innymi przez klawiaturę. Taki slider można wykorzystać do tworzenia efektownych prezentacji swoich prac lub prezentacji swoich zdjęć na stronie.
Pewnie się zastanawiasz, co w tym takiego wyjątkowego? No to Ci odpowiem. Użyję do tego celu biblioteki jQuery przez co link będzie się pojawiał w rogu strony w momencie gdy strona będzie przewinięta. Fajnie, co nie? Ale jak to zrobić? To już Ci pokażę.
Często przydaje się zaszyfrować konfigurację trzymaną w katalogu programu w plikach tekstowych. Do tej konfiguracji należą takie dane jak dane personalne, ścieżki itp. ale także connection stringi zawierające hasła.
Lekcja 2 (Chapter 1) w Training Kit dotyczy typów referencyjnych (reference types) i wartościowych (value types). Tak naprawdę opisywanych jest tu kilka zagadnień. Pojawiają się tablice i operacje na nich, wyjątki, operacje na plikach oraz stringach. Wszystkie te zagadnienia są opisane dosyć pobieżnie i są to takie podstawy podstaw, więc doszedłem do wniosku że przedstawię tylko co ciekawsze zagadnienia. O co więc chodzi z tymi typami referencyjnymi i wartościowymi? Do typów referencyjnych należą kl...
Zainteresowanych tematem Open XML SDK chciałbym poinformować, że zamieściłem dzisiaj na portalu CodeGuru mój artykuł na te temat. Treść artykułu jest zbieżna z materiałem, który pojawiał się już na tym blogu, ale teraz połączyłem to w jedną całość. Dodatkowo zainteresować może też fakt, że przytoczone fragmenty kodu dostępne są jako gotowe solution (dla Visual Studio) i dołączone są jako załącznik do artykułu. Zapraszam do lektury: http://codeguru.pl/article-763.aspx.
Bazy danych i XML 4586 dni, 5 godzin, 5 minut temu 52 źrodło rozwiń
Ostatnie dni sierpnia schodzą mi bardzo pracowicie nad projektem, jaki tworzę w C#. Jest to projekt aplikacji opartej na koncepcji distributed systems, czyli za polską Wikipedią system "obliczeń rozproszonych" (choć bardziej sensownie byłoby to chyba nazwą system rozproszony). Aplikację, jak i dok...
Programowanie rozproszone 4587 dni, 7 godzin, 28 minut temu 87 źrodło rozwiń
Mówiłem już, że jestem leniem? Ale to nie dlatego tak długo nie ukazywała się trzecia część serii o MVP. Końcówka wakacji i początek roku były trochę zwariowane i brakowało mi nieco czasu. Pragnąc nadrobić postanowiłem dziś choćby nie wiem co napisać kolejną część. Postaram się opisać dwa elementy bez których aplikacja asp.net nie może istnieć. Jest to walidacja oraz zdarzenia. Choć każdy kto czyta ten artykuł prawdopodobnie w...
Architektura 4587 dni, 9 godzin, 25 minut temu 92 źrodło rozwiń