Archiwum

Archiwum dla ‘Programowanie’ Kategoria

Co to jest Sender w procedurach zdarzeń?

27 czerwca 2010 1 komentarz

Mały wpis dla początkujących programistów Delphi. Co to jest i do czego służy parametr Sender, występujący niemal zawsze przy procedurach zdarzeń (np.: naciśnięcia przycisku)?

W skrócie, jest to wskaźnik na obiekt który wywołuje dane zdarzenie. Jeśli widzimy to w zdarzeniu OnClick przycisku, to jest to właśnie wskaźnik na ten przycisk (oczywiście trzeba go rzutować na TButton aby odnieść się do jego własności).

Czytaj więcej…

Magiczne stałe PHP

17 czerwca 2010 Brak komentarzy

Stałe noszące miano „magicznych” w języku PHP to zbiór stałych które posiadają przedefiniowaną i niezmienną wartość, jednak jest ona określona jedynie w obrębie wykonywania danego skryptu.

Oznacza to że w przypadku innego pliku wartości poszczególnych stałych będą inne. Mało tego, niektóre z nich mogą zmieniać swą zawartość w zależności od miejsca wywołania (np.: wew. funkcji czy metody klasy).

Owe „magic constans” są jednak bardzo przydatne w programowaniu w PHP i każdy powinien je znać, aby niepotrzebnie nie wynajdywać od nowa przysłowiowego koła. Zapraszam do zapoznania się z nimi.

Czytaj więcej…

Kategorie:Programowanie Tagi:, , ,

Podświetlanie składni PHP

10 czerwca 2010 Brak komentarzy

Szybki wpis pod tytułem, jak podświetlić składnię języka PHP w samym PHP. Sprawa jest dziecinnie prosta, i sprowadza się do użycia jednej z dwóch wbudowanych funkcji samego języka:

mixed highlight_string  (  string $str  [,  bool $return = false  ] )

…lub:

mixed highlight_file  (  string $filename  [,  bool $return = false  ] )

Pierwsza koloruje i wyróżnia składnię w zadanym ciągu znaków, druga z kolei w podanym pliku. Prosty przykład demonstrujący działanie:

<?php
  $var = 'Ten skrypt PHP podswietla skladnie samego siebie';
  $num = 1024;
  highlight_file(__FILE__);
?>

Moje najdziwniejsze programy

5 czerwca 2010 Brak komentarzy

Z programowaniem, jak z każdą inną twórczością, jedne rzeczy wychodzą lepiej, inne gorzej, jeszcze inne lądują w koszu nie ujrzawszy nigdy światła dziennego.

Chciałbym się dziś z Wami podzielić moimi najdziwniejszymi programami jakie udało mi się stworzyć a które z różnych względów nie zostały nigdzie opublikowane, bądź znikły z uwagi na ich wiek. Główna przyczyna tego stanu rzeczy? Bardzo wąska specjalizacja bądź też typowo prywatny cel stworzenia czegoś, co ułatwia mi codzienną pracę przy komputerze.

Zapnijcie zatem pasy i nie próbujcie tego w domu ;) .

Czytaj więcej…

Optymalizacja działań matematycznych w Delphi

1 czerwca 2010 1 komentarz

Mnożenie, potęgowanie, pierwiastkowanie, wszystkie te operacje trwają ułamek sekundy na obecnych maszynach, ułamek sekundy do czasu gdy nie musimy wykonać tysięcy czy miliony iteracji danego działania. W takiej sytuacji odpowiedni dobór użytych funkcji może mieć duży wpływ na czas trwania całej operacji.

W tym wpisie pokaże jakich błędów unikać pisząc w Delphi skomplikowane działania, aby nie marnować czasu użytkownika końcowego naszej aplikacji. Do dzieła!

Czytaj więcej…

Facebook’owy model promocji gier

26 maja 2010 3 komentarze(y)

Ostatnimi czasy kieruje swoje moce twórcze bardziej w kierunku aplikacji a niżeli gier, nie mniej chciałbym przedstawić, a w zasadzie opisać, bardzo ciekawy model promocji gier jaki zastosowano w portalu społecznościowym Facebook.

Starając się latami wypromować swój projekt Enemy Flag, po tym co zobaczyłem na 2 przykładowych grach w tym portalu, przeszła mi przez głowę tylko jedna myśl: „czemu wcześniej na to nie wpadłem?”.

Czytaj więcej…

Czym różni się TTabControl od TPageControl?

22 maja 2010 Brak komentarzy

Oba są komponentami do tworzenia zakładek w środowisku Delphi. Czym się różnią? Zasadą organizacji treści i związanym z tym zastosowaniem.

TTabControl to komponent w którym operujemy na samych zakładkach, z kolei TPageControl zarządza całymi stronami wraz z przypisaną do nich zawartością.

W TTabControl cała umieszczona zawartość na komponencie jest wspólna dla wszystkich zakładek. Po co nam coś takiego? Otóż w sytuacji w której zmieniają się jedynie dane między zakładkami a nie cały układ komponentów. Załóżmy że mamy naniesiony na owym komponencie wykres wraz z kilkoma przyciskami do jego zarządzania. Na każdej zakładce chcemy zatem mieć te same elementy a zmieniać jedynie zawartość wykresu i akcję przycisków. Możemy to uczynić przy pomocy zdarzenia OnChange.

Czytaj więcej…

myTinyTodo

18 maja 2010 Brak komentarzy

Dzisiaj propozycja skryptu dla ludzi szukających prostej i funkcjonalnej listy TODO, którzy nie potrzebują narzędzi aż tak rozbudowanych jak chociażby Trac.

Prawdę mówiąc długo szukałem czegoś takiego, aż w końcu natrafiłem na myTinyTodo. Jest to prosta, przejrzysta i łatwa w obsłudze lista rzeczy do zrobienia, możliwa do wykorzystania zarówno przez programistów jak i przez każdą inną osobę tworzącą jakieś dzieło (na haftowaniu obrusów skończywszy).

To tyle słowem wstępu, zapraszam do krótkiej recenzji tego malutkiego, acz potężnego wynalazku.

Czytaj więcej…

32-bitowe ikony w Delphi

4 maja 2010 Brak komentarzy

O ile nowsze edycje środowiska RAD jakim jest Delphi, posiadają pełne wsparcie dla 32-bitowych ikon czy nawet plików PNG, o tyle w starszych edycjach ich użycie jest mocno ograniczone.

Jedyną opcją wykorzystania ikony z kanałem alpha jest wstawienie komponentu TImage i załadowanie do niego pliku ikony. Co jeśli chcemy użyć przeźroczystego obrazka w menu, pasku narzędzi czy zakładce? Tutaj jedynym komponentem który nam to umożliwia jest TImageList, który niestety gubi informacje o kolorach powyżej 24 bitów.

W tym wpisie pokaże jak sobie z tym poradzić i mimo to użyć ładnych plików ikon w naszych aplikacjach.

Czytaj więcej…

Operator trójargumentowy w Delphi

22 kwietnia 2010 6 komentarze(y)

W PHP funkcjonuje coś takiego jak operator trójargumentowy. Jest to składnia języka, pozwalająca na zastąpienie pojedynczego bloku if…else w bardziej przejrzysty sposób:

warunek ? jeśli_prawda : jeśli_fałsz

Przykładowo:

$zmienna = $k >= 0 ? 'dodatnie' : 'ujemne';

…odpowiada konstrukcji:

if ($k >= 0)
{
  $zmienna = 'dodatnie';
}
else
{
  $zmienna = 'ujemne';
}

Jak widać uproszczenie jest znaczne. Object Pascal (Delphi) nie posiada niestety operatora trójargumentowego. W tym wpisie pokażę jak zastąpić tą funkcjonalność przy pomocy prostej funkcji i jej przeciążenia.

Czytaj więcej…