WinRT: Debugowanie projektów C++ w C#

Od kilku dni użeram się z projektem WinRT C#/XAML, który korzysta z projektu WinRT C++. Ta sytuacja rodzi u mnie wiele problemów, z którymi sobię jakoś daję powoli radę. Jednym z WTF, na które natrafiłem to problem debugowania mieszanej solucji. A ponieważ ja ostatni raz w C++ pisałem dekadę temu to współczynnik WTF per minute mam wysoki. Czytaj dalej

Premiera nowych kursów Excel 2013 na Eduweb.pl

Dzisiaj na eduweb.pl zostały opublikowane dwa nowe kursy mojego autorstwa. Oba kursy dotyczą Excel’a 2013. Gorąco zachęcam do zapoznania się z materiałem.

Poniżej znajduje się copy-paste z opisami kursów.

Excel – Podstawy

excel-podstawyW kursie na przestrzeni niemal 5 godzin poznasz wszystkie najważniejsze narzędzia najbardziej popularnego arkusza kalkulacyjnego wchodzącego w skład pakietu Office. Jeżeli dopiero zaczynasz pracę z Excelem, lub chcesz uzupełnić braki w podstawach, ten materiał jest właśnie dla Ciebie! Więcej na eduweb.pl

Excel – Programowanie w VBA

excel-programowanie-w-vbaW kursie na przestrzeni ponad 5 godzin poznasz podstawy programowania w VBA w Excelu, dzięki czemu nie tylko przyspieszysz swoją pracę, ale także będziesz mógł w pełni wykorzystać możliwości najbardziej popularnego arkusza kalkulacyjnego z pakietu Office. Więcej na eduweb.pl

Microsoft Innovation Summit

microsoft-innovation-summit-logoSerdecznie zapraszam na konferencję Microsoft Innovation Summit, która odbędzie się 13-go listopada 2013 w Lublinie.

Konferencja społecznościowa i oczywiście darmowa. Za wydarzeniem stoi Paweł Niewęgłowski.

Cennej wiedzy technicznej będą dostarczać:

  • Marcin Borecki (MVP, Architect)
  • Grzegorz Rycaj (MVP, Dyrektor R&D, Billennium)
  • Szymon Szeliga (Architect, Team Lead, Billennium)
  • Tomasz Kopacz (Senior Architect Evangelist, Microsoft)
  • Dariusz Porowski (MVP, Konsultant techniczny, Merago)
  • i ja

Zapowiada się całkiem ciekawie. Zza kulis wiem, że Paweł bardzo serio-serio podchodzi do organizacji.

Ja przygotowuję czysto techniczną sesję o developmencie Lync’a 2013. Wg. mnie temat może być ciekawy, bo mało kto o tym mówi na naszym podwórku.

Do zobaczenia w Lublinie!

Liczniki wydajności w Windows Store Apps

Ostatnio pisałem na temat zdarzenia BindingFailed klasy DebuggerSettings. Jedną z niewielu właściwości tej klasy jest EnableFrameRateCounter.

public App()
{
    InitializeComponent();
    Suspending += OnSuspending;

    DebugSettings.EnableFrameRateCounter = true;
}

Zmiana tej flagi na true sprawia, ze w górnym lewym rogu uruchomionej aplikacji pojawią się liczniki wydajności, które doskonale znają programiści Windows Phone.

FramerateCountersWindowsStoreApps

 

Znaczenie poszczególnych wartości:

  • Cp fps: the frames-per-second frame rate for the composition thread
  • UI fps: the frames-per-second frame rate for the UI thread
  • Memory: memory utilization for textures
  • Batch: the count of surfaces that are sent to the graphics processing unit (GPU)
  • Cp cpu: time in milliseconds spent on the composition thread’s processor
  • UI cpu: time in milliseconds spent on the UI thread’s processor

Debugowanie BindingExpression w Windows Store Apps

Jedną z zalet XAML’a, DataBinding i MVVM jest to, że grafik i programista mogę swobodnie pracować nad tą samą aplikacją. Miejscem styku są wyrażenia BindingExpression w kodzie XAML. Niestety, czasami styku nie ma, albo wręcz robią się zwarcia i trzeba na to jakoś zareagować. Czytaj dalej

Zastosowanie SemanticZoom z domyślnym ZoomOut

Ostatnio portowałem moją aplikację Relax z Windows Phone do Windows Store. Oryginalna aplikacja została utworzona w XNA, bo chciałem mieć ładne animowane, opadające kształty (tekstury) oraz płynne przejścia tła (wiem, wiem…to samo też można zrobić w Silverlight, ale miałem problemy z wydajnością i obciążeniem procesora). Relaxed (tak się nazywa w Windows Store, bo ktoś mi wcześniej zajumał nazwę „Relax”) to MonoGame + XAML.

Relax - Menu Relax - Rain theme Relax - Forest theme Relax - Beach theme

W tej wersji aplikacji zdecydowałem się na menu w XAML’u, a część releksacyjna (muzyka + animacje) to XNA. Pomyślałem sobię, że fajnie by było użyć kontrolki SemanticZoom. W trybie ZoomIn (normalny) nic nie ma (nie ma zawartości XAML) więc widać to co rysuje XNA. W trybie ZoomOut (oddalony) pojawiają się kontrolki, gdzie użytkownik wybiera interesujący go temat.

Relaxed - Main menu Relaxed - Forest  theme Relaxed - Rain theme Czytaj dalej

Skórka Dark i Light w aplikacjach Windows Store

Zapewne każdy Win8Dev wie, że szablony projektów aplikacji Windows Store (Windows 8) są domyślnie w ciemnej tonacji. Nie ważne czy wybierzesz BlankApp, GridApp czy SplitApp, aplikacja po uruchomieniu będzie wyglądała mniej więcej jak poniżej:

WindowsStore - Dark Theme WindowsStore - Dark Theme WindowsStore - Dark Theme

Ale wystarczy, że w App.xaml, w nagłówku wpiszesz jedną linijkę:

RequestedTheme="Light"

Windows Store apps - RequestedTheme

Teraz ta sama aplikacja będzie ubrana w białą skórkę:

WindowsStore - Dark Theme WindowsStore - Dark Theme WindowsStore - Dark Theme

XNA – skalowanie i centrowanie

XNAJeśli ktoś (tak jak ja) pierwsze kroki z XNA stawiał w Windows Phone, to możliwe, na w swoich projektach założył dość sztywne reguły, np: rozdzielczość urządzenia to 800×480 pikseli. Tak właśnie zrobiłem ja. Na jakiś czas (około 1 rok) było to ok, bo wszystkie telefony z Windows Phone pracowały właśnie w tej rozdzielczości. Ale czasy się zmieniły. Z jednej strony pojawił się Windows Phone 8 i nowe rozdzielczości, a z drugiej strony Windows 8, gdzie różnych rozdzielczości, formatów jest jeszcze więcej.

Ten wpis powstał w nawiązaniu do mojej mini-serii o portowaniu gier z Windows Phone 7 do Windows Store przy pomocy MonoGameCzytaj dalej

Wysyłanie wiadomości SMS (Windows Phone SDK)

W tym poście znajdziesz informacje jak komponować (wysyłać) wiadomości SMS w Windows Phone. Opisuję tu:

  • proste wysyłanie SMS’a do jednego odbiorcy
  • wybieranie odbiorcy z listy kontaktów w telefonie
  • wysyłanie SMS’a do wielu odbiorców

Zapraszam do czytania i komentowania. Czytaj dalej

Windows 8 oczami programisty .NET (38. spotkanie ŚRGM)

Tydzień temu odbyło się 38. spotkanie Ślaskiej Regionalnej Grupy Microsoft. Było to pierwsze po wakacjach (i po dłuższej przerwie) spotkanie naszej grupy. Na spotkaniu miałem przyjemność poprowadzić jedna sesję. Mój temat to Windows 8 oczami programisty .NET.

38 spotkanie ŚRGM i PLSSUG Katowice

Spotkanie odbyło się jak zawsze w Kamsofcie. Przybyło całkiem sporo osób (30+ ludzi). Pojawiło się wiele znanych twarzy jak i kilka nowych. Tym razem nie było przegadanego wstępu, bo o czym tu mówić i tylko tracić czas. W dodatku trochę czasu straciliśmy na problemie pt. „gdzie jest pilot z rzutnika”, a gdy ten się znalazł, pojawił się kolejny problem „dlaczego nie ma obrazu na ekranie”. Ale i z tym sobie poradziliśmy i można było przejść do pierwszej sesji. Czytaj dalej