Archiwum

Archiwum / 2011 / Czerwiec
  • Typ decimal i liczenie ilości cyfr po przecinku

    11.06.2011

    Pisząc mały program do pomocy w generowaniu formularzy do ZUSu trafiłem na ciekawy problem. Formularz przyjmuje tylko całkowite dane liczbowe (tj. pozbawione kropek tudzież przecinków). Aby móc poprawnie wypełnić formularz danymi zmiennoprzecinkowymi muszę je wcześniej przemnożyć przez 10^n gdzie n to ilość miejsc po przecinku. Teraz powstaje pytanie jak szybko określić ilość miejsc po przecinku typu decimal. Najbardziej siermiężne rozwiązanie to zamiana wartości na tekst i liczenie tego co po kropce. Wolne i problematyczne w aplikacjach wielokulturowych.

    Czytaj więcej...
  • Wypełnianie formularza tekstem z polskimi znakami przy pomocy iTextSharp

    06.06.2011

    Przez ostatnie dwa dni pracowałem nad projektem, w którym przy pomocy biblioteki iTextSharp generowałem dokumenty PDF z szablonu (pustego dokumentu PDF) i programowo wypełniałem pola formularzy. Jak to zwykle bywa w przypadku języka polskiego pojawiły się problemy z kodowaniem znaków w tekście wprowadzanym do formularzy. Jak się okazało czcionka zastosowana w formularzu niestety nie obsługuje odpowiedniego kodowania, więc wszelkie próby programowego wpisania Ą,Ę,Ł czy Ć kończyły się niepowodzeniem (w miejscach występowania polskich liter pojawiały się różne dziwne znaki). Początkowo myślałem, że problemem jest samo kodowanie tekstu w momencie wypełniania pól formularza, jednak szybko okazało się, że zastosowanie metody Encode.Convert(…) nie daje rezultatów. To czego brakowało do poprawnego wyświetlenia polskiego tekstu to czcionka, którą należy dodać do każdego wypełnianego pola w formularzu.

    Czytaj więcej...
  • IoC w XAML (proof-of-concept).

    01.06.2011

    Pracując z WPFem/XAMLem wielokrotnie natrafiałem na kod tego typu (bindowanie ViewModel do DataContext). Jest to dość wygodne rozwiązanie w małych i średnich aplikacjach nie wykorzystujących zaawansowanych wzorców prezentacyjnych (MVP, MVVM itp). Jednak ma ono jedną, podstawową wadę. Specyfika XAML’a wymusza istnienie bezparametrowego konstruktora w WindowViewModel, przy użyciu którego będzie tworzony obiekt przypinany do DataContext. Tworzenie obiektów w XAML’u przy użyciu parametrycznych konstruktorów nie jest w ogóle możliwe. Problem zaczyna się gdy chcemy wstrzyknąć do naszego modelu zależności.  Jesteśmy skazani na “jeden właściwy”  konstruktor. Zostaje tylko tzw. poor man’s injection.

    Czytaj więcej...
  • Blog przebudowany. Bye bye FunnelWebLog. Welcome Orchard!

    01.06.2011

    Po blisko pół roku ogarnąłem się i przebudowałem bloga. Po drodze porzuciłem pierwotny silnik FunnelWebLog dla Microsoftowego Orcharda. Przez te pół roku skrobnąłem kilka postów na Funnelu. Funnel to ciekawy projekt ale jeszcze zbyt mało dojrzały, a co za tym idzie posiadający jeszcze liczne błędy. Pewnie do dzisiaj korzystałbym z Funnela gdyby nie materiały z konferencji MIX11 i screencast o Orchardzie. Przy bliższym poznaniu (na początek zrobiłem stronę własnej firmy Smart Software) Orchard tak mnie oczarował (a raczej orczardował :), że postanowiłem użyć go jako platformy dla swojego bloga.

    Czytaj więcej...