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.
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...
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 ...
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..
Ciekawe efekty wizualne można uzyskać naprawdę w bardzo prosty sposób. Wystarczy znaleźć funkcję matematyczną, której wizualizacja będzie wystarczająco efektowna. Postanowiłem więc się zmierzyć z tym problemem. Przedstawiony program działa wykorzystując OpenGL, współpracujący z C# dzięki bibliotece CsGL (http://csgl.sourceforge.net/).
Jak napisałem wcześniej (IBM Rational Software Modeler i platforma .NET) do tego aby w IBM Rational Software Modeler, które jest narzędziem do wizualnego modelowania i projektowania w języku UMLMożna było dokonywać transformacji kodu z modelu UML do C# i z kodu C# do UML potrzebna jest dodatek IBM Rational Modeling Extension for Microsoft .NET...
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....
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..
Chyba prędzej czy później każdy, kto choć trochę programuje ma ochotę/musi/powinien narysować coś na ekranie: może to być wykres funkcji matematycznej, czy też jakieś dane do zobrazowania. Siadamy do komputera, zaczynamy pisać kod, dochodzimy do fragmentu, w którym należy wskazać współrzędne punktu do postawienia na formie naszego projektu i ... zatrzymujemy się.
W poprzedniej części opisałem czynności przygotowawcze, teraz napiszemy trochę kodu :). Na początku należy dodać referencję do projektu w Visual Studio:
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. Jednak przydatna może okazać się konwersja na liczbę jeszcze w aplikacji, przed zapisaniem jej do bazy.
Tworzymy kontrolkę PictureBox (niech się nazywa obrazek). Zanim zaczniemy rysować potrzeba nam kilka zmiennych: private Graphics g; //reprezentuje pole, po którym rysujemy private Pen p; //pióro, rysuje tylko kontury, linie
Należy nadpisać metodę OnPaintBackground() i samodzielnie zaprogramować rysowanie tła. Do rysowania gradientów można posłużyć się klasą LinearGradientBrush, np.: using System.Drawing.Drawing2D; override protected void OnPaintBackground(PaintEventArgs e) { LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(ClientRectangle, Color.Red, Color.White, 0f); e.Graphics.FillRectangle(brush, ClientRectangle); }
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ń...
Testy jednostkowe pełnią dwie bardzo ważne role: poprawiają design aplikacji sprawdzają czy kod jest poprawny
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...
W dniu 2009-10-17 miałem przyjemność uczestniczyć w CodeCamp. Jest to impreza, na którą można się zarejestrować za darmo, ale jest wiele warta. Tym razem było znacznie lepie niż przypuszczałem. Na imprezie miałem przyjemność rozmawiać z 5 zaproszonymi gośćmi. Ale zacznę od początku. Na CodeCamp zarejestrowałem się dzięki poczcie elektronicznej bo rezerwacje były już zamknięte, dzięki uprzejmości Symona Kobalczyka udało mi się zarejestrować. Chyba z listy rezerwowej ;). Napisałem po...
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żę.
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: