PHP – Xdebug i PhpStorm

No Comments

xdebug Całe wieki nic tu się nie działo, więc będzie coś nowego, ale krótko…

Przez wiele lat moją bolączką w PHP były ograniczone możliwości debugowania. Nawet, kiedy powstał jakiś debugger, ciężko było ogarnąć jego działanie, a bez IDE (przyznaję, kiedyś pisałem w PSPadzie), była to droga przez mękę…

Kto z nas nigdy nie zrobił czegoś takiego?

echo 'dupa';

Na szczęście mroczne czasy minęły, miejmy nadzieję, że bezpowrotnie.

Read More…

Categories: PHP, Zabawy z kodem

Excel VBA – zawijanie wierszy (rozdzielanie łańcuchów znaków)

No Comments

W dzisiejszym wpisie zajmiemy się stringami. Ale nie cieszcie się za bardzo.

Napotkałem ciekawy problem w pewnym wspaniałym systemie pewnej wspaniałej polskiej firmy. W danych do faktury nazwa podmiotu miała trzy linijki – były to trzy osobne pola o maksymalnej długości 50 znaków. Głupota, ale co ja tam wiem.

Klient wpisując dane do faktury w sklepie internetowym miał na nazwę jedno pole, co jest bardziej sensowne. No i trafiliśmy w końcu na kogoś, kto miał nazwę dłuższą niż 50 znaków, co spowodowało kupę śmiechu… dobra, spowodowało to ochrzan biednego WRonX’a. Trzeba było sobie z tym jakoś poradzić

Read More…

ESET crackMe na CONFidence 2012 – bruteforcing z poziomu GUI :) [VIDEO]

3 Comments

Z żalem przyjąłem informację o cenach wejściówek na tegoroczną CONFidence. Mówi się “trudno”. Jednak, jak co roku, organizatorzy postanowili zorganizować konkurs o pięć darmowych wejściówek za złamanie crackme. Nagroda jest atrakcyjna, więc podejrzewam, że co tęższe głowy polskiej sceny reversingowej ruszyły do boju i wejściówki zostały już rozdane. Ja ze swojej strony postanowiłem się trochę pobawić…

Read More…

Categories: C#, Software, Zabawy z kodem

Excel VBA – kursor myszy “hand” dla linku

1 Comment

W poprzednim wpisie pokazałem prosty (w dodatku nie mój, co wskazałem w źródle) sposób na utworzenie linku z kontrolki Label. Ale co to za link, który po najechaniu nań myszą nie zmienia jej kursora na klasyczną “rączkę”, do której wszyscy przywykliśmy?

Jak się okazuje, nie ma możliwości pokazania takiego kursora (przynajmniej do wersji Office 2003, na jakiej pracuję) z poziomu właściwości MousePointer obiektu. Ale mimo wszystko da się, jak wykazuje GHolden w wątku traktującym właśnie o tym problemie.

Read More…

Excel VBA – link dla Label

No Comments

Będzie krótko. Niektórzy czasem potrzebują linka zrobionego z kontrolki Label. Co należy zrobić?

  1. Umieszczamy Label na UserForm.
  2. Opisujemy i formatujemy (zwykle niebieski kolor i podkreślenie).
  3. Zdarzenie Click obsługujemy następującym kodem:
Private Sub LabelLink_Click()
    href = "http://moja.strona.pl"
    On Error GoTo blad
    ActiveWorkbook.FollowHyperlink Address:=Link, NewWindow:=True
    Exit Sub
blad:
    MsgBox "Nie można otworzyć " & href, , vbExclamation, "BŁĄD"
End Sub

Zrobione :)

[źródło: spreadsheetpage]

[daily snippet] Excel VBA – autostart makra przy otwarciu arkusza

No Comments

Skoro wiemy już, jak zamknąć arkusz, przyda nam się wiedza, jak zrobić to w momencie otwarcia :)

A tak na poważnie – w niektórych firmach Excel jest używany do obróbki danych, bo interfejs jest znajomy dla większości pracowników biurowych, nie mających wiele wspólnego z komputerami. Można więc z arkusza Excelowego zrobić świetne narzędzie front-endowe. Komunikacja z dowolną bazą jest na wyciągnięcie ręki, więc niech użytkownik wprowadzi swoje dane, a VBA zrobi resztę.
W ten sposób można na przykład aktualizować stan magazynowy w sklepie internetowym. W takim przypadku przydałoby się zrobić to następująco:

Read More…

[daily snippet] Excel VBA – Zamykanie dokumentu (arkusza)

No Comments

W kolejnej odsłonie daily snippet – jak irytować użytkowników, czyli zamykanie aktywnego dokumentu.

Kod jest prosty, jak świński ogon. A możliwości są trzy:

   ActiveWorkbook.Close False ' - zamkniecie bez zapisywania zmian
   ActiveWorkbook.Close True  ' - zamkniecie z zapisem zmian
   ActiveWorkbook.Close       ' - użytkownik decyduje o zapisie

Życzę wielu pomyślnych zamknięć :)

[daily snippet] Excel VBA – blokowanie i ukrywanie arkusza, ukrywanie kolumny

No Comments

Dziś będzie krótko i łatwo. Zablokowanie/odblokowanie arkusza:

   ActiveSheet.Protect   ' - zablokowanie
   ActiveSheet.Unprotect ' - odblokowanie

Ukrycie/odkrycie arkusza:

   Sheets("x").Visible = False ' - ukrycie
   Sheets("x").Visible = True  ' - odkrycie

Ukrycie/odkrycie kolumny:

   Columns(zakres).EntireColumn.Hidden = True   ' - ukrycie
   Columns(zakres).EntireColumn.Hidden = False  ' - odkrycie
   '(gdzie np zakres = "X:Y")

[daily snippet] Excel VBA – Zaokrąglanie w górę i w dół

No Comments

Witam w nowym cyklu “daily snippet”. Nie oznacza to oczywiście, że snippety będą publikowane codziennie, ale postaram się częściej, niż zwykle. Będą to bardzo krótkie wpisy z maleńkimi (często jednolinijkowymi) fragmentami kodu. Taki zbiór przydatnych rzeczy. Krótko, więc z reguły bez “czytaj dalej”, a przynajmniej z esencją sensu posta w jego nagłówku :)

Na pierwszy ogień zaokrąglanie liczb. Excel VBA posiada funkcję Round(), która po prostu zaokrągla, ale warto wiedzieć, że można też zaokrąglać w górę i w dół, stosując kolejno:

   Application.RoundUp(liczba, miejscaPoPrzecinku)
   Application.RoundDown(liczba, miejscaPoPrzecinku)

Na marginesie, gdyby komuś się chciało analizować kod, zanim znalazłem te funkcje, zdążyłem już napisać własne. Smacznego:
Read More…

include() mi nie działa! XAMPP wyświetla kod skryptu! Aaa!

No Comments

XAMPP Tak więc zainstalowałeś XAMPPa, utworzyłeś bazę danych, zmieniłeś htdocs, skonfigurowałeś w najdrobniejszych szczegółach php.ini i httpd.conf, zainstalowałeś Eclipse, albo NetBeans (osobiście polecam to drugie), klienta SVN, skonfigurowałeś repozytoria, ustawiłeś XDebug do współpracy w IDE, zrobiłeś sobie kawę, napisałeś pierwszy skrypt i…

Ojej… include() zamiast wykonywać skrypt, wyświetla jego zawartość na ekranie…

Nie panikuj, nic się nie stało. Nie wpadłeś na jedną, prostą rzecz…

Read More…

Categories: PHP, Zabawy z kodem Tags: Tagi:,

Excel VBA – obsługa elementów ListBox’a

4 Comments

Chcąc – nie chcąc, czasem trzeba. Jak widać, wpisy zostały zdominowane przez VBA, ale lepiej mieć content, niż nie mieć, więc dokładam znowu coś od siebie.

W dzisiejszym odcinku dowiemy się, jak wyciągnąć liczbę zaznaczonych elementów listy ListBox, jak wyciągnąć te elementy, jak dodać gotowy element do listy i na dokładkę – otrzymamy pierwszy zaznaczony element.
Read More…

Excel VBA – sprawdzanie, czy pozycja widnieje już na liście (ListBox)

No Comments

Kolejny szybki snippet, aby się nie znudzić za bardzo.
Często zdarza się, że wybieramy w jednym ListBoksie jakieś pozycje i kopiujemy je do drugiego. Nie chcielibyśmy się zdublować (zazwyczaj), dlatego też warto sprawdzić przed skopiowaniem, czy dany element na naszej liście już widnieje, czy może też nie. Posłuży do tego kolejna uniwersalna funkcja…
Read More…

Excel VBA i aktywne (realtime) filtrowanie ListBox/ComboBox

4 Comments

Jak już wspominałem onegdaj, bywa w życiu każdego PHPowca taki moment, kiedy staje przed koniecznością napisania makra w Excelowym VBA… Nie, wróć… to chyba tylko ja tak mam. W każdym razie – czasem trzeba. Dzisiejszy odcinek poświęcimy aktywnemu filtrowaniu listy. Jak toto wygląda, każdy powinien wiedzieć. Otóż jest sobie lista As ListBox oraz pole As TextBox. I w trakcie wpisywania czegoś do pola chcemy mieć na liście tylko te wartości, które pasują do wartości pola
Read More…

Żenimy Excela z MS SQL Server przez VBA

1 Comment

“W życiu żółwia przychodzi taka chwila, że musi komuś dać w mordę”. Tak samo w życiu niektórych ludzi przychodzi taki moment, kiedy muszą zacząć programować w Visual Basicu, żeby zmusić Excela do wykonania określonych działań. Smutne to, ale prawdziwe.

Czasem pojawia się konieczność połączenia z bazą danych, pobrania czegoś z bazy danych, lub wykonania jakiejś innej barbarzyńskiej na niej operacji. Ta opowieść będzie o tym, jak to zrobić…
Read More…

Projekt “Wszystkie Obrazy Świata”

2 Comments

Zaznaczę na początku, że tytuł tego posta jest mocno przesadzony. Jakiś czas temu znalazłem na Wykopie (jeśli ktoś skojarzy, proszę o podanie źródła w komentarzu) ciekawy pomysł, swego rodzaju ideę programistyczną. Może nie tylko programistyczną. Autor pomysłu zastanawiał się, co by było, gdyby wygenerować wszystkie możliwe pliki graficzne. Jakby to było zobaczyć gdzieś pośród nich swoje zdjęcie?
Pomyślałem, że to całkiem ciekawe i postanowiłem spróbować. W tym wpisie opiszę założenia tej idei, praktyczny sposób jej wykonania oraz dlaczego jest ona niemożliwa do zrealizowania :)
Read More…

Acrobat 3D i zmiana materiałów w modelach, część 1

No Comments

O produktach Adobe pisałem już swego czasu. Okazało się, że przy odrobinie dobrej woli animacje w modelach to absolutna łatwizna w porównaniu do prób zmiany koloru jakiegokolwiek elementu…
Oczywiście, można pokusić się o zmienianie poszczególnych właściwości obiektów klasy Material(), ale z reguły nie działa to tak, jak powinno…
Read More…

Categories: Acrobat, JavaScript, Software Tags: Tagi: