Archiwa tagu: C#

Autostart aplikacji (C#)

Ostatnio potrzebowałem dodać funkcję autostartu do jednej z aplikacji, nad którą aktualnie pracuję. Cały proces jest bardzo prosty – wystarczy tylko dodać wpis do odpowiedniego rejestru windows i gotowe 🙂 W tym celu napisałem prostą, statyczną klasę pomocniczą, umożliwiającą zarządzanie programami dodanymi do autostartu. Nie będę się tutaj zbytnio rozpisywał, myślę, że kod jest wystarczająco […]

Kontynuuj czytanie

Podział stringa na części

Jakiś czas temu współtworzyłem aplikację biznesową (opartą na SQL Server), która wymienia informacje z systemem księgowym (DOS) za pomocą plików DBF. W bazie SQL Servera wszystkie dane takie jak np. nazwa kontrahenta są przechowywane w jednym długim polu (o długości np. 250 znaków). Niestety w przypadku pliku DBF pole kontrahenta (i niestety kilka innych) zostało […]

Kontynuuj czytanie

Sortowania ciąg dalszy :)

W jednym z poprzednich wpisów (link) pokazałem Wam mechanizmy platformy .NET służące do sortowania kolekcji typów generycznych. Dziś chciałbym nieco rozwinąć ten temat. Dodamy możliwość określenia właściwości oraz porządku sortowania, a także zaprzęgniemy do pracy mechanizm refleksji oferowany przez .NET. Dla przykładu użyjemy klasy Movie z poprzedniego artykułu, która wygląda następująco: public class Movie { […]

Kontynuuj czytanie

C# Extension methods – uzupełnienie

Przeglądając dzisiaj internet, natknąłem się na ciekawą stronkę, gdzie znajduje się baza metod rozszerzających. Wszystkie wpisy są tworzone przez użytkowników. Każdy może pobrać gotowe rozwiązania, ocenić i skomentować wpisy oraz podzielić się własnym kodem. Na stronie znajduje się prosta wyszukiwarka a wpisy zostały pogrupowane według typów, które są rozszerzane co bardzo ułatwia przeglądanie. Stronka ta […]

Kontynuuj czytanie

C# Extension methods

Dzisiaj przybliżę Wam mechanizm metod rozszerzających (extension methods), który jest dostępny w języku C# od wersji 3.0. Tłumacząc opis znajdujący się na stronie MSDN: „Metody rozszerzające pozwalają na dodanie metod do istniejących już typów bez potrzeby tworzenia nowego typu pochodnego, ponownej kompilacji kodu lub modyfikowania oryginalnego typu. Są one specjalnym rodzajem metody statycznej ale wywołuje […]

Kontynuuj czytanie

O sortowaniu kolekcji typów generycznych słów kilka

Dzisiaj zaprezentuję dostępne na platformie .NET mechanizmy służące do sortowania kolekcji typów generycznych. Jako przykładowej kolekcji użyjemy klasy List<T>. Na początek weźmy pod lupę metodę Sort() klasy List<T> oraz jej przeciążone wersje: 1. Bezparametrowa Sort() – do sortowania wykorzystuje interfejs IComparable<T> 2. Sort(IComparer<T> comparer) – wykorzystująca interfejs IComparer<T> 3. Sort(int index, int count, IComparer<T> comparer) […]

Kontynuuj czytanie

DataGridView – Konfiguracja kolumn oraz zapis i odczyt stanu

Spora część niestandardowych pakietów kontrolek oferuje wbudowaną obsługę odczytu i zapisu konfiguracji kolumn komponentu DataGridView, np. do pliku XML. Niestety komponent DataGridView, znajdujący się w standardowej bibliotece klas .NET, nie ma wbudowanych odpowiednich funkcji, a nie zawsze możemy wykorzystać pakiety niestandardowe (lub nie chcemy tego robić), dlatego zaprezentuję Wam szybkie i proste rozwiązanie tego problemu. […]

Kontynuuj czytanie

Aplikacje wielojęzykowe

Jako, że aktualnie pracuję w firmie, która posiada swoje oddziały w Polsce i na Ukrainie, interfejs aplikacji nad którymi pracuję musi być tłumaczony minimum na te dwa języki. Domyślnie interfejs aplikacji jest tworzony w języku angielskim a następnie tłumaczony na pozostałe języki. W dzisiejszym wpisie, chcę Wam pokazać jak szybko napisać aplikację wielojęzykową. Sposób który […]

Kontynuuj czytanie

Wyszukiwanie danych na DataGridView

Dzisiaj pokażę Wam jak w prosty sposób przeszukać dane znajdujące się na kontrolce DataGridView. Nasza aplikacja pozwoli na wyszukanie kolejnych wystąpień szukanego tekstu od góry do dołu w wybranej kolumnie. Pierwszym krokiem, jest zapełnienie DataGridView danymi i dynamiczne wyświetlenie listy kolumn. W tym celu w metodzie Load głównego okna wywołujemy metody InitData(): private void InitData() […]

Kontynuuj czytanie

Lista jako źródło danych dla DataGridView

W życiu każdego programisty zdarzają się sytuacje kiedy świadomie lub nie, wybieramy drogę na skróty, która okazuje się drogą przez mękę i może doprowadzić do furii i szewskiej pasji ;). Niby wszystko takie oczywiste a jednak o czymś czasem zapominamy… Oto “problem” z którym się dzisiaj borykałem. Załóżmy, że posiadamy klasę z kilkoma publicznymi polami […]

Kontynuuj czytanie