Press "Enter" to skip to content

Kategoria: programowanie

Personalizacja systemu windows – level piatkosia

Przypomniało mi się coś z mojego okresu dojrzewania – że zawsze byłam skuteczna tylko, gdy się poważnie wkurzyłam.
Dopiero totalne wyprowadzenie mnie z równowagi dawało mi kopa do działania. Nie będę się rozwodzić na tym, co, albo raczej raczej kto mnie wkurzył tym razem;). Tak czy inaczej, rozmawiając z ukochanym wyrzuciłam mu, że równie jak moja współlokatorka, wkurza mnie jak mi się rozpakuje paczka tworząc folder a w nim content, zamiast się rozpakować w roboczym. Mówią, „nie ma co płakać nad rozlanym mlekiem, ile to przenieść”. No ale mam tego inżyniera i wypadałoby rozwiązać problem programowo, idąc za zasadą „jeśli coś robisz raz, zrób to ręcznie, jeśli znowu ci się to zdarza, zastanów się czy aby nie warto tego oskryptować i zrób to”. Jako że ostatnio mam fazę na windę 7 (tzn częściej ją uruchamiam i robi mi za główny OS), postanowiłam sobie dopisać małego liba (serverek comowski), który mi sprawę załatwi jednym kliknięciem PPM.

Nie kiś kodu na dysku. Wrzuć go gdzieś jeszcze.

Ostatnio pokazałam, że zdarza mi się wrzucać kod do ogólnie dostępnych repozytoriów. Zwykle nie ma w tym zupełnie nic wartościowego, ale wrzucam z dwóch powodów. Pierwszym jest to, że mi samej czasami się przydają moje kawałki kodu. Używałam w różnych celach kilka z nich. Drugim jest to, że wrzucam czasami dla kogoś – bo chce lub każe;)

WMI – tym razem z poziomu c#

Wczoraj napisałam, że pokażę wam jak użyć WMI z poziomu C#. Scenariusz jest następujący: chcemy utworzyć drobny launcher, który pozwoli nam na odpalenie dowolnej gierki, jaką widzimy w folderze games w win7 na przykład. Tym razem uniknę wklejania całego kodu, posłużę się tym, który upubliczniłam w wakacje, a dostępny jest pod adresem https://letsplay.codeplex.com/SourceControl/latest#LetsPlay/MainWindow.xaml.cs.
WMI zostało użyte dokładnie w tym fragmencie:

Jak wygodnie korzystać z neta w pociągu

Wielokrotnie zdarza mi się korzystać z internetu w pociągu przy użyciu zwykłego modemu 3g. Problem jest taki, że nie wszędzie mamy zasięg. Warto by było, aby aplikacje wymagające internetu nie żarły nam baterii kiedy my spokojnie czytamy to, co załadowała nam przeglądarka, lub odpalamy pdfa. Dzięki temu skryptowi w autoIT możemy zaoszczędzić kilka minut na baterii – które normalnie wyżarłyby nam aplikacje sieciowe próbujące się połączyć.

Jak się uczyć i się nauczyć – bez przeczytania ani jednej książki

Wpis piszę z dedykacją dla Nikowa – a czemu by nie;)
Któregoś dnia udało się nam załatwić dla UZtu produkty JetBrains – po tym fakcie skrobnęłam powiadomoenie do uczelni i wysłałam je do dziekanatu (maile od głównego informatyka się odbijały – okazało się że tamten już nie pracuje). Po paru tygodniach nikow zaproponował mi, abym napisała również informację o tym, że firma nie ogranicza się do dostarczenia oprogramowania, ale również przygotowała pewien pakiet edukacyjny bogaty w materiały do wykorzystania na zajęciach lub w domowej nauce. Ja jednak nie zrobiłam tego. Nie dlatego że nie lubię Nikowa czy firmy JetBrains. Po prostu jest to na chwilę obecną standard wśród firm informatycznych oferujących oprogramowania dla inżynierów. Żeby wymienić tylko te, które były używane przez nas bezpośrednio na uczelni jak http://www.autodesk.com/education/learn-and-teach/learn (3ds max/ auto cad), http://www.xilinx.com/training/ (elektra), http://www.sonycreativesoftware.com/training/vegaspro, czy http://www.microsoftvirtualacademy.com/ . Wiele firm prowadzi swój oficjalny kanał na YT jak wspomniany przez nikowa https://www.youtube.com/user/JetBrainsTV, https://www.youtube.com/channel/UCmJcrJ_30p6s_OTbyTFfbqQ (itfreetraining), https://www.youtube.com/user/CiscoPolska/videos.

c# like a perl

Wielokrotnie słyszałam, jak chłopaki komentowali taki język jak perl. Jako główną wadę wymienili mnogość konwencji zapisu pewnych elementów języka. Prawda jest taka, że w C# nie jest lepiej. Weźmy sobie dla przykładu taką oto klasę.

[C#] Tablice

(to też post na konkurs)

Tablice są zmiennymi tego samego typu, ułożone w pamięci sąsiednio tak, że wiedząc którym kolejno elementem od zerowego jest poszukiwany, możemy się do niego dostać. Możemy sobie wyobrazić tablicę jak pociąg złożony z wagoników (każdy z tych wagoników może przewozić tylko przedmioty jednego typu, na przykład kosz jabłek, lub samochód). Aby wyobrazić sobie drugi wymiar tablicy, trzeba by wyimaginować sobie pociąg, który jechałby jednocześnie po dwóch torach (na chwilę zapomnijmy że te tory powinny iść w przeciwnych kierunkach), więc jednym wymiarem będzie numer toru, drugim numer wagonika (liczone od zera). Dlaczego zmienne zgrupowane w tablicy muszą mieć ten sam typ? Jest to spowodowane koniecznością wyliczenia miejsca, gdzie znajduje się element o danym indeksie. Tak naprawdę komputerowi wystarczy, aby elementy zajmowały tę samą ilość pamięci – ale język jest napisany w taki a nie inny sposób i elementy muszą być tego samego typu i już.

[C#] Operatory

Artykuł zgłoszony do konkursu na stronie http://strefainzyniera.pl

Wstęp

Większość oprogramowania, jakie przyjdzie nam pisać, będzie wymagała użycia operatorów. I nie mówię tu wyłącznie o operatorach znanych nam z matematyki – czyli „+”, „-” i tak dalej. Nawet w najprostszych aplikacjach używających chociażby instrukcji warunkowej używamy operatorów porównania. Manipulując zmiennymi zwykle używamy operatorów przypisania i konwersji.
Operatory, to nic innego, jak funkcje, które zwracają wartość, za wejście biorąc wartości, które w wersji prefiksowej występują zaraz po znaku, postfiksowej gdy przed znakiem, zaś infiksowej, pobiera sąsiadów po obu stronach. Jeżeli operator pobiera trzy wartości, symbole składające się na niego rozdzielają wartości wejściowe funkcji wywoływanej (niewidocznie dla programisty) przez operator. Tylko operator wywołania „()” oraz operator pobrania elementu wskazywanego przez indeks „[]” biorą swój operand w środek znaków, jakie się na niego składają.
Dziś omówimy jakie możliwości dają nam operatory w języku C#. Pełną ich listę możemy znaleźć w dokumentacji języka, dostępnej pod adresem http://msdn.microsoft.com/pl-pl/library/6a71f45d.aspx .

Jak Jasio z dowcipów liczby w c# konwertował

Jak napisałam na FB, pokażę kawałek kodu, który może się przydać początkującym, ale tak zupełnie początkującym, jak uczniowie w szkole średniej, którzy pierwszy raz mają programowanie w szkole. Załóżmy, że dana szkoła poszła z duchem czasu i nie uczy już pascala, ale na przykład takiego c#a. I dzieci dostały zaraz po kalkulatorze w textmode standardowo napisać konwerter liczb dziesiętnych do bin, hex i oct.

Jak zrobić przezroczystego ApplicationBara, który nic nie przykryje

Czasami zdarza mi się programować pod Windows Phone (tak, również na starego – sprzęt mam jaki mam, brak vtx/slat boli).
W trakcie pisania pewnego projektu zauważyłam, że ustawienie opacity w ApplicationBar na wartość mniejszą niż 1 (aby uzyskać przezroczystość) kończyło się tym, że nie szło kliknąć w ostatni (widoczny, ale przysłonięty appbarem) element umieszczony na stronie.

Ładny listing w c#

Oczywiście, wiem, że idzie to zrobić jedną linijką w bashu czy innych zabawkach:) Ale pisałam 4fun, żeby sobie przypomnieć język;)

Inspiracją był pewien listing z książki. Został on ponumerowany w pewien sposób. Pomyślałam sobie – też chcę mieć coś takiego. No i siadłam i klepnęłam w kilka minut taki oto kawałek kodziszcza.

Podstawy c# – czyli jak zapalić na ekranie lampkę od capslocka ;)

Pomysł na aplikację wyszedł w trakcie jednej z rozmów z moim narzeczonym, dłuższy czas temu. Chodziło o to, żeby wygodnie zasygnalizować, czy świeci się capslock. Oczywiście informuje nas o tym dioda na klawiaturze, ale chcieliśmy coś większego. Aplikacja wyszła całkiem prosta, a więc nadaje się do wyjaśnienia kilku podstaw.

Zrzuć notatkę z kodu;)

Witajcie czytelnicy;)
Wiosenka przyszła to i mi się częściej pisać zachciało. Lody puściły, te sprawy. Dzisiaj mam dla was kawaluntek kodu, którego omówię dla treningu. Język oczywiście c#, acz można go łatwo przetłumaczyć na dowolny inny i to będzie działać, bez problemu. Zdaję sobie sprawę, że można to napisać w 3 linijkach, ale wtedy nie byłoby o czym opowiadać.

Wyobraźmy sobie taką sytuację. Siedzimy sobie w commandline, chcemy na szybko sobie zapisać jakąś notatkę.
Ale tak zupełnie na szybko. Wpisując notuj hehe i w notatce mamy hehe. Notatka jest tworzona na pulpicie (gdzie najłatwiej ją znaleźć). Nie wykrzacza się w momencie kiedy plik już istnieje, tylko szuka wolnej nazwy i się tworzy. Poniżej wklejam kod, a następnie go nieco omówię.

WP a android

Do teraz nie napisałam relacji ani z itadu ani z SBS i jeszcze będziecie musieli poczekać z pół roku:p Ale że k4be do mnie z txt że „strona się popsuła bo treść się nie zmienia” to dodam jakąś na szybkiego. Wrzucę kod z androida z laborek i port tego samego na WP. Taaak na wp się pisze o wiele zajebiściej, bo w visual studio:pp

A co to jest?

Witam. Często mam tak, że nie wiem co jest co. Też tak macie? Na szczęście pod linuxem mogę sobie jeszcze z tym jakoś poradzić. I tak walnęłam sobie skrypcik, który sprawdza czym coś jest. Działa pół na pół, ale działa. Jest mój i będę go sobie używać. Chcesz to też sobie go poużywaj i dostosuj do siebie.

Misz masz: kod/ACTA/forum

Miałam napisać parę słów, na temat tego, co się u mnie działo ostatnio. I coś tam naskrobię, w kolejności bodaj odwrotnej do chronologicznej (od najnowszego do najstarszego). Skorzystam z tego, że rwę noc.

 

Sprawa 1:  q3k postawił forum dla listków.  Jest ono dostępne na http://listekklonu.q3k.org/bbs/index.php . Nielistki ofc też mogą się rejestrować i używać. W końcu informacja chce być wolna.

Sprawa 2. Zakodziłam sobie (i każdemu kto chce się pobawić) pingera. Na wypadek, gdyby komuś się chciało pingiem ACTA pomścić. Aplikacja dostępna pod piatkosia.k4be.pl/Pinger.exe .  Jedyne czym mogę się „pochwalić” to będzie kod raptem jednej funkcji, którą musiałam napisać. Resztę wygenerował mi visual w procesie tworzenia designu. Prymitywny windows forms, na 1 rzut oka widać.

Operator new – kilka słów na jego temat

Operator new – kilka słów na jego temat

Operator new, jak zapewne wszyscy wiedzą służy w językach obiektowych/ zorientowanych obiektowo do kreacji nowych obiektów. W przypadku języka C++ używamy go również do tworzenia zmiennych dynamicznych typów wbudowanych, na które pokazuje wskaźnik. Zmienna dynamiczna bowiem sama w sobie nazwy niestety nie ma. Ale ma adres który można przypisać do wskaźnika, a to nam w zupełności wystarczy do posługiwania się nią. Zmienna dynamiczna nie podlega prawom zakresu ważności (co innego wskaźnik, który na tą zmienną pokazuje). Jeżeli w danym zakresie ważności mamy dostęp do przynajmniej jednego wskaźnika na zaalokowany obszar pamięci, będzie od dostępny. Tracimy zmienną dopiero po użyciu bliźniaczego operatora delete (którym nie będziemy się zajmować w tym artykule).  Wybaczcie mi to masło maślane.
Zmienne tworzone dynamicznie w języku c++ nie są zerowane, należy o tym pamiętać.
Artykuł ten stanowi vademecum posługiwania się tym operatorem na (prawie) wszystkie możliwe sposoby. Ograniczymy się przy tym do języka c++. Ma on także za zadanie rozbudzić waszą ciekawość do zbadania tego, co nieznane.