dúvida básica sobre telas

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

dúvida básica sobre telas

Mensagem por cjp »

Pessoal,
Por favor, me tirem uma dúvida básica:
Estou querendo fazer meu programa de instalação do sistema em HwGui (atualmente está em modo console). É um programinha bem básico: cria a pasta do sistema, baixa o arquivo compactado via FTP, descompacta os arquivos, cria atalho na área de trabalho etc. Tudo é feito automaticamente, sem necessidade de intervenção do usuário, que só precisa digitar a senha inicial. Tudo leva poucos minutos.
Enquanto a instalação é feita (depois da senha), o programa vai mostrando na tela algumas instruções iniciais para uso do sistema.
Minha dúvida é: para fazer a mesma coisa, com tela em HwGui, eu teria que criar uma nova tela para cada etapa da instalação?
Pergunto porque, se eu colocar todos os passos da instalação antes do ACTIVATE DIALOG, ele só vai mostrar a tela depois de encerrar toda a instalação, correto?
O ideal é que, depois da senha, ele mostre logo a tela, com uma barra de progresso (vi no tutorial um exemplo pra isso), e daí ele vá fazendo a instalação, avançando na barra de progresso, e mostrando as instruções, sem necessidade de qualquer intervenção do usuário. Mas, para isso, será necessário construir várias telas sucessivas?
Ainda não comecei efetivamente a fazer nada, só estou pensando em como vou fazer, antes de iniciar.
Podem apenas me tirar esta dúvida, por favor?
Inacio de Carvalho Neto
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

dúvida básica sobre telas

Mensagem por alxsts »

Olá!
Não se esqueça que programação GUI é orientada a eventos.

- Crie uma main window.
- No evento ON INIT da main window, chame a sua tela para o usuário digitar a senha. Esta tela será uma dialog.
- Se o usuário digitar a senha correta,...
- Abra uma nova dialog onde vão aparecer as informações do progresso da instalação. Nesta tela poderá haver talvez um editbox ou richedit onde vai mostrando os passos executados. Poderá colocar nela a progress bar. Deverá ter dois botões. Um botão Cancelar e outro Instalar. No evento ON CLICK deste segundo botão, coloque a chamada da rotina que executa a instalação. Esta rotina deverá receber, entre outros possíveis parâmetros, a própria dialog da instalação. Desta forma, você terá acesso aos componentes dela e poderá atualizar o editbox/richedit e a progressbar. Para atualizar o editbox ou richedit, vá concatenando as linhas de mensagem acrescidas de CR+LF na propriedade do componente que guarda seu texto. A cada linha acrescida, execute o método refresh do componente.

Não se esqueça que as ações de cada janela são iniciadas com a execução do método ACTIVATE.

É apenas uma idéia inicial... boa sorte.
[]´s
Alexandre Santos (AlxSts)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

dúvida básica sobre telas

Mensagem por cjp »

Sim, não esqueci deste detalhe.
Entendi parcialmente tua sequência.
Vou começar a fazer e, tendo dúvida, volto a postar.
Obrigado por enquanto.
Inacio de Carvalho Neto
Responder