Botões Inteligentes
12/07/2004
0
seguinte estou criando algumas condições para meus botões alguns efeitos porem me surgiu uma dúvida....
olhem o código:
while (DBEdit_Nome.Text= ´´ and DBEdit_Endereco.Text=´´ and DBEdit_Numero.Text= ´´ and DBEdit_Bairro.Text= ´´ and DBEdit_Cidade.Text=´´) then BitBtn_Salvar.Enabled := false else with DataSource_CadClientes.DataSet do begin if (State in dsEditModes) then BitBtn_Salvar.enabled := true else BitBtn_Salvar.enabled := false; end; end; end;
a ídeia eh +- a seguinte enquanto os campos DBEdit´s forem = ´a nada´ BitBtn_Salvar.Enabled := false
se todos estiverem prenchidos ele deve verificar se a tabela está em modo de edição se estiver somente então o botão := enabled
:?: alguem entendeu???
:?: será que podem me ajudar???
:?: obrigado. :idea: :arrow: :arrow:
Klaveren
Posts
12/07/2004
Paulo_amorim
eu não entendi algumas coisinhas...
1- aquele while lá seria um IF ? o [i:c6f61bc3b6]then[/i:c6f61bc3b6] e o [i:c6f61bc3b6]else[/i:c6f61bc3b6] que o seguem indicam que sim
Eu não entendi realmente tua dúvida...
Tente explicar melhor ae dai a gente ajuda :wink:
Até+
12/07/2004
Klaveren
if (DBEdit_Nome = ´ ´ or DBEdit_Endereco = ´ ´ or DBEdit_Numero =´ ´ or DBEdit_Bairro = ´ ´ or DBEdit_Cidade = ´ ´ ) then BitBtn_Salvar.Enabled := Disable else with DataSource_CadClientes.DataSet do begin if (State in dsEditModes) then BitBtn_Salvar.enabled := true else BitBtn_Salvar.enabled := false; end; end;
axu que agora dah pra entender???
bem eh o seguinte...
:arrow: primeiro verifica se existem dados dentro dos DBE´S...
:arrow: caso existam dados em todos os campos ele verifica se o datasource esta realmente sendo editado para daí então liberar o botão. pois se o botão estiver apenas com
table1.Post;
heheheh
agora melhorou um pouco???
jah conseguem entender???
12/07/2004
Eniorm
controlar o enable/disable dele automático eu uso um componente
ActionList, com as ações respectivas aos botões, cada ação fica
associada ao DataSource.
Sendo assim, vc não exclui se o datasource estiver vazio, pq o
botão fica disabled, e assim para os outros.
T+
12/07/2004
Rômulo Barros
Coloque assim no evento OnDataChange de seu DataSource: Begin With((Sender As TDataSource).DataSet)Do Begin btnSalvar.Enabled := State in [dsInsert,dsEdit]; btnExcluir.Enabled := ((State in [dsBrowse])And Not IsEmpty); btnCancelar.Enabled := State in [dsInsert,dsEdit]; btnNovo.Enabled := State in [dsBrowse]; End; End;
12/07/2004
Klaveren
porem o botão cancelar não funcionou como deveria...
caso seja clicado deveria habilitar o inserir e deabilitar o salvar...
axo tb que deveria apagar o que foi digitado...
sabe o que acontece????
muit obrigado
12/07/2004
Rômulo Barros
O mesmo código deverá ser postado do Evento AfterCancel e AfterDelete da sua Query. Por isso, aconselho a fazer uma PROCEDURE :wink:
12/07/2004
Minuto
Procedure Tform1.verifica;
var
i:integer;
begin
btgravar.Enabled:=true;
for i:=0 to ComponentCount -1 do
begin
if Components[i] is Tdbedit then //verifica somente os tdbedit
if (tdbedit(components[i]).Text = ´´) then
btgravar.Enabled:=false;
end;
Clique aqui para fazer login e interagir na Comunidade :)