Você está na página 1de 15

Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

Projeto em Delphi

Após a apresentação de alguns conceitos básicos sobre Banco de Dados é necessário definir
as Tabelas que serão utilizadas no projeto. O primeiro ponto que deve ser observado e
estudado é o BDE – Administrator. É através deste programa que será definido o Alias da
base de dados do seu projeto. Resumidamente, um Alias é a forma de enxergar um diretório
ou pasta como um banco de dados, para que cada arquivo de dados que esteja lá, seja
considerado uma tabela possível de ser utilizada no projeto.
Uma vantagem de se trabalhar com Alias é a seguinte: imagine que o seu cliente tem uma
base de dados Oracle, mas você não ainda tem recursos suficientes para investir nesta
conceituada plataforma de dados. Então, através do BDE Administrator cria-se um Alias para
acessar uma base de dados mais barata, como Paradox. Quando o sistema estiver todo
funcionando você modifica o Alias para que ele acesse a base Oracle e refaz os testes para
verificar se o sistema continua funcionando corretamente, ou seja, o BDE não define qual base
de dados será utilizada e sim aonde as tabelas se encontram.
Para configurar o Alias utilize através do Menu Iniciar do Windows, na opção Programas o
item do menu que contém as opções do Borland Delphi 7. Selecione o item BDE
Administrator como apresentado na figura abaixo.

Agora, será definido o Alias do seu projeto. Selecione a opção do menu Object | New. Será
apresentada uma caixa de diálogo para escolher o padrão do Database Driver Name, ou seja,
você deve neste item escolher qual o tipo de tabelas o seu projeto terá acesso. Podem ser
definidos tabelas como Oracle, SQL Server, DB2, Informix, Interbase, MySQL, Access, Dbase -
DBF, arquivos de planilhas eletrônicas do Excel entre outros. Para o nosso projeto será
utilizado a opção Standard.

Clique no botão OK e, agora digite o nome do seu Alias para o nosso exemplo de
desenvolvimento de projeto vamos adotar o nome Tabelas, entretanto, é comum associar o
nome do Alias ao projeto que está sendo desenvolvido, por exemplo, para um sistema de
controle de estoque a sugestão seria Estoque.

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 1


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

Após a digitação do nome do Alias deve-se informar a localização destas tabelas. Neste item
Path digite a letra do drive correspondente a sua pasta da rede (G:). Observe a figura abaixo,
com os valores alterados.

Para confirmar o procedimento selecione o menu File | Save as e confirme as alterações no


BDE.
O segundo passo é definir a estrutura das tabelas que serão utilizadas. Para isto, será
necessário utilizar o Database Desktop. Este gerenciador de Banco de Dados pode ser
acessado através do menu do Delphi (Iniciar | Programas | Borland Delphi 7 | Database
Desktop) ou através do próprio ambiente de programação do Delphi opção do menu Tools |
Database Desktop. Observe a figura abaixo com a segunda opção de acesso.

Através deste gerenciador de Banco de Dados vamos criar as tabelas do projeto que
pretendemos desenvolver. Para criar uma nova talela através do Database Desktop utilize a
opção do menu File | New | Table como apresentado na figura a seguir.

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 2


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

Verifique as opções disponíveis e escolha Paradox 7 e clique no botão OK. Veja figura abaixo.

Após a escolha do tipo da tabela é necessário definir os campos da tabela. É importante


ressaltar que o projeto tem a finalidade de promover o conhecimento dos alunos com Tabelas e
a Linguagem de Programação Delphi. Não entraremos em aspectos de Análise e Banco de
Dados. Outras disciplinas trataram destes itens mencionados.

Tipos de Campos

Quando se cria uma tabela uma dos itens mais importantes é o tipo de campo que será
utilizado, ou seja, para os valores que serão somados, campos numéricos; são informações
como nome, endereço, campos do tipo texto. Os principais tipos de campos são mostrados
abaixo, porém existem outros. Os tamanhos marcados com asterisco indicam que o campo
pode guardar tamanhos maiores que os informados, o que ultrapassar o tamanho será
guardado em um arquivo externo com a extensão MB.

Tipo Descrição Faixa Tamanho


A Alfanumérico 1-255
308
N Numérico ± 10
$ Monetário
S Short Integer ± 32767
I Long Integer ± 2147483648
D Data
T Hora
@ Data e Hora de modificação
M Memo 1-240*
G Gráfico 1-240*
L Lógico True/False
+ Autoincremental 1-2147483648

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 3


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

Neste projeto final serão utilizadas quatro tabelas de dados: Alunos, Cursos, Disciplinas e
Notas. A estrutura de cada tabela será apresentada a seguir.

Alunos
Nome do Campo Tipo Tamanho Key
Codigo + *
Nome A 50
Nascimento D
RG A 15
CPF A 14
Endereco A 40
Cidade A 40
Uf A 2
Cep A 9
Telefone A 13
Foto B
Obs M 30

Cursos
Nome do Campo Tipo Tamanho Key
Codigo + *
Descricao A 50

Disciplinas
Nome do Campo Tipo Tamanho Key
Codigo + *
Nome A 50
Curso I

Notas
Nome do Campo Tipo Tamanho Key
Aluno I *
Disciplina I
Nota1b N
Falta1b N
Nota2b N
Falta2b N
Nota3b N
Falta3b N
Nota4b N
Falta4b N

Índice Secundário

Após a criação das tabelas, ou até mesmo no momento de sua criação pode-se criar o que
chamamos de índice secundário. Os índices secundários têm um importante papel em Banco
de Dados. Através deste índice aumenta-se o desempenho do sistema uma vez que se podem
criar índices (classificações da sua tabela) da forma que lhe convier. É através dos índices que
se obtêm classificações por ordem alfabética, por cidade e estado com maior rapidez e
agilidade na execução.
Para criar um índice secundário o procedimento é muito simples. Primeiramente seleciona a
opção Secundary Indexes no item Table Properties localizado no canto superior direito da
sua tabela de dados. Observe a figura abaixo.

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 4


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

Após a seleção clique no botão Define. Será apresentada uma outra caixa de diálogo. Nesta
segunda caixa do lado esquerdo na opção Fields será listado todos os campos do seu arquivo
e, que podem ter um índice secundário. Selecione um ou mais campos os quais deseja
classificar.

À direita à medida que forem selecionados os campos o quadro Indexed fields apresenta a
ordem que foi determinada para este índice. Caso deseja alterar a ordem do índice, utilize as
setas que estão à direita das palavras Change order.
No item Index options existem quatro opções que podem ser selecionadas:

Unique: Abre apenas a tabela não associando a abertura dos índices automaticamente.
Maintained : Os índices do Paradox são do tipo Maintained. Isto quer dizer que quando se
abre a tabela os índices desta tabela também serão abertos. Com isto qualquer alteração nos
registros altera também os índices.
Case sensitive: Ordena os registros respeitando diferenciações na digitação entre letras
maiúsculas e minúsculas.

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 5


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

Descending: Classifica o índice em ordem decrescente (do último para o primeiro).

Concluída as seleções que julgar necessário clique no botão OK e será solicitado o nome
deste índice. A figura abaixo apresenta uma sugestão de nome para um índice secundário do
arquivo aluno.

Para o projeto final crie os seguintes índices secundários:

Campos Nome índice


Tabela Alunos
Nome Nome_Alunos
Cidade+UF+Nome Cidade_Alunos
Tabela Cursos
Descricao Descricao_Cursos
Tabela Disciplinas
Nome Nome_Disciplina

Integridade Referencial

Selecione e abra a tabela de Disciplinas. Utilize a ferramenta Reestructure para que os índices
de integridade referencial possam ser criados. Esta ferramenta é o quarto botão que se
encontra nos menus de botões de acesso rápido .

Na opção Table properties selecione o item Referencial Integrity. É através desta opção que
faremos o relacionamento entre duas tabelas. Relacionar uma tabela significa que um campo
estará “ligado” a outro campo de outra tabela. Desta maneira, por exemplo, pode-se excluir um

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 6


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

curso e todos os outros registros vinculados a este curso em outros arquivos ou, simplesmente,
não permitir esta exclusão. Banco de Dados modernos fazem parte da programação que antes
era executada pelo programador em uma linguagem estruturada. Lembre-se as tabelas não
devem estar abertas para executar o relacionamento.
Após a seleção de Referencial Integrity pressione o botão Define localizado abaixo das
opções das propriedades da tabela (Table properties)
Na caixa de diálogo que será apresentada, a esquerda serão exibidos os campos desta tabela
e, a direita as tabelas que permitem relacionamento. Selecione o campo à esquerda que
deseja relacionar e a direita a tabela. Como está sendo demonstrado na figura abaixo.

Nesta caixa de diálogo existem dois itens importantes. O Update rule tem duas possibilidades:
Cascade e Prohibit. Seleciona a opção Prohibit quando se exclui um registro da tabela Cursos,
todos nenhum registro deste curso será excluído na tabela Disciplinas. Na opção Cascade o
procedimento é contrário, ou seja, ao excluir um curso na tabela Disciplinas, todos os registros
vinculados a este curso serão excluídos.
A opção Strict referential integrity previne contra antigas versões do Paradox que ao acessar
tabelas mais recente destruíam os dados por incompatibilidade.
Quando clicar no botão OK será solicitado o nome desta integridade referencial. Dê o nome
sugerido e que consta da figura abaixo:

Utilizando o procedimento descrito acima faça as integridades referenciais para a tabela Notas
para os campos aluno e disciplina. Atribua para o campo Aluno o nome da integridade
referencial como Aluno_Notas e para as disciplinas Disciplinas_Notas. Faça o referential
integrity um campo de cada vez.

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 7


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

Janela Principal do Aplicativo

• Execute o Delphi.
• Clique na opção File | New | Application
• Selecione a opção do menu Project | Options e a guia Application. Nesta guia digite na
caixa de texto Title a mensagem Projeto Final – Linguagem e Técnicas de Programação. Nesta
mesma guia você pode trocar o ícone correspondente a sua aplicação. Neste exemplo, foi
1
realizada a substituição pelo ícone Technlgy

• Selecione a guia Directories/Conditionals é insira nas caixas de texto correspondente as


pastas que se encontrarão os projetos. (G:) Marque a opção Default e clique na opção OK.
• Construa a janela principal do aplicativo. Selecione o Form1 e, altera as seguintes
propriedades:

Propriedade Valor
BorderStyle bsSizeable
Caption Sistema Final – Linguagem e Técnicas de
Programação
Color clAppWorkSpace
FormStyle fsNormal
Icon Tecnhlgy
Name menuPrin
Position poScreenCenter
WindowState wsMaximized

• Salve o projeto. No primeiro quadro de diálogo, aonde é solicitado o nome da Unit1 digite
U_frmMPrin. Na segunda caixa, dê o nome para o seu projeto como Notas.

A primeira providência a ser tomada na construção de menus é a escolha e o agrupamento


das imagens que comporão o menu e a barra de ferramentas da aplicação. Será adotado no
desenvolvimento deste projeto algumas imagens que são sugestivas a localização de cada
item no menu e sua aplicação.

1
O arquivo sugerido encontra-se em C:\Arquivo de Programas\Arquivos Comuns\Borland
Shared\Images\Icons. Pode-se escolher outro arquivo com a mesma finalidade desde que tenha as mesmas
características. Deve ser um arquivo com a extensão .ICO e com dimensões de 32 x 32 com
aproximadamente 766 bytes.

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 8


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

• Selecione a janela menuPrin.


• Adicione o componente ImageList que se encontra na guia Win32.
• Dê um duplo-clique sobre o componente ImageList que foi inserido a pouco e adicione as
imagens na ordem que está sendo apresentada na tabela abaixo. As figuras encontram-se na
pasta da rede F:\Aulas\Sistema de Informacao\ImagensDelphi.

Nome da Imagem Aplicação Índice


Btn_Cliente.bmp Cadastro de Alunos 0
Btn_Livro.bmp Cadastro de Cursos 1
Btn_EntLiv.bmp Cadastro de Disciplina 2
Btn_Marcar.bmp Cadastro de Notas/Faltas 3
Btn_Calculadora.bmp Exibe Calculadora do Windows 4
Btn_Calendario.bmp Exibe um calendário 5
Btn_BlocoNotas.bmp Executa o bloco de Notas do Windows 6
Btn_WE.bmp Executa o Windows Explorer 7
Btn_IE.bmp Executa o Internet Explorer. 8

• Após adicionar as figuras verifique se elas se encontram na ordem da tabela acima, caso
não se encontrem, altere afim de que fiquem como o solicitado e, pressione o botão OK.
• Selecione o form menuPrin. Adicione o componente ActionList que se encontra na guia
Standard. Altera a propriedade Images para ImageList1. Este procedimento fará com que as
imagens contidas em ActionList1 possam ser usadas pelos Actions que vão ser criados.
• Dê um duplo clique sobre o componente ActionList1 para abrir o editor de ações. O menu
de edição do ActionList está sendo apresentado na figura abaixo.

• Clique no botão New Action para inserir uma nova ação. No painel à direita do editor de
ações foi preenchido com uma nova ação denominada Action1.
• Repita o procedimento e adicione mais três New Action.
• Altera a propriedade de cada Action de acordo com os dados que estão sendo
apresentados:

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 9


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

Propriedades Valor
Action1
Caption Cadastro de Alunos
Hint Manutenção do Cadastro de Alunos
ImageIndex 0
Name cadAlunos
ShortCut Ctrl+A
Action2
Caption Cadastro de Cursos
Hint Manutenção do Cadastro de Cursos
ImageIndex 1
Name cadCursos
ShortCut Ctrl+C
Action3
Caption Cadastro de Disciplinas
Hint Manutenção do Cadastro de Disciplinas
ImageIndex 2
Name cadDisciplina
ShortCut Ctrl+D
Action4
Caption Cadastro de Notas/Faltas
Hint Manutenção do Cadastro de Notas/Faltas
ImageIndex 3
Name cadNotas
ShortCut Ctrl+N

• Selecione todas as ações (do lado direito do editor de ações) que você acabou de
configurar e altere a sua propriedade Category para Cadastro. Para isto digite o nome sobre o
que está sendo apresentado na guia Properties.
• Salve o projeto.
• Dê um duplo clique sobre o componente ActionList1, caso não esteja selecionado, para
abrir o editor de ações.
• Clique no botão New Action para inserir uma nova ação. No painel à direita do editor de
ações foi preenchido com uma nova ação denominada Action1.
• Repita o procedimento e adicione mais quatro New Action.
• Altera a propriedade de cada Action de acordo com os dados que estão sendo
apresentados:

Propriedades Valor
Action1
Caption Calculadora
Hint Executar a calculadora do Windows
ImageIndex 4
Name Ut_Calc
ShortCut Ctrl+Alt+C
Action2
Caption Calendário
Hint Exibir Calendário
ImageIndex 5
Name Ut_Calend
ShortCut Ctrl+Alt+D

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 10


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

Propriedades Valor
Action3
Caption Bloco de Notas
Hint Executar o bloco de notas do Windows
ImageIndex 6
Name Ut_Bloco
Action4
Caption Windows Explorer
Hint Executar o Windows Explorer
ImageIndex 7
Name Ut_WE
Action5
Caption Internet Explorer
Hint Executar o Internet Explorer
ImageIndex 8
Name Ut_IE

• Selecione todas as ações (do lado direito do editor de ações) que você acabou de
configurar e altere a sua propriedade Category para Utilitários. Para isto digite o nome sobre
o que está sendo apresentado na guia Properties
• Salve o projeto.
• Faremos a configuração do menu principal de nossa aplicação. Selecione a janela
menuPrin. Adicione no formulário principal o componente MainMenu que se encontra na guia
Standard. Altere a propriedade Images para ImageList1, para ligar as imagens usadas pelos
itens do menu com as imagens contidas no ImageList1.
• Dê um duplo-clique sobre o componente MaiMenu que acabou de inserir. Nesta janela os
itens dos menus devem ficar como estão sendo apresentados nas figuras abaixo. Entretanto,
não será realizado associações para cada um deste item e sim, será utilizado as linhas já
informadas em ActionList.

• Na linha abaixo da palavra Cadastro que está sendo apresentado um retângulo com linhas
pontilhadas. Informe na propriedade Action o item CadAlunos.
• Repita este procedimento para os demais itens desta opção do menu.

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 11


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

• No item do menu Calculadora. Informe nas propriedades Action para cada item o item de
associação que foi atribuído nome e demais propriedades no ActionList1 na categoria
Utilitários.

Executando os itens do menu Utilitários

Menus são criados para executar tarefas quando clicamos com o mouse sobre um de seus
itens, ou pressionamos uma tecla de atalho. De modo geral, isto ocorre no momento em que o
seu evento OnExecute de um dos itens do ActionList for disparado. Os itens relacionados no
projeto final e que fazem parte do menu Utilitários são programas contidos no próprio sistema
operacional Windows. Existem várias maneiras para se executar estes programas sendo que a
mais difundida é através da função WinExec. A partir do próximo item será apresentada a
forma de se “chamar” estes utilitários no projeto.
• Selecione o form menuPrin.
• Dê um duplo-clique sobre o componente ActionList1 para abrir seu editor de ações.
• Clique na categoria Utilitários e em seguida selecione o item Ut_Calc.
2
• Selecione o evento OnExecute e insira o procedimento descrito abaixo :

procedure TmenuPrin.Ut_CalcExecute(Sender: TObject);


begin
winExec('c:\windows\calc.exe', sw_shownormal);
end;

• Salve e execute o seu projeto. Observe que ao clicar sobre o menu Utilitários, o item
Calculadora está ativo, já que o evento OnExecute possui linhas de código que disparam a
execução da calculadora. Ao clicar sobre o item Calculadora, ele será executado.

• Clique na categoria Utilitários e em seguida selecione o item Ut_Bloco.


• Selecione o evento OnExecute e insira o procedimento descrito abaixo:

procedure TmenuPrin.Ut_BlocoExecute(Sender: TObject);


begin
winExec('c:\windows\notepad.exe', sw_shownormal);
end;

• Clique na categoria Utilitários e em seguida selecione o item Ut_WE.


• Selecione o evento OnExecute e insira o procedimento descrito abaixo:

procedure TmenuPrin.Ut_WEExecute(Sender: TObject);


begin
winExec('c:\windows\explorer.exe', sw_shownormal);
end;

• Clique na categoria Utilitários e em seguida selecione o item Ut_IE.


• Selecione o evento OnExecute e insira o procedimento descrito abaixo:

procedure TmenuPrin.Ut_IEExecute(Sender: TObject);


begin
winExec('c:\Arquivos de Programas\ Internet Explorer\Iexplore.exe
http://robson.fjaunet.com.br', sw_shownormal);
end;

• Salve e execute o seu projeto e observe o resultado.

2
O programa Calc.Exe normalmente é encontrado na pasta c:\windows\system32 para as versões NT,
2000 e XP do Windows e na pasta c:\windows para as versões do 95 e 98.

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 12


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

Criando um calendário

Até o presente momento nos itens de Utilitários usamos as ferramentas do Windows para
serem executadas pelas opções do menu Utilitários. No caso do calendário, vamos criar uma
pequena janela que exiba um calendário anual, já que dispomos desta ferramenta no próprio
Delphi.
• Crie um novo formulário em sua área de trabalho. Utilize o menu File | New | Form.
• Altere as propriedades deste formulário de acordo com a tabela abaixo:
Propriedade Valor Descrição
BorderStyle bsDialog Tipo da Borda
Caption Calendário Título da janela
Color clBtnFace Cor de fundo da janela
Font Name Arial Fonte Padrão
Font Size 7 Tamanho da Fonte
FormStyle fsNormal Estilo da Fonte
Height 437 Altura da janela
Name Calendario Nome da janela
Position poScreenCenter Posição da janela
Width 703 Largura da janela.

• Salve o formulário com o nome de frmCalendario.


• Insira neste formulário – frmCalendario – um componente MonthCalendar localizado na
guia Win32. Altere as propriedades que segue com os respectivos valores.

Propriedade Valor Descrição


Align alClient Alinhamento dos componentes (alClient ocupa toda a área
disponível da janela.
WeekNumbers True Exibe o número de semanas.

• Caso seja necessário, ajuste a largura e altura da janela até que o calendário se ajuste aos
12 meses em seu interior.

O componente MonthC alendar possui uma propriedade denominada date, cuja função é exibir
a data atual (registrada no sistema do computador). O problema é que esta propriedade fica
ancorada com a data de criação do componente, ou seja, se você inserir um componente
MonthCalendar1 em 13/02/2005 em sua janela, sua data ficará fixada em 13/02/2005,
independentemente de qual seja a data em que você estiver executando o programa.
Para resolver este problema, insira na propriedade OnActivate do form Calendário o seguinte
procedimento. Este procedimento fará com que seja atribuída à propriedade date do
MonthCalendar1 a data atual do sistema sempre que a janela Calendário for ativada.

procedure TCalendario.FormActivate(Sender: TObject);


begin
monthCalendar1.Date := date;
end;

• Salve e execute o seu projeto e observe o resultado.


• Selecione o form menuPrin.
• Dê um duplo-clique sobre o componente ActionList1 para abrir seu editor de ações.
• Clique na categoria Utilitários e em seguida selecione o item Ut_Calend.
• Selecione o evento OnExecute e insira o procedimento descrito abaixo:

procedure TmenuPrin.Ut_CalendExecute(Sender: TObject);


begin
calendario.showmodal;
end;

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 13


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

• Salve e execute o seu projeto.

Inserindo a barra de ferramentas no Formulário Principal

• Selecione o form menuPrin.


• Adicione em seu interior o componente ToolBar que se encontra na guia Win32. Altera as
propriedades deste componente como informado na tabela abaixo.

Propriedade Valor
BorderWidth 1
ButtonHeight 22
ButtonWidth 23
Color clBtnFace
EdgeBorders elLeft False
elTop True
elRight False
elBottom True
Flat True
Height 30
Images ImageList1
ShowHint True

• Salve e execute o seu projeto. Note que a barra de ferramentas foi inserida em sua janela
principal, mas nenhum botão está sendo exibido neste momento.
• Selecione o form menuPrin.
• Clique sobre a barra de ferramentas para selecioná-la.
• Clique com o botão direito do mouse sobre a barra de ferramentas. Ao abrir o menu
suspenso, clique sobre a opção New Button. Um botão contendo a imagem Btn_Cliente.bmp
que você inseriu na lista de imagens será adicionada a barra de ferramentas. A seguir,
selecione para a propriedade Action a opção CadAlunos.
• Insira mais três botões na barra de ferramenta alterando as propriedades Action destes
botões para CadCursos, CadDisciplina e CadNotas.
• Adicione uma linha separadora destes três botões para os demais. Clique o botão direito do
mouse sobre a barra de ferramentas e clique sobre a opção New Separator. A linha
separadora que solicitou foi incluída à direita dos botões.
• Adicione mais quatro botões para os itens do menu Utilitários. Para executar este item use
os mesmos conceitos vistos no terceiro item acima.
• Salve e execute o seu projeto. Observe que a maioria dos botões esta desabilitada (exceto
os botões que executam as ações do menu Utilitários e consequentemente suas imagens ficam
desabilitadas, por isso elas ficam borradas e sem definição. Para contornar este problema,
podemos exibir imagens diferentes para botões que estejam no estado desabilitado. Na pasta
de imagens existem imagens em tons cinza, as quais serão inseridas em um outro componente
ImageList que também será associado à barra de ferramentas no modo desabilitado.
• Selecione o form menuPrin.
• Adicione um novo componente ImageList (guia Win32).
• Adicione ao ImageList2 as imagens seguindo a ordem apresentada na tabela a seguir.

Nome da Imagem Aplicação Índice


Btn_Cliente1.bmp Cadastro de Alunos 0
Btn_Livro1.bmp Cadastro de Cursos 1
Btn_EntLiv1.bmp Cadastro de Disciplina 2
Btn_Marcar1.bmp Cadastro de Notas/Faltas 3
Btn_Calculadora1.bmp Exibe Calculadora do Windows 4
Btn_Calendario1.bmp Exibe um calendário 5
Btn_BlocoNotas1.bmp Executa o bloco de Notas do Windows 6
Btn_WE1.bmp Executa o Windows Explorer 7
Btn_IE1.bmp Executa o Internet Explorer. 8

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 14


Linguagens e Técnicas de Programação I – Pascal / Delphi Aula – 11

• Selecione a barra de ferramentas ToolBar1 e altere a propriedade DisabledImages para


ImageList2.
• Salve o projeto. Execute o programa e observe que os botões que estão desabilitados
passa a exibir as imagens em tons de cinza.
• Selecione a janela menuPrin.
• Adicione um componente StatusBar (guia Win32).
• Dê um duplo-clique na barra de status que você acabou de inserir na janela principal do
aplicativo. Uma janela definida como Editing StatusBar1.Panels será aberta.
• Clique sobre o botão Add New para inserir uma divisão no panel da barra de status.
Observe que será inserido na janela de edição um panel de nome O – TstatusPanel.
Mantenha esse panel selecionado e, na propriedade Width do Object Inspector, digite 45 para
alterar sua largura.
• Clique novamente sobre o botão Add New para inserir uma nova divisão no panel na barra
de status. Mantenha-o selecionado e, na propriedade Width do Object Inspector, digite 220
para alterar sua largura.
• Insira uma nova divisão e altere a propriedade Width para 230.
• Salve o projeto. Execute o programa.
• Selecione a janela menuPrin.
• Dê um duplo-clique na caixa de texto do evento OnActivate e digite o seguinte
procedimento:

procedure TMenuPrin.FormActivate(Sender: TObject);


begin
StatusBar1.Panel[0].text := ‘ ‘+FormatDateTime( ‘ hh:nn’, now);
StatusBar1.Panel[1].text := ‘ ‘+FormatDateTime( ‘ dddd “ , “ dd “ de “ mmmm
” de “ yyyy “ ’, now);
end;

• Salve e execute o seu projeto. Observe que a hora não está sendo atualizada. Para resolver
este pequeno problema, primeiramente, selecione o form menuPrin.
• Adicione em seu interior o componente Timer. Altera a propriedade Interval para 60000.
Este valor indica em milissegundos o intervalo de disparo deste evento. O valor 60000 indica
que o evento será acionado a cada minuto. O Valor 1000 aciona o evento a cada minuto.
• No evento OnTimer deste componente digite a seguinte linha de comando:

procedure TMenuPrin.Timer1Timer(Sender: TObject);


begin
StatusBar1.Panel[0].text := ‘ ‘+FormatDateTime( ‘ hh:nn’, now);
end;

• Insira no Form do menu menuPrin o componente ApplicationEvent que se encontra na


guia Additional.
• Selecione o componente ApplicationEvent1 e dê um duplo-clique no evento OnHint da
guia Events.

procedure TMenuPrin.ApplicationEvents1Hint(Sender: TObject);


begin
StatusBar1.Panel[2].text := ‘ ‘+Application.Hint;
end;

• Salve e execute o seu projeto.

Faculdades Integradas de Jaú – Curso Sistemas de Informação Pag: 15

Você também pode gostar