Jeśli planujesz być dobry Programista Delphi niż słowa takie jak „interfejs”, „implementacja” i „używa” muszą mieć specjalne miejsce w wiedzy programistycznej.
Projekty Delphi
Kiedy tworzymy aplikację Delphi, możemy zacząć od pustego projektu, istniejącego projektu lub jednego z aplikacji lub szablonów formularzy Delphi. Projekt składa się ze wszystkich plików potrzebnych do stworzenia naszej aplikacji docelowej.
Okno dialogowe, które pojawia się po wybraniu View-Project Manager, pozwala nam uzyskać dostęp do formularza i jednostek w naszym projekcie.
Projekt składa się z jednego pliku projektu (.dpr), który zawiera listę wszystkich formularzy i jednostek w projekcie. Możemy patrzeć, a nawet edytować Plik projektu (nazwijmy to Jednostka projektowa), wybierając Widok - Źródło projektu. Ponieważ Delphi utrzymuje plik projektu, zwykle nie powinniśmy go modyfikować ręcznie, i ogólnie rzecz biorąc, nie jest to zalecane dla niedoświadczonych programistów.
Delphi Units
Jak wiemy, formularze są widoczną częścią większości projektów Delphi. Każda forma w projekcie Delphi ma również powiązaną jednostkę. Jednostka zawiera kod źródłowy wszystkich procedur obsługi zdarzeń dołączonych do zdarzeń formularza lub zawartych w nim komponentów.
Ponieważ jednostki przechowują kod dla twojego projektu, jednostki są podstawy programowania Delphi. Mówiąc ogólnie, jednostka jest zbiorem stałych, zmiennych, typów danych oraz procedur i funkcji, które mogą być współużytkowane przez kilka aplikacji.
Za każdym razem, gdy tworzymy Nowa forma (plik .dfm), Delphi automatycznie tworzy powiązaną jednostkę (plik .pas), nazwijmy to a Form Unit. Jednostki nie muszą być jednak powiązane z formularzami. ZA Kod Jednostka zawiera kod wywoływany z innych jednostek w projekcie. Kiedy zaczniesz budować biblioteki przydatnych procedur, prawdopodobnie będziesz je przechowywać w jednostce kodu. Aby dodać nową jednostkę kodu do aplikacji Delphi, wybierz Plik-Nowy... Jednostka.
Anatomia
Ilekroć tworzymy jednostkę (formularz lub jednostkę kodu), Delphi automatycznie dodaje następujące sekcje kodu: nagłówek jednostki, berło Sekcja, realizacja Sekcja. Istnieją również dwie opcjonalne sekcje: inicjalizacja i finalizacja.
Jak zobaczysz, jednostki muszą znajdować się w polu predefiniowane sformatuj, aby kompilator mógł je odczytać i skompilować kod jednostki.
The nagłówek jednostki zaczyna się od słowa zarezerwowanego jednostka, po której następuje nazwa urządzenia. Musimy użyć nazwy jednostki, gdy odnosimy się do jednostki w klauzuli wykorzystania innej jednostki.
Sekcja interfejsu
Ta sekcja zawiera wykorzystuje klauzula wyszczególniająca inne jednostki (jednostki kodu lub formularza), które będą używane przez jednostkę. W przypadku jednostek formularzy Delphi automatycznie dodaje standardowe jednostki, takie jak Windows, Wiadomości itp. Gdy dodajesz nowe komponenty do formularza, Delphi dodaje odpowiednie nazwy do listy zastosowań. Jednak Delphi nie dodaje klauzuli use do sekcji interfejsu jednostek kodu - musimy to zrobić ręcznie.
W sekcji interfejsu jednostki możemy zadeklarować światowy stałe, typy danych, zmienne, procedury i funkcje.
Pamiętaj, że Delphi buduje dla ciebie jednostkę formularza podczas projektowania formularza. Typ danych formularza, zmienna formularza, która tworzy instancję formularza, a procedury obsługi zdarzeń są zadeklarowane w części interfejsu.
Ponieważ nie ma potrzeby synchronizowania kodu w jednostkach kodu z powiązaną postacią, Delphi nie utrzymuje dla ciebie jednostki kodu.
Sekcja interfejsu kończy się na zastrzeżonym słowie realizacja.
Sekcja wdrożeniowa
The realizacja sekcja jednostki to sekcja zawierająca rzeczywisty kod jednostki. Implementacja może mieć dodatkowe własne deklaracje, chociaż deklaracje te nie są dostępne dla żadnej innej aplikacji lub jednostki. Wszelkie zadeklarowane tutaj obiekty Delphi będą dostępne tylko do kodowania w obrębie jednostki (globalnie do jednostki). Opcjonalna klauzula użytkowania może pojawić się w części implementacyjnej i musi być natychmiast podążana za słowem kluczowym implementacji.
Sekcje inicjalizacji i finalizacji
Te dwie sekcje są opcjonalne; nie są generowane automatycznie podczas tworzenia jednostki. Jeśli chcesz zainicjować wszelkie dane używane przez urządzenie, możesz dodać kod inicjujący do sekcji inicjalizacji urządzenia. Gdy aplikacja korzysta z jednostki, kod w części inicjującej jednostkę jest wywoływany przed uruchomieniem dowolnego innego kodu aplikacji.
Jeśli urządzenie musi wykonać jakiekolwiek czyszczenie po zakończeniu aplikacji, takie jak zwolnienie zasobów przydzielonych w części inicjalizacyjnej; możesz dodać finalizacja sekcja do twojej jednostki. Sekcja finalizacji następuje po sekcji inicjalizacji, ale przed końcowym końcem.