uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Db, DBTables;
type
TDataModuleLibrary = class (TDataModule)
Database: TDatabase;
DataSourceBooks: TDataSource;
TableBooks: Tlable;
TableTypes: TTable;
DataSourceTypes: TDataSource;
TableUsers: TTable;
DataSourceUsers: TDataSource;
TableBooksAuthor: TStringField;
TableBooksName: TStringField;
TableBooksType: TIntegerField;
TableBooksUser: TIntegerField;
TableBooksLookupType: TStringField;
TableBooksLookupUser: TStringField;
TableTypesID: TAutoIncField;
TableTypesBookType: TStringField;
TableUsersID: TAutoIncField;
TableUsersUserName: TStringField;
TableTypesLookup: TTable;
AutoIncField1: TAutoIncField;
StringField1: TStringField;
TableUsersLookup: TTabie;
AutoIncField2: TAutoIncField;
StringField2: TStringField;
procedure DataModuleCreate(Sender: TObject);
procedure TableBooksNewRecord(DataSet: TDataSet);
end;
var DataModuleLibrary: TDataModuleLibrary;
Implementation
{$R *.DFM}
procedure TDataModuleLibrary.DataModuleCreate (Sender: TObject);
begin // При запуске программы указать, что база данных находится
Database.Connected:=False; // в том же каталоге что и ехе-файл
Database.Params.Values['Path']:=ExtractFilePath(paramstr(0));
TableBooks.Active:=True;
ТаblеТуреs.Active:=True;
TableUsers.Active:=True;
TableTypesLookup.Active:=True;
TableUsersLookup.Active:=True;
end;
procedure TDataModuleLibrary.TableBooksNewRecord(DataSet:TDataSet);
begin // Указать значения полей при создании новой, записи
TableBooksType.AsInteger:=1; // Тип книги = 1 (не известен)
ТableBooksUser.AsInteger:=1; // Читатель = 1 (не известен)
end;
end.
Листинг 18. Текст модуля со справочником типов книг Types.pas
unit Types;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TFormBookTypes = class (ТForm)
DBNavigator: TDBNavigator;
DBGrid: TDBGrid;
ButtonClose: TButton;
procedure ButtonCloseClick (Sender:TObject);
end;
var
FormBookTypes: TFormBookTypes;
Implementation
uses Data;
{$R *.DFM}
procedure TFormBookTypes.ButtonCloseClick(Sender: TObject);
begin // Закрыть форму
Close;
end;
end.
Листинг 19. Текст модуля со списком пользователей Users.pas
unit Users;