Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Valdiney F. Lima

Exibir tela durante conexão...

Recommended Posts

Bom,

 

Eu estou fazendo um sistema para enviar dados para um servidor na internet. No meu caso é um servidor com banco de dados Mysql 5.

 

Eu já consegui fazer a conexão... Só que agora eu gostaria de fazer uma firula... rsrs

 

Quando eu acionar o executavel, o executavel disparar uma conexão com o servidor... Enquanto a conexão é estabelecida, eu gostaria de exibir uma tela.

 

Como eu faria isso?

 

Estou usando o D7 + Zeus

 

abraços

 

 

Título Editado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Monta a tela sua do jeito que você está pensando e coloca na primeira linha do código de conexão, um comando para mostrar a tela...Se tiver muito flicker, coloca um doublebuffered:=true;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte.

 

Eu criei a tela...

 

 

Eu gostaria que essa tela executasse apenas a conexao depois da tela aparecer... Ou seja, eu coloquei um procedimento dentro do evento OnActive do form. E mesmo assim, o procedimento é executado antes mesmo da tela aparecer... E eu quero exatamente o contrário, primeiro aparece a tela e depois executa o procedimento...

 

Eu tentei em OnActive e OnShow e todos os dois executou o procedimento e depois mostrou a tela.

 

 

abaixo segue o meu codigo:

procedure TfrmLogin.FormActivate(Sender: TObject);var  arquivo : Tinifile;  diretorio, servidor, banco, usuario, senha : string;begin  diretorio := extractfilepath(application.exename);  arquivo   := Tinifile.Create(diretorio + 'configuracao.ini');  {Carregando os dados do arquivo INI}  servidor  := arquivo.ReadString('conexao', 'servidor', servidor);  banco	 := arquivo.ReadString('conexao', 'banco', banco);  usuario   := arquivo.ReadString('conexao', 'usuario', usuario);  senha	 := arquivo.ReadString('conexao', 'senha', senha);  arquivo.Free;  {Atribui os valor do arquivo configuracao.ini no objeto de conexão}  frmConexao.ZConnection1.HostName := servidor;  frmConexao.ZConnection1.Database := banco;  frmConexao.ZConnection1.Password := senha;  frmConexao.ZConnection1.User	 := usuario;  { Dispara a conexão com o servidor }  frmConexao.ZConnection1.Connect;end;

 

Espero que tenham entendido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz primeiro a criação da outra tela, antes mesmo de criar a tela de login, mas somente crie, e não de show nela, quando for iniciar o processo de conexão, você manda ela aparecer, e logo após de conectar fecha ela... a princípio da lógica deve de funcionar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu entendi, pode ser assim:

- Coloque um TTimer no seu Form e sete a propriedade Enabled como FALSE.

- No OnShow do Form, coloque o seguinte código:

procedure TForm1.FormShow(Sender: TObject);begin  Timer1.Interval:=5000; { 5 segundos }  Timer1.Enabled:=TRUE;end;
- Clique 2x no TTimer e coloque o seguinte código:

procedure TForm1.Timer1Timer(Sender: TObject);var  arquivo : Tinifile;  diretorio, servidor, banco, usuario, senha : string;begin  diretorio := extractfilepath(application.exename);  arquivo   := Tinifile.Create(diretorio + 'configuracao.ini');  {Carregando os dados do arquivo INI}  servidor  := arquivo.ReadString('conexao', 'servidor', servidor);  banco	 := arquivo.ReadString('conexao', 'banco', banco);  usuario   := arquivo.ReadString('conexao', 'usuario', usuario);  senha	 := arquivo.ReadString('conexao', 'senha', senha);  arquivo.Free;  {Atribui os valor do arquivo configuracao.ini no objeto de conexão}  frmConexao.ZConnection1.HostName := servidor;  frmConexao.ZConnection1.Database := banco;  frmConexao.ZConnection1.Password := senha;  frmConexao.ZConnection1.User	 := usuario;  { Dispara a conexão com o servidor }  frmConexao.ZConnection1.Connect;  { Desligar o Timer }  Timer1.Enabled:=FALSE;end;
Assim, a tela é exibida, e somente após 5 segundos é feita a conexão com o banco ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu entendi, pode ser assim:- Coloque um TTimer no seu Form e sete a propriedade Enabled como FALSE.- No OnShow do Form, coloque o seguinte código:

procedure TForm1.FormShow(Sender: TObject);begin  Timer1.Interval:=5000; { 5 segundos }  Timer1.Enabled:=TRUE;end;
- Clique 2x no TTimer e coloque o seguinte código:
procedure TForm1.Timer1Timer(Sender: TObject);var  arquivo : Tinifile;  diretorio, servidor, banco, usuario, senha : string;begin  diretorio := extractfilepath(application.exename);  arquivo   := Tinifile.Create(diretorio + 'configuracao.ini');  {Carregando os dados do arquivo INI}  servidor  := arquivo.ReadString('conexao', 'servidor', servidor);  banco	 := arquivo.ReadString('conexao', 'banco', banco);  usuario   := arquivo.ReadString('conexao', 'usuario', usuario);  senha	 := arquivo.ReadString('conexao', 'senha', senha);  arquivo.Free;  {Atribui os valor do arquivo configuracao.ini no objeto de conexão}  frmConexao.ZConnection1.HostName := servidor;  frmConexao.ZConnection1.Database := banco;  frmConexao.ZConnection1.Password := senha;  frmConexao.ZConnection1.User	 := usuario;  { Dispara a conexão com o servidor }  frmConexao.ZConnection1.Connect;  { Desligar o Timer }  Timer1.Enabled:=FALSE;end;
Assim, a tela é exibida, e somente após 5 segundos é feita a conexão com o banco ;)
Funcionou beleza assim...;)Caras do Céu... Tiraram o dia por minha conta hoje em.Abração pra vocês.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.