Jestem zwolennikiem upraszczania kodu programu. Bardzo nie lubię redundantności w programowaniu. Po to są procedury i funkcje, obiekty i metody aby powtarzalne fragmenty kodu w nie zamykać i przez to właśnie go upraszczać. I warto pamiętać o obiekcie sender, który przekazuje do funkcji informacje jaki obiekt jest nadawcą komunikatu. Dzięki temu jedna, uniwersalna funkcja zapewni obsługę wielu zdarzeń dla naszych obiektów..
Niedawno pisałem na temat konwersji dat na wartości liczbowe i odwrotnie, wykorzystując komendy serwera SQL (w tym wypadku serwer Microsoft SQL Server). Pokazałem jak stworzyć storowane procedury, które będą ułatwiały te przekształcenia...
Niedawno klient zażyczył sobie, by tworzona dla niego aplikacja miała możliwość importu danych bezpośrednio z plików Excel. W celu połączenia naszego proagamu z Excelem możemy bezpośrednio wykorzystywać obiekty COM (dla platformy .NET technologia COM Interop)...
Ustawienia regionalne polskiego systemu Windows jako separator dziesiętny liczb przyjmują symbol przecinka. Oczywiście, każda aplikacja powinna być napisana tak, aby niezależnie od otoczenia działała prawidłowo. Czasami może się więc przydać, by nasza aplikacja korzystała z formatu liczb (czy innego elementu związanego z ustawieniami regionalnymi) wymuszonego przez nas, a nie nadanego przez system..
Jakiś czas temu poszukiwałem kontrolki dla Windows Forms, oferującej funkcjonalność komponentu StringGrid znanego ze starszych wersji Delphi czy C++ Buildera. Okazuje się, że takie coś istnieje, nosi nazwę DataGridView i jest dostępne w kategorii Data paska Toolbox. Mając już upragnioną kontrolkę, pozostało jeszcze znaleźć odpowiedzi na kilka prostych pytań...
Dotychczas, gdy potrzebowałem metod wykonujących te same zadania ale używających innych parametrów (czy choćby innej liczby parametrów), tworzyłem metody przeciążone. Wydawało mi się to naturalne i logiczne rozwiązanie. Do czasu, gdy przeczytałem o tablicach parametrów właśnie....
Pod adresem http://www.manoli.net/csharpformat/ znajduje się narzędzie, dzięki któremu można "pokolorować" swój kod C#. Wrzucamy kod C# (czysty tekst), a dostajemy kolorowy HTML. Autor narzędzia podaje, że można nim formatować i kolorować także kody języków VB, HTML, XML, T-SQL or MSH (code name Monad)...
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 5533 dni, 10 godzin, 15 minut temu 43 ź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: