1+ { ******************************************************************************
2+
3+ SISTEMA BIBLIOTECA - FBAI 2001
4+
5+ unit_BibliotecaExplorer.pas
6+
7+ Contém as classes de Interface do "Explorar Biblioteca".
8+
9+ Data última revisão: 25/11/2001
10+
11+ ******************************************************************************}
12+
113unit unit_BibliotecaExplorer;
214
315interface
416
517uses
618 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
7- ComCtrls, ExtCtrls, ImgList, ToolWin, Menus;
19+ ComCtrls, ExtCtrls, ImgList, ToolWin, Menus,
20+ unit_DataBaseClasses;
21+
22+ { Classe de Interface}
23+ type
24+ TDataInterface = class { contém métodos para esta Interface}
25+ private
26+ { Private declarations }
27+ { Classes de Dados utilizadas nesta Interface}
28+ FDataClass: TAcervos;
29+ FTipoAcervos: TTipoAcervos;
30+ FAreaAcervos: TAreaAcervos;
31+ FClassificacaoAcervos: TClassificacaoAcervos;
32+ Exemplares: TExemplares;
33+ (* {Lê a partir da Classe de Dados e escreve nos objetos da Interface}
34+ procedure LeRegistros(Sender: TObject);*)
35+ public
36+ { Public declarations }
37+ { construtor/destrutor}
38+ constructor Create;
39+ destructor Destroy; override;
40+ { Métodos}
41+ procedure Read (Sender: TObject);
42+ procedure ReadAcervo (Sender: TObject);
43+ procedure ReadExemplares (Sender: TObject);
44+ (* {Configura objetos de Interface para modo leitura}
45+ procedure Read(Sender: TObject);
46+ procedure ReadTipos(Sender: TObject);
47+ {Configura objetos de Interface para modo inserir}
48+ procedure Insert(Sender: TObject);
49+ {Configura objetos de Interface para modo editar}
50+ procedure Edit(Sender: TObject);
51+ {Configura objetos de Interface para modo leitura / após um Post}
52+ procedure Post(Sender: TObject);
53+ {Faz consistência dos dados digitados}
54+ function ConsisteDados(Sender: TObject): Boolean;
55+ {Exibe uma mensagem e dá foco ao controle}
56+ procedure ExibeMensagem(Controle: TWinControl;
57+ Mensagem, Caption: String; Flags: Longint); *)
58+ function SituacaoToStr (Situacao: Char): String;
59+ function StrToSituacao (SitStr: String): Char;
60+ end ;
861
62+ { Classe do Form}
963type
1064 Tform_BibliotecaExplorer = class (TForm)
11- ImageList1 : TImageList;
12- TreeView1 : TTreeView;
13- Splitter1 : TSplitter;
65+ ImageList_Explorer : TImageList;
66+ TreeView_Classes : TTreeView;
67+ Splitter_Vertical : TSplitter;
1468 StatusBar1: TStatusBar;
15- ListView1 : TListView;
16- Splitter2 : TSplitter;
17- ListView2 : TListView;
69+ ListView_Acervo : TListView;
70+ Splitter_Horizontal : TSplitter;
71+ ListView_Exemplares : TListView;
1872 ToolBar_Principal: TToolBar;
19- ToolButton_Primeiro : TToolButton;
20- ToolButton_Anterior : TToolButton;
21- ToolButton_Proximo : TToolButton;
22- ToolButton_Ultimo : TToolButton;
23- ToolButton_Separator1 : TToolButton;
24- ToolButton_Pesquisar : TToolButton;
73+ ToolButton_Emprestar : TToolButton;
74+ ToolButton_Devolver : TToolButton;
75+ ToolButton_Reservar : TToolButton;
76+ ToolButton_Perdido : TToolButton;
77+ ToolButton_Fechar : TToolButton;
78+ ToolButton_Separator : TToolButton;
2579 ToolButton1: TToolButton;
2680 ToolButton2: TToolButton;
2781 procedure Emprestar1Click (Sender: TObject);
2882 procedure Reservar1Click (Sender: TObject);
2983 procedure MoverparaAcervoPerdido1Click (Sender: TObject);
84+ procedure FormCreate (Sender: TObject);
85+ procedure FormDestroy (Sender: TObject);
86+ procedure TreeView_ClassesClick (Sender: TObject);
87+ procedure ListView_AcervoClick (Sender: TObject);
3088 private
3189 { Private declarations }
90+ DataInterface: TDataInterface;
91+ // procedure SetAccess;
3292 public
3393 { Public declarations }
3494 end ;
@@ -38,10 +98,143 @@ Tform_BibliotecaExplorer = class(TForm)
3898
3999implementation
40100
41- uses unit_RetiradaDialog, unit_ReservaDialog, unit_AcervoPerdidoDialog;
101+ uses unit_RetiradaDialog, unit_ReservaDialog, unit_AcervoPerdidoDialog,
102+ unit_Desktop, unit_Comum;
42103
43104{ $R *.DFM}
44105
106+ { -------------------- TDataInterface -----------------------}
107+
108+ constructor TDataInterface.Create;
109+ begin
110+ { Instancia um objeto da Classe de Dados}
111+ inherited Create;
112+ FDataClass := TAcervos.Create;
113+ FTipoAcervos := TTipoAcervos.Create;
114+ FAreaAcervos := TAreaAcervos.Create;
115+ FClassificacaoAcervos := TClassificacaoAcervos.Create;
116+ { retorna o primeiro registro}
117+ FDataClass.Refresh;
118+ end ;
119+
120+ destructor TDataInterface.Destroy;
121+ begin
122+ { destrói o objeto da classe de dados}
123+ FDataClass.Free;
124+ FTipoAcervos.Free;
125+ FAreaAcervos.Free;
126+ FClassificacaoAcervos.Free;
127+ inherited Destroy;
128+ end ;
129+
130+ function TDataInterface.SituacaoToStr (Situacao: Char): String;
131+ begin
132+ if Situacao = ' D' then
133+ Result := ' Disponível'
134+ else if Situacao = ' E' then
135+ Result := ' Emprestado'
136+ else if Situacao = ' P' then
137+ Result := ' Perdido'
138+ else
139+ Result := ' Indefinido' ;
140+ end ;
141+
142+ function TDataInterface.StrToSituacao (SitStr: String): Char;
143+ begin
144+ if SitStr = ' Disponível' then
145+ Result := ' D'
146+ else if SitStr = ' Emprestado' then
147+ Result := ' E'
148+ else if SitStr = ' Perdido' then
149+ Result := ' P'
150+ else
151+ Result := ' I' ;
152+ end ;
153+
154+ procedure TDataInterface.Read (Sender: TObject);
155+ var Node, Node2, Node3: TTreeNode;
156+ i,j,l: Integer;
157+ Classes: TClasses;
158+ begin
159+ with (Sender as Tform_BibliotecaExplorer) do
160+ begin
161+ with TreeView_Classes.Items do
162+ begin
163+ Clear;
164+ FDataClass.GetClasses(Classes);
165+ for i := 0 to Length(Classes.TipoAcervo) - 1 do
166+ begin
167+ Node := Add(nil ,Classes.TipoAcervo[i]);
168+ Node.ImageIndex := 0 ;
169+ Node.SelectedIndex := 1 ;
170+ Node.StateIndex := 1 ;
171+ for j := 0 to Length(Classes.AreaAcervo) - 1 do
172+ begin
173+ Node2 := AddChild(Node,Classes.AreaAcervo[j]);
174+ Node2.ImageIndex := 0 ;
175+ Node2.SelectedIndex := 1 ;
176+ Node2.StateIndex := 1 ;
177+ for l := 0 to Length(Classes.ClassificacaoAcervo) - 1 do
178+ begin
179+ Node3 := AddChild(Node2,Classes.ClassificacaoAcervo[l]);
180+ Node3.ImageIndex := 0 ;
181+ Node3.SelectedIndex := 1 ;
182+ Node3.StateIndex := 1 ;
183+ end ;
184+ end ;
185+ end ;
186+ end ;
187+ end ;
188+ end ;
189+
190+ procedure TDataInterface.ReadAcervo (Sender: TObject);
191+ var i: Integer;
192+ begin
193+ with (Sender as Tform_BibliotecaExplorer) do
194+ begin
195+ with ListView_Acervo.Items do
196+ begin
197+ Clear;
198+ if not TreeView_Classes.Selected.HasChildren then
199+ begin
200+ with TreeView_Classes.Selected do
201+ FDataClass.GetTitulos(Parent.Parent.Text,Parent.Text,
202+ TreeView_Classes.Selected.Text);
203+ for i := 1 to FDataClass.RecCount(True) do
204+ begin
205+ FDataClass.GotoReg(i,True);
206+ with Add do
207+ begin
208+ Caption := FDataClass.Registro.Titulo;
209+ ImageIndex := 3 ;
210+ end ;
211+ end ;
212+ end ;
213+ if Count > 0 then
214+ ListView_Acervo.Selected := Item[0 ];
215+ end ;
216+ end ;
217+ end ;
218+
219+ procedure TDataInterface.ReadExemplares (Sender: TObject);
220+ begin
221+ with (Sender as Tform_BibliotecaExplorer) do
222+ begin
223+ with ListView_Acervo.Items do
224+ begin
225+ Clear;
226+ // FDataClass.GetExemplares(Classes);
227+ with Add do
228+ begin
229+ Caption := FDataClass.Registro.Titulo;
230+ ImageIndex := 3 ;
231+ end ;
232+ end ;
233+ end ;
234+ end ;
235+
236+ { -------------------- Tform_BibliotecaExplorer -----------------------}
237+
45238procedure Tform_BibliotecaExplorer.Emprestar1Click (Sender: TObject);
46239begin
47240 form_RetiradaDialog := Tform_RetiradaDialog.Create(Application);
@@ -64,4 +257,25 @@ procedure Tform_BibliotecaExplorer.MoverparaAcervoPerdido1Click(
64257 form_AcervoPerdidoDialog.Free;
65258end ;
66259
260+ procedure Tform_BibliotecaExplorer.FormCreate (Sender: TObject);
261+ begin
262+ DataInterface := TDataInterface.Create;
263+ DataInterface.Read(Self);
264+ end ;
265+
266+ procedure Tform_BibliotecaExplorer.FormDestroy (Sender: TObject);
267+ begin
268+ DataInterface.Free;
269+ end ;
270+
271+ procedure Tform_BibliotecaExplorer.TreeView_ClassesClick (Sender: TObject);
272+ begin
273+ DataInterface.ReadAcervo(Self);
274+ end ;
275+
276+ procedure Tform_BibliotecaExplorer.ListView_AcervoClick (Sender: TObject);
277+ begin
278+ //
279+ end ;
280+
67281end .
0 commit comments