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…
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…
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__);
?>
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…
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…
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…
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…
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…
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…
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…