Paweł Cieśla Dokumentacja projektu Projekt Project1 został utworzony i skompilowany na próbnej wersji Delphi XE 4. Po uruchomieniu programu należy kliknąć przycisk Wczytaj plik tekstowy, następnie wskazać plik miasta.txt. Każda pozycja w pliku oddzielona jest znakiem TAB. Plik tekstowy zostanie przetworzony oraz wyświetlony za pomocą komponentu TStringList. Dane z pliku miasta.txt zostaną wczytane do dwóch tablic złożonych z obiektów typu TMojeMiasta, TMojeUrzedy. // Definicja klasy TMojeMiasta = class private // pola danych tej klasy id : Integer; miasto : String; miasto_a : String; woj16 : String; powiat : String; inna_nazwa : String; dz_miasta : String; gl_miasto : Integer; rodzgm : Integer; public // Wlasciwosci do odczytu property varid : Integer read id write id; property varmiasto : String read miasto write miasto; property varmiasto_a : String read miasto_a write miasto_a; property varwoj16 : String
read woj16 write woj16; property varpowiat : String read powiat write powiat; property varinna_nazwa : String read inna_nazwa write inna_nazwa; property vardz_miasta : String read dz_miasta write dz_miasta; property vargl_miasto : Integer read gl_miasto write gl_miasto; property varrodzgm : Integer read rodzgm write rodzgm; end; TMojeUrzedy = class private // pola danych tej klasy kod : String; urzad : String; opis : String; ulica : String; nieparzyste_od : Integer; nieparzyste_do : Integer; parzyste_od : Integer; parzyste_do : Integer; inna_nazwa : String; Id_kody : Integer; id_miasta : Integer;
liczba : Integer; liczba_skr : Integer; poczta : String; nr_poczty : Integer; kod_stary : String; dz_miasta : String; gl_kod : Integer; zmiana : Integer; zmiana_data : Integer; np1 : Integer; np2 : Integer; p1 : Integer; p2 : Integer; public // Wlasciwosci do odczytu property varid_miasta : Integer read id_miasta write id_miasta; property varkod : String read kod write kod; property varurzad : String read urzad write urzad; property varopis : String read opis write opis; property varulica : String read ulica write ulica; property varnieparzyste_od : Integer read nieparzyste_od write nieparzyste_od;
property varnieparzyste_do : Integer read nieparzyste_do write nieparzyste_do; property varparzyste_od : Integer read parzyste_od write parzyste_od; property varparzyste_do : Integer read parzyste_do write parzyste_do; property varid_kody : Integer read Id_kody write Id_kody; property varliczba : Integer read liczba write liczba; property varliczba_skr : Integer read liczba_skr write liczba_skr; property varpoczta : String read poczta write poczta; property varnr_poczty : Integer read nr_poczty write nr_poczty; property varkod_stary : String read kod_stary write kod_stary; property vargl_kod : Integer read gl_kod write gl_kod; property varzmiana : Integer read zmiana write zmiana; property varzmiana_data : Integer read zmiana_data write zmiana_data; property varnp1 : Integer read np1 write np1; property varnp2 : Integer read np2 write np2;
property varp1 : Integer read p1 write p1; property varp2 : Integer read p2 write p2; end; Pustą bazę danych PUSTA.FDB należy utworzyć na serwerze Firebird za pomocą skryptu miasta.sql (polecenie w konsoli Firebird: IN d:\miasta.sql ): CREATE DATABASE "D:\PUSTA.FDB" user "SYSDBA" password "masterkey"; create table miasta ( id int not null primary key, miasto varchar(30), miasto_a varchar(30), woj16 varchar(30), powiat varchar(40), inna_nazwa varchar(40), dz_miasta varchar(40), gl_miasto int, rodzgm int ); create table urzedy ( id_kody bigint not null primary key, id_miasta int, urzad varchar(50), kod varchar(7),
opis varchar(70), ulica varchar(60), nieparzyste_od int, nieparzyste_do int, parzyste_od int, parzyste_do int, liczba int, liczba_skr int, poczta varchar(70), nr_poczty int, kod_stary varchar(7), gl_kod int, zmiana int, zmiana_data int, np1 int, np2 int, p1 int, p2 int, foreign key (id_miasta) ); Commit; references miasta(id) Program Project1 ma domyślnie ustawioną nazwę użytkownika oraz hasło dla serwera Firebird: User=sysdba, Password=masterkey. W ramach jednego miasta funkcjonuje wiele urzędów pocztowych dlatego utworzono relację pomiędzy tabelami miasta i urzedy. Tabela miasta posiada klucz prywatny id, który jest kluczem obcym id_miasta w tabeli urzedy.
Dane z obiektów typu TMojeMiasta i TMojeUrzedy zostaną zapisane w bazie danych po kliknięciu przycisku Zapisz dane do bazy i wskazaniu pliku pustej bazy danych PUSTA.FDB. Zapełnioną bazę danych można odczytać za pomocą przycisku Odczytaj baze. Project1 łączy się z serwerem Firebird za pomocą następujących komponentów: TIBDatabase - komponent zawierający informację o lokalizacji bazy danych, sposobie logowania, użytym dialekcie SQL, TIBTransaction - komponent pozwalający na dokonywanie transakcji z serwerem SQL, zapis lub skasowanie dokonanych zmian, TIBQuery - komponent pozwalający na wykonywanie zapytań SQL na bazie danych.