




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Apostila de delphi, curso completo
Tipologia: Notas de estudo
Compartilhado em 21/02/2010
4.9
(16)13 documentos
1 / 150
Esta página não é visível na pré-visualização
Não perca as partes importantes!





























































































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, Project – Options – 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”
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
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
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.
Veja como destacar um item selecionado em um DBGrid.
Digite o código abaixo no evento OnClick do RadioGroup.
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
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.
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 ).
File – New application – Project – Remove from Project , selecione a Unit1 e Yes.
Defina o Alias , aqui Madruga.
Clique em Database – Form 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?
File – New – Other 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.