Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina FDR. Material III-Bimestre Criação de Funções e Procedimentos;Acesso à Banco de dados (Usando Acess); Controle de dados usando (ADO) ;Conceito de objeto (ADO) ActiveX DataBase Object;Objetos DataSource,ADOConnection, ADOTable ;Manipulação de registros usando ADO (Posicionamento de ponteiros) ; Movimentação de ponteiros na base de dados;Objeto de navegação automática (DBNavegation) site: http://www1.univap.br/~wagner Prof. Responsáveis Wagner Santos C. de Jesus 1 Procedimentos e Funções • Procedimentos são subrotinas de um programa que não retornam valores. • Funções são subrotinas que retornam valores para o programa principal. 2 Criando funções e procedimentos. Exemplo : Procedimento. Procedure <proc>(<varm>:<tipo>[;<varm>:<tipo>]) begin <Código> end; 3 Exemplo Procedimento procedure decomp(a:integer); var n : integer; begin n := 2; While a > 1 do begin if (a mod n) = 0 then begin Showmessage(IntToStr(n)); a := a div n; end else inc(n); end; end; procedure TForm1.Button1Click(Sender: TObject); var x : String; begin decomp(40); end; 4 Exemplo: Função function <nome> (<varm>:<tipo>;var <varm>:<tipo>) : tipo; begin <Código> [nome <valor>;] end; Obs : A cláusula var permite que os valores sejam passados como referência para a função ou procedimento. 5 Exemplo de Função => Function letrasIn(a:String):String; var i : integer; b: String; Begin a := Uppercase(copy(a,1,1))+copy(a,2,length(a)); for i := 1 to length(a) do begin b:= copy(a,i,1); if b = ' ' then begin b := UpperCase(copy(a,i+1,1)); Delete(a,i+1,1); Insert(b,a,i+1); end; end; letrasIn := a; end; procedure TForm1.Button1Click(Sender: TObject); var x : String; begin x := letrasIn('luiz carlos prestes'); ShowMessage(x); end; 6 Unidade de Funções e Procedimentos Para que uma funções e procedimento possam estar disponíveis para um projeto como um todo basta criar uma unidade (Unit) que comporte todos. Bastando usar o menu : File, New e Unit 7 unit Unit3; interface function teste(a:String):String; implementation function teste(a:String):String; begin teste := a; end; end. 8 Criação de Menus de opção MainMenu : Determina um menu de opções. (Basta digitar duplo click no objeto) Escrever opções na propriedade caption Para criar um submenu basta clicar na linha de baixo e escrever na propriedade caption. 10 Resultado na Execução do Menu Ao selecionar a opção 11 O código deverá ser colocado no evento OnClick do objeto MainMenu1 procedure TForm1.Clientes1Click(Sender: TObject); begin FormCliente.Show(); end; 12 Timer - Permite executar uma operação recursivamente em um determinado intervalo de tempo de 1000 milisegundo que equivale a um segundo. Palheta system. Propriedade importantes : Enabled - Habilita ou desabilita o timer o padrão é true habilitado. Interval - Determina o intervalo de espera para execução do evento. Exemplo : procedure TForm1.Timer1Timer(Sender: TObject); var linha : Array[1..3] Of String; begin linha[1] := 'Abacaxi'; linha[2] := 'Laranja'; linha[3] := 'Banana'; Label1.Caption := linha[i]; inc(i); if i = 4 then i := 1; end; Exemplo : Para carregar uma figura na tela. procedure TForm1.Button1Click(Sender: TObject); begin Image1.Picture.LoadFromFile('c:/windows/lixo.bmp'); end; Sistemas de Gerenciamento de Banco de Dados Um SGDB é o software responsável pelo armazenamento, recuperação e atualização dos dados de forma rápida e fácil. Um SGBD relacional é um software gerenciador de banco que acessa os dados na forma de linhas e colunas. 17 O que vem a ser um Banco de dados. Vem a ser a forma como organizamos as informações de origem podendo Relatar, Classificar, Organizar e Adaptar as maneira de se administrar as informações. 18 Diferenças • • • • • • Oracle (Muito Alta Performance) MS-SQL (Média p/ Alta Performance) InterBase (Média) Paradox (Baixa) MySql (Média) Microsoft Access 19 Delphi oferece três maneiras de manipular Banco de Dados • Navegador de Banco de dados (DbNavegator). • Fonte de Dados (Datasource ) • Linguagem de Manipulação de Dados (SQL). 20 Componente ADO O ADO (ActiveX Data Objects) é um mecanismo Component Object Model criado pela Microsoft onde os programas o utilizam para a troca de informações com as bases de dados. Aplicação ADO Bases de Dados Criação de uma conexação ADO 1 – Selecionar Aba ADO. 2 – Selecione opção build ( para realizar escolha do Banco de Dados) 3 – Selecione Ok após ter configurado todas as opções Selecionando o botão (build) A opção escolhida deverá ser Microsoft Jet 4.0 OLE DB Provider Em seguida avançar Janela de conexão (Escolha do Banco de dados) Colocar nome e caminho da base de dados Realiza teste de conexão com banco no momento da configuração Fonte de Dados (Aba Data Access e ADO) DataSource - Permite a comunicação com o banco de dados físico por intermédio do mecanismo ODBC. ADOTable - Cria a interface de comunicação com a tabela do banco de dados. 25 Criando objeto de ligação com banco de dados Objeto Propriedade Atributo ADOTable1 Connection ADOConnection1 ADOTable1 Connection(LoginPrompt) false ADOTable1 TableName Nome da Tabela DataSource1 DataSet ADOADOTable1 DataBaseName( Componente Table). Indica em que base de dados esta a tabela a ser manipulada. Exemplo : ADOTable1.DataBaseName := ‘Base’; 27 TableName( Componente Table). Indica a qual nome da tabela da base de dados que será manipulada. Exemplo : ADOTable1.TableName := ‘Tabela1’; 28 Método Open. Abre a tabela especificada pela propriedade TableName. Deixando-a disponível. Exemplo : ADOTable1.Open; 29 Métodos de Movimentação em um Conjunto de dados Esse métodos permitem deslocar o ponteiro em uma tabela de dados podendo encontrar um o mais registros de uma tabela. Sintaxe : <ADOTableN>.<método>; 30 Métodos Disponíveis Movimentação de Ponteiros • • • • • • Next Prior MoveBy First Last RecordCount 31 Método - First; Move o ponteiro para o primeiro registro da tabela. Exemplo : ADOTable1.First; 32 Método - Last; Move o ponteiro para o último registro da tabela. Exemplo : ADOTable1.Last; 33 Método - prior; Move o ponteiro para o registro da anterior da tabela. Exemplo : ADOTable1.prior; 34 Método - MoveBy(); Move o ponteiro para o frente ou para trás um número de registros específicado na tabela. Sintaxe : ADOTable1.MoveBy(<expN>); Exemplo : ADOTable1.MoveBy(-2); 35 Método - Next; Move o ponteiro para próximo registro da tabela. Exemplo : ADOTable1.Next; 36 Método - Eof; Retorna verdadeiro(true) se o ponteiro estiver posicionado no final da tabela. Exemplo : Var b : Boolean; Begin b := ADOTable1.Eof; End; 37 Método - Bof; Retorna verdadeiro(true) se o ponteiro estiver posicionado no Inicio da tabela. Exemplo : Var b : Boolean; Begin b := ADOTable1.Bof; End; 38 Método - close; Fecha uma tabela em use em uma determinada base de dados. Exemplo : ADOTable1.close; 39 Método - RecordCount; Retorna com número de registros existentes em uma tabela Exemplo : x := ADOTable1.RecordCount; 40 Capturando conteúdo de um campo da Tabela. Para captura o conteúdo de campo de uma tabela. Use a seguinte notação Exemplo : <varM> := ADOTable1[<nomeCampo>]; Obs : O nome do campo é representado por uma string delimitada por colchetes e aspas. 41 Exemplo de Insert(Inserindo registro em uma tabela). ADOTable1.Append; ADOTable1[‘Campos’] := ‘Dado’; ADOTable1.post; 42 Método - Edit Permite gravar um registro na posição corrente alterando os dados de um determinado campo. Exemplo : ADOTable1.Edit; : : ADOTable1.post; 43 Método - Delete Permite a remoção do registro corrente. Exemplo : ADOTable1.Delete; 44 DBNavigator (Paleta DataControls) Permite realizar a navegação automática entre registros em uma tabela Salvar Anterior Primeiro Próximo Último Inserir Atualizar Eliminar Editar Cancelar 45 Tabela de Configuração dos objetos Usando DbNavegator Ao configura as informações como o mostrado acima o objeto estará pronto para navegação dos dados. 46