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....
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...
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 ...
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.
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ę.
Operacje na datach to pewnie chleb powszedni dla każdego programisty. Wstawianie ich do bazy danych, to kolejna, seryjna nasza czynność. W zasadzie bardziej chodzi mi o umieszczanie domyślnych wartości daty w tabelach bazy danych MS SQL Server. W sumie niebyłoby nic odkrywczego, gdyby nie fakt, że wyjątki w takim kodzie pojawiają się w najmniej oczekiwanych momentach :-) Istnieje spora różnica między wartościami: DateTime.MinValue, który w rezultacie da: 01-01-0001, a SqlDateTime.MinValue, który zwróci: ...
Bazy danych i XML 5465 dni, 20 godzin, 34 minuty temu 48 źrodło rozwiń
Nie spotkał Was dotychczas taki komunikat? Ja miałem wątpliwą przyjemność być zaskoczony nim wczoraj ;-) O co chodzi? Pracując na jednym z komputerów ustawiłem w Properties projektu typu Web Application, aby podczas debugowania nie używała wbudowanego serwera deweloperskiego z VisualStudio, a właśnie lokalnego IIS
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.
Wielokrotnie stawałem przed problemem zbudowania hierarchicznego TreeView z listy obiektów. Pisanie odpowiednich foreach, budowanie całej hierarchii TreeNode’ów stało się za którymś razem męczące. Parę dni temu doczytałem o TreeNodeBindings i postanowiłem chociaż w części zautomatyzować to zadanie. Najpierw przyszło mi na myśl bezpośrednie podpięcie lis...
Gdzie Visual Studio przechowuje informacje o ostatnio używanych projektach (MRU List)? Odpowiedź jest prosta: w rejestrze systemu Windows. Dokładniej jest to: HKEYCURRENTUSER\Software\Microsoft\VisualStudio\9.0\ProjectMRUList
Importowanie plików tekstowych zawierających znaki specjalne, które nie są prawidłowo interpretowane przez sterownik ODBC do obsługi danych tekstowych można przeprowadzić na kilka sposobów. Można na przykład na początek przetworzyć plik zamieniając znaki specjalne jakimś tagiem lub zakodować go odpowiednikiem w postaci szesnastkowej itp. Jest to jakieś rozwiązanie jednak wymaga wykonania dodatkowych operacji na plikach. Istnieje inne rozwiązanie tego problemu – nieco wolniejsze niż bezpośrednie korzystan...
Bazy danych i XML 5465 dni, 22 godziny, 47 minut temu 97 źrodło rozwiń
Wróciłem po dłuższym czasie do mojego hobbistycznego projektu RubiksCube v2. Zrobiłem ponieważ pojawiła się iskierka nadzieji, że zaliczę na uczelni nim laboratoria z baz danych. Tak więc brakującą częścią do tej pory była cała inteligencja układania kostki. Algorytmy (sekwencje ruchów) już kiedyś postanowiłem przechowywać w pliku XML. Wczoraj dokończyłem projektowanie pliku XML Scheme i.. zacząłem się zastanawiać jak to wykorzystać w projekcie. Rozwiązań było kilka:
Bazy danych i XML 5465 dni, 22 godziny, 47 minut temu 33 źrodło rozwiń
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
Adapter jest kolejnym z wzorców projektowych, które postanowiłem sukcesywnie omawiać na swoim blogu. Wszystkich zainteresowanych wzorcami projektowymi (dla C#) zapraszam do śledzenia zmian -zapewniam, że będą się tutaj pojawiały kolejno wszystkie znane wzorce projektowe.
Architektura 5465 dni, 22 godziny, 47 minut temu 224 źrodło rozwiń