Nieźle jak na początek

Teraz trochę teorii (będzie nudna).
Delphi to środowisko programowania typu RAD (Rapid Application Develpoment) co oznacz m.in. szybkie tworzenie programów (szczególnie interfesjów użytkownika). Ta własność jest nam bardzo na rękę
Każda aplikacja w systemie Windows ma okno (może być niewidoczne, ale jest). W Delphi okna nazywe są Formami. Na takich oknach możemy umieszczać elementy interfejsu użytkownika. Ograniczmy się do gotowych składników, których jest bardzo dużo. Za pomocą kilku kliknięć myszki możemy umieścić na formie (będę używał takiej formy

) przyciski, jakieś pola edycjne, menu itp.
Delphi jest językiem obiektowych, czyli najprościej mówiąć używa hierarchi. Forma jest obiektem który zawiera np przycisk, która także jest obiektem i zawiera np takie właściwości jak nazwa. Po prostu zakładająć, że forma to samochód, przycisk może np. silnikiem (jest elementem samochodu) itp. Po dokładne wyjaśnienia koncepcji programowania obiektowego zapraszam do książek. Tutaj wystarczy tylko to, że elementy mają swoje własności oraz składniki, które też mają własności. Wygląda to jak struktura katalogów na dysku (mogą być katalogi obiekty oraz pliki właściwości). To tyle, jeśli idzie o obiektówkę. Powinno wystarczyć.
Koniec teorii, teraz praktyka. Interfejs Delphi składa się z 4 zasadniczych elementów: Panel z komponentami (
rys), Object Inspector (
rys), Forma (
rys) oraz okno z kodem (
rys)
Na razie interesuje nas forma oraz panel z komponentami. Forma to nasz interfejs (nasza piaskownica) a panel z komponentami to elementy, które możemy tam wstawić. Jest ich na prawdę sporo. W ramach ćwiczenia możecie przejrzeć sobie ich nazwy i sprawdzić w Helpie do czego słuszą (o pomocy napiszę później). Nas intersuje zakładka standard gdzie mamy takie komponenty jak przycisk (Button). Umieścimy teraz przycisk na formie (
rys) a następnie sprawimy, aby po kliknięciu w niego wyświetlił się komunikat
Witaj!.
Zanim to napiszemy to mała dygresja odnośnie pisania programu. Standardowo w Pascalu w szkole pisało się coś takiego:
Code: Select all
program Test;
begin
WriteLn('Witaj');
end.
Tutaj jest trochę inaczej. Nie tworzymy całej aplikacji od zera, a jedynie dopisujemy brakujące funkcje i procedury (mam nadzieję, że wiecie czym się różni funkcja od procedury

). Cały mechanizm programowania w oknach opiera się na mechanizmie zdarzeń. Kliknięcie w przycisk jest zdarzeniem a my piszemy reakcję na to zdarzenie. Przesunięcie okna jest zdarzeniem, naciśnięcie przycisku jest zdarzeniem, a nasze rola to po prostu napisanie obsługi (reakcji). Jest to bardzo proste i szybkie. I to zaraz zrobimy.
Mamy przycisk a dla przycisku domyślnym (najczęściej używanym) zdarzeniem jest kliknięcie. A więc napiszemy reakcję na to zdarzenie. Klimamy dwa razy w przycisk (ten umieszczony na formie) i otworzy nam się okienko z kodem a w nim:
Code: Select all
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
end.
Jest to automatycznie wygenerowana procedura obsługi zdarzenia, my tylko wpisujemy w środku kod. TForm1 jest to klasa (szablon dla obiektu) formularza, natomiast Button1Click jest to nazwa procedury obsługi, jest ona tworzona na podstawie nazwy przycisku (Button1) oraz nazwy zdarzenia (Click). Sender to parametr wywołania, nim się nie będziemy zajmować.
A więc, skoro chcemy aby wyświetlony został komunikat Witaj!, napiszmy tą jedną linijkę kodu. W zwykłym Pascalu byłoby to coś stylu WriteLn('Witaj!');, tutaj jest podobnie ShowMessage('Witaj!');. Czyli po wpisaniu nasza procedura będzie wyglądać tak:
Code: Select all
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Witaj!');
end;
end.
Klimamy F9 (uruchomienie aplikacji) a następnie w przycisk Button1. W wyniku tego powinniśmy ujrzeć
to.
Dajcie znać gdy to zadziała...
PS. Sorry za laga, ale napisanie tego chwilę zajmuje
