[ Pobierz całość w formacie PDF ]
.UWAGADzięki sensownej konwencji, używanej do nazywania pól, nie było potrzebyustawiania specjalnych nagłówków dla kolumn wyświetlanych przez formularzDBGrid ( można to zrobić przy użyciu strony Title Properties edytora kolumn ).Stosowanie czytelnych nagłówków pól i nazywanie każdej kolumny inaczejoszczędza pracy, a przy konieczności konserwacji aplikacji mamy jeden problemmniej.354 Część IIAączenie formularza tabelarycznego z aplikacjąNasz formularz jest już w stanie umożliwiającym na dołączenie go do programuRENTMAN.Wywołujemy główne okno aplikacji fmRSYSMAN i dwukrotnieklikamy pozycję Work Order z menu Tables.W edytorze kodu, tak jak w kilkupoprzednich przypadkach, wpisujemy wywołanie metody Show dla formularzafmRWORGRD0.Na wszelki wypadek poniższa linia przypomina właściwepolecenie:fmRWORGRD0.Show;Przy okazji konfigurujemy odpowiedni przycisk z paska narzędziowego.Wciskamy F12, by wrócić do projektanta formularzy.W pasku narzędziowymklikamy komponent sbWorkOrders.W inspektorze obiektów wybieramy stronęEvents, klikamy na liście rozwijalnej na zdarzeniu OnClick.Z listy wybieramyWorkOrders1Click (wciśnięcie gorącego przycisku powinno byćrównoważne wyborowi odpowiedniej opcji z menu).Następnie dodajemy, zapomocą opcji File\Use Unit, deklarację użycia modułu RWORGRD0w RSYSMAN0 (deklaracja Uses.).Testowanie formularzaPrzed uruchomieniem aplikacji RENTMAN, należy się upewnić, że komponentTable modułu danych ma ustawioną na True właściwość Active.Zachowujemy projekt, kompilujemy go (klawisz F9) i uruchamiamy.Pozgłoszeniu się okna programu wciskamy F7, aby zobaczyć formularz tabeliWORDER.UWAGADobrze jest mieć kilka rekordów wprowadzonych do tabeli EMPLOYEE, aby mócwybrać określonego pracownika z formularza WORDER.Wzbogacanie formularzaNowy formularz ma jedną oczywistą wadę.Chociaż jest zaprojektowany dowybierania zestawów prac, posiada bardzo małe okno przeznaczone na tabelęWORDER.Jeśli ma być rzeczywiście poręczny, to powinien umożliwiaćwyświetlanie wszystkich możliwych rekordów tabeli.Ponadto powinien pozwalaćna oglądanie jak największej liczby kolumn i na łatwe odróżnianie jednego wierszaod drugiego.Jeśli spróbujemy powiększyć okno formularza w czasie pracyprogramu, to zobaczymy, że panel środkowy rości sobie prawo do zbyt dużejprzestrzeni, natomiast DBGrid nie wyświetla ani jednego rekordu więcej niżpoprzednio Przy pomocy projektanta formularzy zajmiemy się terazFormularze 355powiększeniem okienka dialogowego oraz dostosowaniem proporcji powiązanychze sobą paneli.W tym celu wyłączamy aplikację i wracamy do Delphi.Celem poniższychczynności jest uporządkowanie formularza WORDER:1.W wizualnym projektancie wybrać komponent formularza (ze względu natrudność kliknięcia w jego obszarze, może zaistnieć konieczność wykorzystanialisty rozwijalnej inspektora obiektów) i przy pomocy inspektora obiektówzmienić właściwość WindowsState na wsMaximized.2.Powrócić do projektanta i powiększyć formularz do pełnego okna.3.Wybrać komponent środkowy (paMiddle) i ustawić jego właściwość Alignna AlBottom.Należy zwrócić uwagę na wzajemne ułożenie paneliśrodkowego i dolnego, które wyrównane są przy użyciu właściwości paBottom.W przyszłości można wykorzystać to doświadczenie, aby ustawić panele jedennad drugim.4.Zmniejszyć wysokość panelu środkowego ciągnąc w dół za jego górną krawędzdotąd, aż panel przybierze rozmiary niewiele przekraczające wysokośćzawartych w nim elementów.5.Wybrać komponent górny i ustawić jego właściwość Align na alClient.W ten sposób panel górny zajmie całą dostępną przestrzeń, a rezydujący na nimDBGrid, który również jest wyrównany opcją alClient, będzie zajmowałcałą powierzchnię panelu.6.Wygląd formularza po wykonaniu powyższych instrukcji ilustruje rysunek11.7.Rysunek 11.7.Wygląd formularzatabelarycznegoWORDERw czasie działaniaprogramu.356 Część IIPrzekształcenie DBGrid na tylko do odczytuZanim uznamy, że praca nad formularzem tabelarycznym WORDER jestzakończona, musimy rozważyć jeszcze jedną rzecz.Ponieważ formularz zostałpomyślany jako narzędzie wyboru rekordów tabeli, to nie powinien umożliwiaćedycji pól.Ponadto ze względu na wzajemne powiązania, narzędzie do edycjitabeli WORDER powinno umożliwiać jednoczesną edycję tabeli WODETAIL
[ Pobierz całość w formacie PDF ]