Fórum Splash com prograss (verdadeiro) ...como faço ? #278252
20/04/2005
0
valeu
Guilherme
Curtir tópico
+ 0Posts
20/04/2005
Jrinfo2005
program Granja;
uses
Forms,
Principalf in ´Principalf.pas´ ,
Areaf in ´Areaf.pas´ ,
Galpaof in ´Galpaof.pas´ ,
Clientef in ´Clientef.pas´ ,
Saidaf in ´Saidaf.pas´ ,
Relatoriof in ´Relatoriof.pas´ ,
baixaf in ´baixaf.pas´ ,
Mortalidadef in ´Mortalidadef.pas´ ,
manubaixaf in ´manubaixaf.pas´ ,
ConsEstoquef in ´ConsEstoquef.pas´ ,
sobref in ´sobref.pas´ ,
ImpRelatoriof in ´ImpRelatoriof.pas´ ,
Consultasf in ´Consultasf.pas´ ,
ImpEntradaf in ´ImpEntradaf.pas´ ,
PassWord in ´PassWord.pas´ ,
ImpMortalidadef in ´ImpMortalidadef.pas´ ,
ImpSaidaf in ´ImpSaidaf.pas´ ,
ImpClientesf in ´ImpClientesf.pas´ ,
Apres2f in ´Apres2f.pas´ ,
Entradaf in ´Entradaf.pas´ ;
{$R *.RES}
var
i:shortint;
maximo:shortint=0;
divisor:shortint=19;
begin
Application.Initialize;
Application.Title := ´GSJ2 - LloydSoft´;
with TApres.Create(nil) do
try
Gauge1.MaxValue:=100;
Show;
Update;
Panel1.caption:=´Criando Tela: Principal´;
Panel1.Repaint;
Application.CreateForm(TPrincipal, Principal);
for i:=1 to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Cadastro de Entradas´;
Panel1.Repaint;
Application.CreateForm(TEntrada, Entrada);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Cadastro de Mortalidade´;
Panel1.Repaint;
Application.CreateForm(TImpMortalidade, ImpMortalidade);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Impressão de Saida´;
Panel1.Repaint;
Application.CreateForm(TImpSaida, ImpSaida);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Impressão de Clientes´;
Panel1.Repaint;
Application.CreateForm(TImpClientes, ImpClientes);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Password´;
Panel1.Repaint;
Application.CreateForm(TPasswordDlg, PasswordDlg);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Consultas´;
Panel1.Repaint;
Application.CreateForm(TConsultas, Consultas);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Impressão de Entradas´;
Panel1.Repaint;
Application.CreateForm(TImpEntrada, ImpEntrada);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Impressão de Relatório´;
Panel1.Repaint;
Application.CreateForm(TImpRelatorio, ImpRelatorio);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Estoque´;
Panel1.Repaint;
Application.CreateForm(TConsEstoque, ConsEstoque);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Sobre´;
Panel1.Repaint;
Application.CreateForm(TSobre, Sobre);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Cadastro de Entradas´;
Panel1.Repaint;
Application.CreateForm(TArea, Area);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Cadastro de Galpão´;
Panel1.Repaint;
Application.CreateForm(TGalpao, Galpao);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Cadastro de Clientes´;
Panel1.Repaint;
Application.CreateForm(TCliente, Cliente);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Cadastro de Saídas´;
Panel1.Repaint;
Application.CreateForm(TSaida, Saida);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Relatório´;
Panel1.Repaint;
Application.CreateForm(TRelatorio, Relatorio);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Baixa´;
Panel1.Repaint;
Application.CreateForm(TBaixa, Baixa);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Mortalidade´;
Panel1.Repaint;
Application.CreateForm(TMortalidade, Mortalidade);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Criando Tela: Manutenção´;
Panel1.Repaint;
Application.CreateForm(TManubaixa, Manubaixa);
for i:=maximo to (maximo+(100 div divisor)) do
begin
gauge1.progress:=i;
maximo:=i;
end;
Panel1.caption:=´Finalizando´;
Panel1.Repaint;
finally
Free;
end;
Application.Run;
end.
Espero ter ajudado
Gostei + 0
20/04/2005
Guilherme
Gostei + 0
20/04/2005
Jrinfo2005
Abraços
Gostei + 0
20/04/2005
Rjun
O que você quer dizer com isso ?
Gostei + 0
20/04/2005
Guilherme
Gostei + 0
20/04/2005
Jrinfo2005
Gostei + 0
20/04/2005
Rjun
E isso é possível ? Se for, também quero saber.
Eu acho que o mais próximo que da pra chegar e o código que o JrInfo2005 postou.
Eu particularmente, não crio todo os forms no inicio da aplicação. Só os crio quando vou utiliza-lós.
Gostei + 0
20/04/2005
Massuda
Existem situações piores. Por exemplo, o tempo gasto para criar um data modules que abre tabelas em um BD SQL depende do tempo gasto para comunicar com o servidor SQL mais o tempo do servidor SQL executar as tarefas e, novamente, isso não tem como ser conhecido de antemão.
O que dá para fazer é no processo de criação dos seus forms/data moudles você ir atualizando o progress bar, mas isso vai refletir um critério arbitrário seu de mostrar o progresso da operação. Eu tenho um programa que vai até 80¬ num instante e demora uma eternidade para terminar os 20¬ restantes... tudo porque esses 20¬ restantes fazem conexão com um BD SQL.
Outro truque é fazer como o Windows faz... mostrar uma barra com timer, mas isso você já encontrou por aí, né?
Gostei + 0
20/04/2005
Guilherme
valew
bom feriado pra todos vc´s
Gostei + 0
20/04/2005
Edilcimar
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)