Wykresy? No to może warto użyć Live Charts?

Jeśli komuś nie wystarczają możliwości kontrolki Charts dostarczonej przez Microsoft wraz z Visual Studio to może sięgnąć po rozwiązanie dostarczane przez strony trzecie – takim rozwiązaniem jest Live Charts https://lvcharts.net/

Przy pomocy tego rozwiązania możemy stworzyć bardzo dobrze wyglądające wykresy, które z pewnością będą dobrze prezentować się w aplikacjach tworzonych przez nas. Co jest potrzebne? Jeśli korzystamy z VS (ja korzystam z VS2015) to pobieramy do naszego projektu paczkę Livecharts (albo Livecharts.Wpf) z Nuget Managera. Po zainstalowaniu możemy przejść do działania.
Czytaj dalej Wykresy? No to może warto użyć Live Charts?

Deserializacja klasy z XML

Odczyt stanu programu z poprzedniej sesji jest podstawową funkcjonalnością oprogramowania dzisiejszych czasów. Nikt chyba nie wyobraża sobie sytuacji gdy po zamknięciu programu i ponownym jego uruchomieniu trzeba wklepać wszystko od nowa. W tym wpisie pokażę jak odczytać dane, które zapisaliśmy (serializowaliśmy) do pliku XML.
Czytaj dalej Deserializacja klasy z XML

Serializacja klasy do XML

Pisząc program, choćby prostą aplikację „ToDo” chcielibyśmy zachować stan naszej aplikacji tak by po jej ponownym uruchomieniu odczytane zostało to, co wprowadziliśmy podczas poprzedniego uruchomienia. Możemy oczywiście użyć zapisów do bazy danych (w tym do SQLite, gdzie może to być baza plikowa), zapisów do plików z wykorzystaniem własnych formatów. Możemy także użyć zapisu do plików w formacie XML, o których pisałem już kiedyś. Zapisz do plików XML ma sporo zalet, choćby to, że są to pliki tekstowe i łatwe do odczytu, modyfikacji i przenoszenia pomiędzy systemami.
Czytaj dalej Serializacja klasy do XML

WCF – dobieramy się do danych na serwerze

WCF – Windows Communication Foundation, bo o tym będzie mowa to, to framework do budowania aplikacji zorientowanych na serwisy (service-oriented applications). Przy jego pomocy jest możliwe przesyłanie informacji od jednego endpointa serwisu do innego endpointa. Przykładowo może to być przesyłanie danych pomiędzy serwerem (gdzie będziemy mieć zaimplementowane zbieranie danych z urządzeń) a klientem, który będzie dane pobierał z serwera i prezentował je w formie graficznej.
Czytaj dalej WCF – dobieramy się do danych na serwerze

SQLite w Visual Studio

Wiele aplikacji potrzebuje gromadzić dane na których może pracować po ponownym uruchomieniu. Można tego dokonać w najróżniejszy sposób – tworzyć własne formaty plików, w których dane będą zapisywane, można serializować obiekty do plików, można wreszcie zapisywać dane w bazach danych – w typ także plikowych. Tutaj właśnie pojawia się SQLite (https://www.sqlite.org/) czyli baza danych, która w wielu prostych zastosowaniach sprawdzi się doskonale. Nie trzeba będzie instalować specjalnej bazy danych (serwera baz danych jak przy MySQL, SQLServer czy Oracle) a wszystkie dane zostaną zapisane w pliku. Tyle tytułem wstępu.

Cały projekt w formie projektu VS2015 można pobrać stąd -> SQLiteWinForms

Czytaj dalej SQLite w Visual Studio

SQLite i kilka godzin straconych na poszukiwaniu rozwiazania

Zachciało się człowiekowi zrobić aplikację korzystającą z bazy danych SQLite jako tej najprostszej – bez instalowania, bez zbędnych śmieci. Visual Studio uruchomione, projekt założony, dodane paczki przez Nuget Package Managera (w tym SQLite). Fajnie wszystko działa – baza założona, zapisy idą do bazy. Wszystko OK. Czytaj dalej SQLite i kilka godzin straconych na poszukiwaniu rozwiazania

LINQ – kilka słów

Language Integrated Query bo takie jest rozwinięcie skrótu LINQ to język zapytań wbudowany w C#. Pozwala on na bardzo wygodne operowanie na danych pochodzących z różnych źródeł (kolekcji, SQL, XML). Dzięki podobieństwu do SQL jest łatwy do opanowania przez osoby znające SQL (tak samo używa Select, Where itp.).
Dzięki LINQ w łatwy sposób możemy filtrować kolekcje według określonych kryteriów, porządkować, grupować itp.
Mając do czynienia z kolekcją obiektów możemy jednym zapytaniem wybrać te, które spełniają określone przez nas kryteria. Możemy to zrobić praktycznie w jednej linijce kodu bez tworzenia skomplikowanych konstrukcji for/if.

Czytaj dalej LINQ – kilka słów

Programowe dodawanie kontrolek do formy w Windows Forms (VS 2015)

Każdy, kto ma doświadczenie z C# czy VB.NET wie, że dodanie przycisku do formy nie jest trudnym zadaniem. Początkujący zapewne przeciągnie przycisk z toolboxa i umieści go na formie. Następnie tak umieszczony przycisk zostanie odpowiednio skonfigurowany poprzez nadanie mu odpowiednich właściwości i oprogramowane zostaną jego zdarzenia.
Wszystko w porządku, działać będzie i będzie każdy zadowolony. Można jednak uzyskać to samo niekoniecznie zaprzęgając w tym celu edytor.
Czytaj dalej Programowe dodawanie kontrolek do formy w Windows Forms (VS 2015)

„Rysowamy” czyli jak w C# z pomocą GDI+ wykonać wskaźnik.

Tym razem trochę inaczej, bardziej desktopowo (z wykorzystaniem Windows Forms). Tworząc aplikacje czasem jest konieczność użycia kontrolki dokładnie takiej jak sobie zamarzymy. Nie zawsze jest taka pod ręką albo trzeba za nią płacić (co o ile w komercyjnych rozwiązaniach nie jest problemem to w prywatnych już pewnie może być) grubą kasę (może trochę przesadzam).

Tak na marginesie, to owo „rysowamy” jest autorstwa mojej córki gdy była mała … oznacza „rysujemy”. To taka mała dygresja i już wracamy do głównego wątku związanego z utworzeniem kontrolki.

Tutaj przychodzi nam z pomocą C# oraz GDI+ (info o GDI na stronach Microsoft -> https://msdn.microsoft.com/pl-pl/library/windows/desktop/ms533798%28v=vs.85%29.aspx), które razem tworzą dobre narzędzie do realizacji własnych pomysłów.
Czytaj dalej „Rysowamy” czyli jak w C# z pomocą GDI+ wykonać wskaźnik.

dżejson

Dżejson jak dżins i kot Dżinks (to tylko tym starszym coś jeszcze mówi ;)) a właściwie to JSON czy JavaScript Object Notation to format, który umożliwia wymianę danych pomiędzy różnymi systemami. Jest znacznie prostszy niż np. XML i podobnie do niego tekstowy. Jest „lżejszy” od XML co ma znaczenie przy przesyłaniu danych. Obsługiwany jest przez wiele systemów (chyba większość języków programowania).
Czytaj dalej dżejson