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…
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…
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…
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…
Turbo Delphi Explorer to świetne środowisko dla obiektowego Pascala, niestety jako darmowa edycja ma zablokowaną możliwość instalowania dodatkowych komponentów. Postaram się pokazać jak mimo tego ograniczenia skorzystać z zewnętrznego kawałka kodu.
Metoda opiera się na dynamicznym tworzeniu instancji komponentu, zatem jest ona zgodna z licencją i nie narusza jej w żaden sposób. Oczywiście niesie to za sobą pewne niedogodności i nie zawsze może być stosowane, jednak w znakomitej większości przypadków tak.
Czytaj więcej…
MD5 (z ang. Message-Digest algorithm 5 – Skrót wiadomości wersja 5) – algorytm z dziedziny kryptografii. Jest to popularna kryptograficzna funkcja skrótu, która z dowolnego ciągu danych generuje 128-bitowy skrót.
Źródło: http://pl.wikipedia.org/wiki/MD5
Język programowania jakim jest Delphi, mimo swojej potęgi nie posiada wbudowanych funkcji do obliczania sum kontrolnych, nawet tak popularnych jak MD5. Nie będę pokazywał jak stworzyć implementację algorytmu MD5 w object pascalu, chociaż jest to możliwe, a zademonstruję jak policzyć sumę kontrolną dowolnego łańcucha z wykorzystaniem pakietu DCPcrypt.
Czytaj więcej…