atualizar form Principal

Delphi

10/07/2010

boa tarde!      amigos estou com o seguinte problema..Após eu entrar no sistma com senha e usuario, caso eu deseja trocar o usuário logado...não consigo atualizar os componentes(Menus e buttons) do formPrincipal com o nvel de senha do no novo usuario     ex... tenho 2 tbuTton e preciso que apos trocar o usuario que é de nivel 1 para nivel 2 esses Tbuttons fiquem em estado ENABLE=false   o frmPrincial não é destruido após criado.   agradeço a ajuda.  
Jorge Dias

Jorge Dias

Curtidas 0

Respostas

Walder

Walder

10/07/2010

[cod]nomedobutton1.Enabled := False;nomedobutton2.Enabled := False;[/code]
Tente isso.
GOSTEI 0
Jorge Dias

Jorge Dias

10/07/2010

já tente assim.   nome_do_Form.nome_do_butão.enabled:=true; -> pos qdo envio esse codigo não estou no formPrincipal,estou no form de login é esse o problema q não consigo resolver.     obrigoado
GOSTEI 0
Marco Salles

Marco Salles

10/07/2010

Tem muitas maneiras de fazer isto.. ( Alguns utilizam ate banco de dados )   Depende de como vc esta fazendo   Temos que entender   Quem chama este Form de Logs ???   Qnd vc retorna desse form de Log Vc naõ retorna com o Nivel ???    
GOSTEI 0
Marco Salles

Marco Salles

10/07/2010

Tem muitas maneiras de fazer isto.. ( Alguns utilizam ate banco de dados )   Depende de como vc esta fazendo   Temos que entender   Quem chama este Form de Logs ???   Qnd vc retorna desse form de Log Vc naõ retorna com o Nivel ???    
  Olha Jorge ... Então veja  um pequeno exemplo decomo vc pode retornar de maneira Orientada a Objetos ( sem utilizar Variaveis Globais ) o Nivel A partir do Nivel vc pode optar por inibir este ou Aquele Button   O Exemplo é simples , mas vc pode estende-lo  
procedure TForm3.Button1Click(Sender: TObject);
var
formulario:TFrmLogin;
pNivel:Integer;
begin
//Note  o Parametro do Contructor...
Formulario:=TFrmLogin.Create(nil,pNivel);
try
  formulario.ShowModal;
  case pNivel of
   0:showmessage('Faça 0');
   1:showmessage('faça 1')
  end;
finally
  formulario.Release;
  formulario:=nil;
end;
end;
  O Form de Login tem  
  private
    { Private declarations }
   // Ponteiro .. Não se assuste
    FNivel:PInteger;
  public
    { Public declarations }
    Constructor Create(Aowner:TComponent;out pNivel:integer);reintroduce;
  end;
  Finalmente defina  
constructor TFrmLogin.Create(Aowner: TComponent;out pNivel: integer);
begin
  inherited Create(Aowner);
  FNivel:=@pNivel;  // Endereço 
end;
  // No FrmLogin , qnd vc for Atribuir o Nivel ( ai depende de sua lógica , vc Faz assim )   Exemplo :  
procedure TFrmLogin.Button1Click(Sender: TObject);
begin
self.FNivel^:=strtoint(edit1.Text); // Peseudo Atribuição .. Ai entra a sua Lógica
close;
end;
  Então amigo , esta é uma maneira limpa ( não a única e nen a melhor ) de vc passar variavels entre dois forms sem usar variávels Globais
GOSTEI 0
Fábio Cruz

Fábio Cruz

10/07/2010

Bom dia, nessas video-aulas tem uma função (em OPP) que faz exatamente isso que vc está querendo.

https://www.devmedia.com.br/cursos/delphi/117-Curso-online-Rad-Studio-2007-DBX4-e-Firebird-2-0-Aplicacao-comercial-de-vendas-basico-do-Inicio-ao-Fim.html, apesar de ser Rad Studio 2007, pode ser implementado em qualquer versão posterior do Delphi (testei com D2009)


Outro modo são pelos componentes da UserControl, que faz isso de forma simples e facil.



GOSTEI 0
Pedro Saraiva.

Pedro Saraiva.

10/07/2010

Programa com códigos fontes Ola pessoal, você programador que quer um aplicativo exemplo para fins comerciais, tenho uma dica, compre o WinPhar que vem com todos os códigos fontes e faça um programa baseado nele, sim ele também vêm com todos os componentes para instalar, voce além de ganhar um programa complidao, ganha tb os seus códigos fontes e seus componentes. O programa foi desenvolvido em Delphi 7 com banco de dados paradox, e custa apenas 20,00 reais
deem uma olhadinha ai no produto
http://produto.mercadolivre.com.br/MLB-149256966-winphar-2008-sistema-para-farmacias-e-drogarias-_JM
e ente em contato pelo e-mail pedroluissaraiva@yahoo.com.br.!  
GOSTEI 0
POSTAR