Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

adrianno

Criar a chamar procedimentos personalizados

Recommended Posts

Olá gente, gostaria de saber a forma correta de criar e depois chamar um procedure no delphi,

EXE:

no meu form teria ações que precisaria repetir, varias vezes.

como exemplo uma consulta SQL

olha só eu sei que nao esta completo , porem nao vou digitar todo o necessario aqui

 

SQL.add('select *  from clientes ');
showmessage('achei  estes  clientes');

 

exato, porem queria fazer esta mesma consulta sem duplicar ela

como faço ela dentro de um procedimento e chamo de outro lugar no form toda vez que eu quiser

 

procedure NomeDoProcedimento(Parâmetro1: Tipo; ParâmetroN : Tipo);
    var {declaração de variáveis locais á função quando necessárias}
    begin
         SQL.add('select *  from clientes ');
showmessage('achei  estes  clientes');
    end; 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procedures e Functions tem uma estrutura padrão para sua declaração. Você pode declarar sua procedure na seção Implementation ou dentro de uma outra procedure/function.

A estrutura mínima para procedures é:

Procedure {Nome Procedure};
//Variaveis,Constantes e Funçoes internas a prcedure são declaradas aqui, caso necessário
Begin
 //Comandos
end;

e para Functions é:

Procedure {Nome Procedure}:{Tipo de resultado(String, Integer, Boolean, etc)};
//Variaveis,Constantes e Funçoes internas a prcedure são declaradas aqui, caso necessário
Begin
 //Comandos
 Result := {Retornando resultado da função};
end;

 

Considerando o exemplo apresentado, acredito que você queira fazer algo próximo a isto:

Procedure BuscaClientes;
begin
 if SQLQuery1.Active = True then
   SQLQuery1.Active := False;
 SQLQuery1.SQL.Clear;
 SQLQuery1.SQL.Add('SELECT *');
 SQLQuery1.SQL.Add('FROM tbClientes');
 Try
   SQLQuery1.Open;
 Except
   ShowMessage('Falha ao buscar lista de clientes!');
 end;
 DataSource1.DataSet := SQLQuery1;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

é isso ai, suponha que eu precise fazer este bloco de codigo 2 ou 3 vezes em um form,

bastaria então apenas , como eu chamo ele :

 

Procedure botao1click; 
begin 

BuscaClientes(); /// aqui  eu  chamo ele  em diversas  situações?

end;

Procedure CampoTextoOnchange; 
begin 

BuscaClientes();

end;

??? seria assim ?

 

Porque precisaria executar um bloco de codigo, por exemplo quando preciso checar o estoque ( ja faço uma consulta na tabela produtos e verifico estoque) na hora de um lançamento de pedido, tipo, ao selecionar um produto pelo leitor de barras , no mesmo instante um procedimento verificar se posso adicionar aquela quantidade de determinado produto,

 

e se eu o lançamento pelo nome digitado, preciso fazer a mesma verificação , mais é muito amador eu realizar novamente aquele bloco de codigo, todo ele , nesta forma, eu queria apenas chamar o procedure, que ja contem o codigo todo uma unica vez. E isso quantas vezes eu quiser

 

desculpe gente, eu vim do PHP, e até acostumar com o delphi, vai levar um tempo, ja apanhei um pouco ao usar comandos como FOR por exemplo, e funções tambem parece diferente, principalmente pela declaração de tipo, que nao usava em PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites
desculpe gente, eu vim do PHP, e até acostumar com o delphi, vai levar um tempo, [...], e funções tambem parece diferente, principalmente pela declaração de tipo, que nao usava em PHP

Esta dificuldade é previsível visto que você vem de uma linguagem de Tipagem Fraca para uma Linguagem de Tipagem Forte, mas com o tempo você contorna....

 

??? seria assim ?

Seria sim...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.