Ir para conteúdo

POWERED BY:

Arquivado

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

Alam Devis Cavalcante

Olá como utilizar um BitBtn e o evento onKeyPress

Recommended Posts

Olá como posso resolver esta situação

tenho o procedimento abaixo:


Tenho um botão no evento onKey press dele coloquei a rotina abaixo só que ele não faz nada

Como resolvo este problema: Quero colocar a rotina do botão para inserir, salvar e consultar.


procedure TFrmVendas.BtnVFiniMesa100KeyPress(Sender: TObject; var Key: Char);

var codautven: integer;

begin

if key = #13 then // tecla ENTER

if pagecontrol1.Activepageindex = 2 then

begin

TabSheet1.TabVisible:= true;

TabSheet2.TabVisible:= false;

TabSheet3.TabVisible:= false;

DM_Dados.ClientDataSetMesa.Open;

Dm_Dados.ClientDataSetMesa.Insert;

DM_Dados.ClientDataSetAuxCodMesa.Open;

DM_Dados.ClientDataSetAuxCodMesa.Last;

codautven:= DM_Dados.ClientDataSetAuxCodMesaCOD_MESA.Value + 1;

Dm_Dados.ClientDataSetMesaCOD_MESA.Value:= codautven;

DBEditCodProPedido.SetFocus;

DM_Dados.ClientDataSetAuxCodMesa.Close;

DM_Dados.ClientDataSetMesaNUM_MESA.Value:= 100;

DM_Dados.ClientDataSetMesaDATA_MESA.Value:= date;

DM_Dados.ClientDataSetMesaHORA_MESA.Value:= time;

end

else

if key = #27 then // tecla TAB

if pagecontrol1.Activepageindex = 2 then

begin

ShowMessage('ola');

end;

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, eventos de botão geralmente são programados no seu onclick e, se no caption do botão escrever um &Inserir por exemplo, se usar um ALT+I (porque o '&' está na frente do 'I') já disparará o evento do click no botão.... é isto que precisa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá é estou desenvolvendo uma aplicação para um restaurante e na tela de vendas possui os botões com as mesas. O que quero é quando eu clicar no botão de uma mesa por exemplo: clico na mesa 01 depois do botão acionado eu quero clicar em ENTER e iniciar o pedido da mesa para inserir registros, TAB para consultar o consumo da mesa e BACKSPACE para finalizar a venda e emitir o cupon fiscal. Este é o precedimento que estou tentando fazer porém sem sucesso no momento...

 

Tens alguma solução para o meu problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu entendi direito, você terá um botão para cada mesa correto? Se é isso, você pode criar uma tela de cadastro genérica com as funcionalidades que deseja implantar (que, no fundo, é uma tela igual para todas, apenas filtrando por número da mesa) e, quando clicar no botão, passar o número da mesa como um dos parâmetros (no create da tela ou como variável global) para esta tela, implantando nela todos os controles desejados e, ao fechar os dados do pedido, fechar esta tela e voltar a sua tela principal... não faz muito sentido programar pra cada botão uma tela, faça uma genérica que sirva a todos e apenas filtre os dados pela mesa em questão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagine a seguinte situação: você vai cadastrar os dados da mesa 1.... o formulário que usaria pra isso é o mesmo que vai usar pra todos correto? Então, você cria um form para este cadastro, codifica nele todas as regras e depois dá um uses no form principal deste formulário que criou e, no botão, chama ele com um comando como o abaixo:

 

 

try
    form2.NumeroMesa := 1; //Aqui por exemplo seria uma variável global do formulário, já criado no .dpr do programa
    form2.showmodal;           //Chama a tela em modo a desviar a execução para esta tela
except
end;

 

Assim, você iria abrir a tela sem permitir ao usuário voltar pra tela anterior até fechar este formulário e, ao finalizar, voltaria pra tela principal.

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.