Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Delphi Aplicado Módulo 3A, Notas de estudo de Tecnologia Industrial

Apostila de delphi, curso completo

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 21/02/2010

usuário desconhecido
usuário desconhecido 🇧🇷

4.9

(16)

13 documentos

1 / 150

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Delphi Aplicado
by Jurandir A. Pellin – Timbó – SC (E-mail: delphiew[email protected])
325
Procurando registros com “Dbgrid e SetRange” ?
No exemplo a seguir veremos com filtrar registros em uma tabela usando componentes DBGrid e SetRange.
Insira um Form, File, New Form.
Insira um Label1, clique no label1, pressione F11 e digite Código Inicial:
Insira um Label2, clique no label2, pressione F11 e digite Código Final:
Insira um componente Edit1 (aba Standard).
Insira um componente Edit2 (aba Standard).
Insira um Bitbtn (aba Additional), tecle F11, na propriedade Caption digite Procurar,
na propriedade Name, mude o nome BitBtn1 para Bit_Procura
Selecione o formulário, tecle ESC 3 vezes para cancelar possíveis objetos selecionados, na propriedade
Name digite Pequisa_Frm.
Insira um componente Table ( aba DataAccess).
Insira um DBGrid ( aba DataControls ), clique no DBGrid, File, Use Unit e selecione Clientes, na
propriedade DataSource informe DataSource1
Clique duplo sobre o botão Procurar e digite as seguintes linhas de código:
Como padrão o Delphi executa sempre o primeiro formulário (formulário pai), para executar o form do Grid
por primeiro selecione opção que está na barra de títulos, Project Options selecione o formulário
Pesquisa_Frm ( nosso formulário ) e arraste-o posicionando-o por primeiro, clique OK, finalmente tecle F9
para executar o programa.
Clique na propriedade
DatabaseName
e
defina o Alias, defina propriedade
TableName = Clientes.db, clique em
Table1, clique no botão direito
Fields
Editor
Add Fields
Ok
( para adicionar os campos )
Clique no Datasource1 e na propriedade
Dataset
defina
Table1.
Como padrão o Delphi mostra no
Edit1
e
Edit2 o texto Edit1 e Edit2, para apagar
pressione F11, clique na propriedade na
propriedade
Text
apague o texto
.
Outra maneira SEM usar “With … do”
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Delphi Aplicado Módulo 3A e outras Notas de estudo em PDF para Tecnologia Industrial, somente na Docsity!

 Procurando registros com “Dbgrid e SetRange”?

No exemplo a seguir veremos com filtrar registros em uma tabela usando componentes DBGrid e SetRange.

 Insira um Form , File , New Form.  Insira um Label1 , clique no label1 , pressione F11 e digite Código Inicial:  Insira um Label2 , clique no label2 , pressione F11 e digite Código Final:  Insira um componente Edit1 (aba Standard ).  Insira um componente Edit2 (aba Standard ).  Insira um Bitbtn (aba Additional ), tecle F11 , na propriedade Caption digite Procurar , na propriedade Name , mude o nome BitBtn1 para Bit_Procura  Selecione o formulário, tecle ESC 3 vezes para cancelar possíveis objetos selecionados, na propriedade Name digite Pequisa_Frm. Insira um componente Table ( aba DataAccess ). Insira um DBGrid ( aba DataControls ), clique no DBGrid , File, Use Unit e selecione Clientes , na propriedade DataSource informe DataSource

Clique duplo sobre o botão Procurar e digite as seguintes linhas de código:

Como padrão o Delphi executa sempre o primeiro formulário (formulário pai), para executar o form do Grid por primeiro selecione opção que está na barra de títulos, ProjectOptions – selecione o formulário Pesquisa_Frm ( nosso formulário ) e arraste-o posicionando-o por primeiro, clique OK, finalmente tecle F para executar o programa.

Clique na propriedade DatabaseName e defina o Alias , defina propriedade TableName = Clientes.db , clique em Table1 , clique no botão direito Fields Editor Add Fields Ok ( para adicionar os campos )

Clique no Datasource1 e na propriedade Dataset defina Table1.

Como padrão o Delphi mostra no Edit1 e Edit2 o texto Edit1 e Edit2 , para apagar pressione F11, clique na propriedade na propriedade Text apague o texto Edit.

Outra maneira SEM usar “With … do”

 Como procurar registros em um DBGrid?

No exemplo a seguir estamos fazendo a procura pela coluna “ Nome ”, ou seja, basta digitar as letras iniciais do nome que desejar localizar na coluna Nome , a medida que for localizado algum nome, este será exibido no Label1 , para apagar conteúdo campo use “backspace”.

Crie um índice secundário para o campo Nome , visto que a pesquisa será feita pelo Nome.

 Clique no DBGrid e no evento OnKeyPress digite o código abaixo:

 Crie uma tabela com os campos DBGrid.

 Abaixo da seção Private digite a ProcuraX: string;

Clique no DBGrid , clique Options , clique na sub-opção dgEditing = False , e na propriedade ReadOnly = True.

Insira um Label

 Lendo conteúdo do campo

No exemplo a seguir leremos o conteúdo do campo Estado Civil, se o conteúdo for a letra ” C ”, será mostrada a palavra “ Casado ” caso contrário “ Solteiro ”.

 Crie a tabela abaixo ( use o Database Desktop )

 Crie o formulário de cadastro.

 Clique no componente DataSource1 , clique no evento OnDataChange e digite o código abaixo:

Serão aceitas somente as letras C e S.

Se for digitada a letra C será mostrada a palavra Casado em azul com o tamanho da fonte de 15

Se for digitada a letra S será mostrada a palavra Solteiro em vermelho com o tamanho da fonte de 20

 Maneiras de ler campos

Insira 5 componentes Labels e 5 Bitbtn.

Insira um componente DBGrid , Table e um DataSource. Defina as propriedades de cada um destes componentes, já aprendemos anteriormente ☺

Insira 5 labels, na propriedade Caption de cada um digite o texto que esta em amarelo.

Foi inserido um DBGrid para mostrar os registros que estão na tabela.

Se o salário que contiver na tabela for igual a 100 , será mostrada a mensagem Salário OK! em verde com o tamanho da fonte de 12.

 Destacando opção selecionada no RadioGroup

Veja como destacar um item selecionado em um DBGrid.

 Como desabilitar opções do RadioGroup?

Digite o código abaixo no evento OnClick do RadioGroup.

 Pesquisando registro com DBEdit ou Edit

Um truque para pesquisar registro no campo Código.

 Crie a tabela abaixo com o Database Desktop

 Crie o formulário abaixo. Analise a seguinte situação: No campo Código não é possível “efetuar pesquisa”, visto que o componente DBEdit não permite tal ação. Para pesquisar um código terá que inserir um componente Edit.

 Mova o componente DBEdit para o lado direito do formulário, apenas para não removê-lo do projeto, ao lado da label Código insira um componente Edit.

Observe atentamente o código fonte do formulário acima, e cada um dos seus eventos.

Componente EDIT que foi inserido.

Componente movido. No momento não precisamos apagá-lo.

Agora, criaremos uma segunda tela para facilitar a pesquisa dos registros.

Neste campo você poderá digitar um código para realizar pesquisa, porém se fosse no componente ao lado ( setinha vermelha ), isto não seria possível.

Clique no componente RadioGroup , clique na propriedade Items, será aberta uma tela, digite Código e Nome um abaixo do outro como no exemplo acima, após Clique no botão, clique Ok. clique nan propriedade ModalResult e defina mrOK

 Relacionamento ( N – N ) - ( Ex: 1 )

O exemplo a seguir mostra como cadastrar um funcionário que trabalha em várias empresas.

Crie as tabelas abaixo:

Funcionários.db Empresas.db

Func_Empresa.db

^ ^ File^ –^ New Application^ –^ remove file from Project^ –^ yes^ (remova o formulário em branco que o Delphi abriu ).

  Crie um Alias chamado de Relacionamento ( Database – Explore – Object – New – Standard – Ok – digite o nome Relacionamento – no lado direito , opção Path digite o caminho onde estão armazenadas as tabelas (C:\Delphi Madruga\Sys 2\dados ) – Apply e Ok para gravar.

  Crie o formulário de entrada de dados, use o Database - FormWizard para criar a tabela de Funcionários e Empresas. Clique o Formulário e defina as propriedades básicas: Caption = Cadastro de Funcionários , Name = Func_Frm , clique no componente Table1 , pressione F11, na propriedade DataBaseName defina o alias Relacionamento , Name para Funcionarios_TB, clique no DataSource1 , pressione F11 , mude a propriedade Name para Funcionarios_DS Veja o cadastro de Funcionários abaixo:

  Insira um componente Label e altere a propriedade Caption para Empresas.

^ ^ Insira dois componentes^ Table^ e dois^ DataSource. Clique em^ Table1^ defina a propriedade^ Databasename = Relacionamento ( alias ), a propriedade Name para Empresas_TB , defina a propriedade TableName = Empresas.db , clique no DataSource1 e mude a propriedade Name para Empresas_DS.

Clique em Table2, defina a propriedade Databasename = Relacionamento ( alias ), a propriedade Name para Func_Empresas_TB , TableName = Func_Empresas.db , clique no DataSource2 e mude a propriedade Name para Func_Empresas_DS , clique duplo em Func_Empresas , será aberta uma pequena tela mostrando os campos, clique botão direito, clique em Add Fields e OK , clique novamente botão direito, clique em New

Field ( vamos criar um campo temporário para mostrar o nome da empresa em um drop-down. Com drop- down será mais prático), será aberta uma tela para definir nome e tamanho do campo, preencha campos como tela abaixo:

  Insira um DBGrid ( aba DataControls ), na propriedade DataSource defina Func_Empresas_DS, clique duplo sobre o DbGrid , será abeta uma tela onde definiremos as colunas dos dados que serão exibidos:

Clique no primeiro ícone amarelo ( Add New – Ins ), clique duas vezes para criar duas colunas, clique em FieldName e defina o nome do campo a ser mostrado, clique no + da opção Title para alterar o Caption para Código Empresa.

O campo temporário é relacionado com o campo da tabela ( veja ao lado ).

DBGRid

Crie o formulário de entrada de dados para cadastrar algumas empresas ( utilize o FormWizard )

Para selecionar uma empresa clique no final do campo Nome Empresa, será aberta uma lista drop-down.

Clique no DBGrid , defina a propriedade DataSource defina Func_Empresas_DS.

Insira um Label e na propriedade Caption digite Empresas.

<< Abrindo duas tabelas >>

Esta é a tabela intermediária, somente para fazer o relacionamento.

Tabela de Empresas.

Clique no DBNavigator , clique na propriedade DataSource e defina Funcionarios_DS

Um funcionário poderá ser cadastrado em várias empresas.

 Relacionamento ( 1 : 1 ) - ( Ex: 1 )

Temos duas tabelas , de Alunos e de Professores. Na tabela Alunos cadastraremos o Professor para um aluno selecionado. Objetivo deste exemplo é mostrar relacionamento de 1 para 1 ( 1 : 1 ).

 FileNew applicationProjectRemove from Project , selecione a Unit1 e Yes.

 Defina o Alias , aqui Madruga.

 Clique em DatabaseForm Wizard para criar os dois formulários Alunos e Professores , veja abaixo como ficou o formulário de entrada de dados para o Cadastro de Alunos.

Relacionamento: A tabela Alunos deverá conter um campo para o relacionamento. Desta forma ligaremos o campo Alu_Cod_Relaciona com o campo Profe_Cod.

 Altere as propriedades básicas do Formulário , Table , Name , DataSource e Caption.

 Use o Form Wizard para gerar o formulário de entrada de dados para os Professores.

 Como criar relatório com relacionamento “Professores e Alunos” usando SQL?

 FileNewOther e clique na opção Report , será aberto um formulário como o que está abaixo:

 Clique duplo no meio deste formulário, será aberta uma tela para configurar tamanho do papel e outros.

 Após clicar no botão OK será incluído 3 bandas.

 Para forçar quebra ( agrupamento ) por Professores precisamos incluir a banda que fará esta quebra, uma banda do tipo QRGroup.

 Na propriedade do formulário Name altere o nome de QuickReport1 para QReport_Aula.

 Insira na banda Page Header um componente QRSysData , mude a propriedade Data ( qrsTime ) para qrsReportTitle , onde será impresso o título do relatório via programação. Mais para direita da banda insira outro QRSysData , mude a propriedade Data para qrsDateTime ( para imprimir a data e a hora ), insira outro QRSysData , mude a propriedade Data para qrsPageNumber ( para imprimir número da página ).

 Clique na banda Column Header, insira um componente QRLabel, mude a propriedade Caption para Nome do Professor.

Insira um componente SQL ( Query ), clique no componente Query , clique no botão direito, clique em SQL Builder , na opção Database informe o Alias , na opção Table escolha a tabela de Professores e a tabela de Alunos. Posicione o ponteiro do mouse sobre o campo Prof_Codigo e arraste-o até o campo Alun_Cod_Relaciona , note o “traço” indicando o relacionamento, veja o gráfico abaixo:

Ao clicar no “raio” será mostrado o resultado SQL que foi gerado.

Para fazer o relacionamento, clique na tabela de Professores , clique no campo Prof_Codigo e arraste até o campo Alun_Codigo.