Desativar um Botao caso a tabela estaja vazia

Delphi

17/04/2004

Coloquei um botão chamado ´Excluir´ para fazer a exclusão de registros de uma tabela, mas se eu clicar nele e a tabela não contiver nenhum registro, da um erro. Tem como desativar este botão em tempo de excução quando a tabela estiver sem nehum registro.


Vispo

Vispo

Curtidas 0

Respostas

Debug

Debug

17/04/2004

procedure TMasterCad.ToolBar_Botoes( Inserindo : Boolean = True);
begin
  TBNovo .Enabled     := not Inserindo;
  TBEditar.Enabled    := (not Inserindo) and (not TabelaMaster.IsEmpty);
  TBCancelar.Enabled  := Inserindo;
  TBApagar.Enabled    := (not Inserindo) and (not TabelaMaster.IsEmpty);
  TBSalvar.Enabled    := Inserindo;
  TBLocalizar.Enabled := not Inserindo;
  TBFechar.Enabled    := not Inserindo;
end;

procedure TMasterCad.DSTabelaMasterStateChange(Sender: TObject);
begin
  inherited;
  ToolBar_Botoes(State_Insert(TabelaMaster));
end;



GOSTEI 0
Maxadens

Maxadens

17/04/2004

A alternatica seria não desabilitar o botão e sim, exibir uma mensagem
Coloque o seguinte comando no botão excluir

if TABELA.recordcount=0 then
application.messagebox(´Não existe registro para excluir!´,´Aviso´,mb_Iconexclamation)
else
TABELA.delete;

obs: Não sei se todas as palavras estão escritar corretamente pois estou se Delphi aqui no momento. Mas tenho certeza que é isso ai e funciona.


GOSTEI 0
Lucas Silva

Lucas Silva

17/04/2004

Ao inves de usar TABELA.recordcount = 0 eu acho melhor usar TABELA.IsEmpty.
fica bem mais rápido, seu programa.


GOSTEI 0
Lindomir

Lindomir

17/04/2004

if tabela.isEmpty them
botao.Enabled := false;


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

17/04/2004

botao.enabled := not tabela.isempty;


GOSTEI 0
Vispo

Vispo

17/04/2004

fico grato a todas as respostas

Abraços


GOSTEI 0
POSTAR