Botões Inteligentes

12/07/2004

0

:arrow: Bem pessoal estou com um probleminha...
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

Klaveren

Responder

Posts

12/07/2004

Paulo_amorim

Olá

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é+


Responder

12/07/2004

Minuto

use components.


Responder

12/07/2004

Klaveren

exatamente, um IF

 

          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;
dará um erro então preciso que este esteja habilitado apenas quando realmente for necessário a opção SALVAR.

heheheh
agora melhorou um pouco???
jah conseguem entender???


Responder

12/07/2004

Eniorm

Bom, para os botões de inserir, salvar, excluir, editar, etc, para
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+


Responder

12/07/2004

Klaveren

onde fica este componente, estou usando DELPHI 6

obrigado.


Responder

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;
:lol:


Responder

12/07/2004

Klaveren

obrigado...
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


Responder

12/07/2004

Klaveren

desculpe FALHA NOSSA!!!
HEHEH

BEM FUNCIONOU 100¬
OBRIGADO!!!


Responder

12/07/2004

Rômulo Barros

Sei sim.
O mesmo código deverá ser postado do Evento AfterCancel e AfterDelete da sua Query. Por isso, aconselho a fazer uma PROCEDURE :wink:


Responder

12/07/2004

Minuto

Para verificar os TDBEdits vazios

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;


Responder

12/07/2004

Klaveren

valeu pela dica foi muito útil...


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar