Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com Radiogroup, Speedbuttons e outros...


Soninhamax

Pergunta

Vou explicar o melhor possivel para que possam compreender e me ajudar...

Eu criei um cadastro, coloquei os EDITs, o RADIOGROUP e o COMBOBOX no PANEL de cima e no PANEL de baixo coloquei os SPEEDBUTTONs.

Coloquei um comando pra ao sair, por exemplo do EDIT, pressionando enter vá para o próximo campo

ex:

procedure TFrmCadCli.EdtCodigoKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13
   then edtRazao.SetFocus;
end;
o problema é, tenho um MASKEDIT e depois dele vem o RADIOGROUP. Não consigo com esse comando mandar o foco para o RADIO, o máximo que consegui foi:
procedure TfrmCadCli.mskTelKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13
   then rdbSexo.ItemIndex := 0;
end;
O máximo que faz é marcar o item mas o foco continua no MASKEDIT,só vai se depois disso eu pressionar TAB. E por sequência (do TAB ORDER) depois do RADIO vem o PANEL com os SPEEDBUTTONS e não consigo fazer com que o 1°botão receba o foco. Fiz um comando para que fizesse com que todos os campos fossem de preenchimento obrigatório, e nem tentando mandar o foco do MASKEDIT,sem passar pelo RADIO, direto para o PANEL, o botão não recebe o foco. ex:
procedure TfrmCadCli.mskTelExit(Sender: TObject);
begin
  if not (ActiveControl is TButton)
    then begin
      if mskTel.text = '(  )    -    '
       then begin
         MessageDlg('Campo obrigatório', mtError, [mbOK],0);
         mskTel.SetFocus
       end else
         pnlBotoes.SetFocus;
      end;
end;
Eu fiz uma PROCEDURE (Limpar) para limpar todos os campos e uma FUNCTION (Integridade) para verificar se todos os campos obrigatórios foram preenchidos, caso o usuário no meio do caminho tente gravar os dados sem preencher tudo. No botão gravar fiz o seguinte :
procedure TfrmCadCli.spbGravarClick(Sender: TObject);
begin
  if Integridade
   then begin
     ShowMessage('Dados gravados com sucesso!');
     Limpar;
   end else
     showmessage('Todos os campos são obrigatórios');
end;
Problema 1 - na função integridade,logo abaixo, estou com dificuldade de criar um comando para que verifique se o RADIO foi marcado:
function TfrmCadCli.Integridade: Boolean;
begin
  if (trim (EdtCodigo.text) <> '') and (trim (edtNome.text) <> '') and (trim (CmbUF.text) <> '') and (trim (mskNascimento.text) <> '') and (trim (mskTel.text) <> '')
   then  Result := True
   else  Result := False;
end;

Problema 2 - Depois de executar o programa, preencher os dados e clicar no botão gravar acontece o seguinte:

a)Ele exibe a mensageem 'Dados gravados com sucesso!', clico em ok e ele me exibe a mensagem 'Campo Obrigatório', e o foco, como programado na PROCEDURE LIMPAR, não volta para o primeiro campo, ele está permanecendo no RADIOGROUP.

b)Depurando o programa e entrando dentro desta PROCEDURE notei que todos os campos estão recebendo o valor'inaccesible value'

ex:

edtCodigo.Clear = inaccesible value

Agradeço desde já a ajuda em qualquer item do problema!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
o problema é, tenho um MASKEDIT e depois dele vem o RADIOGROUP. Não consigo com esse comando mandar o foco para o RADIO, o máximo que consegui foi:

Tente desta maneira, além de mandar o foco para o radiogroup, voce diz para qual item vai e deixa ele selecionado

procedure TForm1.MaskEdit1Exit(Sender: TObject);
begin
   RadioGroup1.SetFocus;  // madar o foco para o  RadioGroup1
   RadioGroup1.ItemIndex := 0; // primeiro item do RadioGroup1
   keybd_event(VK_TAB, 0, 0, 0); // marcar o item selecionado
end;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...