CODIGO A PROVA DE USUARIO

MARCOS 30/06/2011 09:32:27
#378101
Bom dia!
Todo desenvolvedor de Software sabe que é muito difícil criar
um programa sem [Ô]BUG[Ô].Um dos motivos disto é o usuário.é
impossível prever tudo o que um usuário fará, ao usar o programa.

Criei um programa, que em determinado momento gera um relatório.
Caso o usuário deseje , o relatório é exportado para o DeskTop no
formato .xls (Excel). Se já existir um relatório anterior no Desktop,
o mesmo é deletado e outro com mesmo nome salvo.Funcionava muito bem,
até que um dia o usuário reclamou que os relatórios não estavam mais
funcionando. Depois de vários testes, não consegui encontrar nenhum problema. Até que,
foi pedido ao usuário para narrar o dia-a-dia dele.Como ele lida
com o programa.

Descobriu-se que ele tira o mesmo relatório duas veses ao dia.Até aqui tudo bem.
O problema é que ao abrir o relatório exportado no Desktop, ele não o fechava
mas deixava aberto (Minimizado) até de tarde, quando tira e exporta o segundo relatório
para o Desktop. Resultado....

Ao tentar deletar o anterior no Desktop, o programa não consegue ,pois o mesmo
esta aberto(Minimizado) desde de manhã.....

E agora????????

Bom, pergunto aos colegas:

Existe algum código em VB que consiga forçar o fechamento de uma planilha que esteja
aberta (Minimizada) na tela?????

JESUEL.OLIVEIRA 30/06/2011 09:37:17
#378103
Sugestão, não gere com o mesmo nome!
coloque além do nome a hora por exemplo.

EU ODEIO USUÁRIO, Mas quem paga a conta são eles!!!!!!!!!
KERPLUNK 30/06/2011 09:53:55
#378106
O princípio básico é: o usuário é um macaco, isso mesmo um macaco. Sempre tenha em mente que ele pode fazer as coisas mais absurdas possíveis. Eu parei de me espantar com a capacidade deles de fazer besteira já faz tempo.
KERPLUNK 30/06/2011 09:57:27
#378107
Mas como disse o amigo Jesuel, o melhor mesmo é gerar o arquivo com nome dinâmico, usando a hora como ele falou
XXXANGELSXXX 30/06/2011 10:05:26
#378111
concordo, gerando com com os caracteres da data e hora..

strsql = relatorio & format(date,[Ô]ddmmyyyy[Ô]) & format(time,[Ô]hh:mm:ss[Ô]) & [Ô].xls[Ô]

FEDERHEN 30/06/2011 10:32:56
#378120
Encontre uma forma de exibir uma mensagem para o usuario [Ô]ARQUIVO EXCEL GERADO COM SUCESSO[Ô] ou [Ô]NÃO FOI POSSIVEL GERAR ARQUIVO EXCEL[Ô].
Voce pode fazer isso comparando a data e hora do arquivo antes e depois da geração, pois se a data e hora forem diferentes é porque foi gerado e se continuam iguais é porque não foi gerado.
DARKSGYN 30/06/2011 12:02:13
#378134
no meu caso sempre eu gero o arquivo passando data e hora, assim fica bem mais dificil da esse tipo de problema.
EDERMIR 30/06/2011 14:29:57
#378149
Citação:

:
O princípio básico é: o usuário é um macaco, isso mesmo um macaco...



Um macaco com um revólver na mão!!!

Tenho uma aplicação que AVISA ao usuário que, em um sistema de faturamento, outro usuário já está fazendo o faturamento para o produto. O usuário simplesmente fechava o programa (clicando no X). Depois reclamava que haviam inúmeras faturas diferentes para o mesmo produto.

O melhor códgo contra erros do usuário é abrir o FORM1 sem nenhum objeto dentro. O CABRA é CAPAZ DE ABRIR DUAS VEZES A APLICAÇÃO E DIZER QUE ESTÁ DENDO ERRO.
LUIS.HERRERA 30/06/2011 14:40:26
#378153
Resposta escolhida
Engraçado como sempre procuramos um culpado para alguma coisa não?

Coitado do usuário (tenho vários e passo por isso todos os dias), mas como o ADEMILSON bem falou, os bugs sempre estão no programa, por culpa exclusiva do programador. O [Ô]Coitado[Ô] do usuário só fez o favor de encontrar e demonstrar que alguém fez algo errado ou pior, esqueceu de fazer todas as validações necessárias. Imaginem se o Windows não fizesse milhares de validações para qualquer coisa? Aquela telinha azul seria visível talvez a cada x milessegundos.

Todo software tem que ter no mínimo um tratamento de erro genérico, algo não previsto que se ocorrer ele intercepta, avisa etc...

Neste caso específico eu recomendaria que na rotina de criação de sua planilha, você fizesse vários testes, tentando gravar em mídias com permissão de acesso somente leitura, arquivos já existente, ou em uso e pegando os códigos de erro, desse o devido tratamento. Caso ocorra um erro não previsto, gera um aviso e aborta a ação, simples assim.

Deste modo se você abrir o arquivo com o excel e rodar seu programa para gravar novamente, terá o erro correspondente para tratá-lo e assim emitir um aviso correto ao usuário, tipo:
Favor fechar o arquivo xxx antes de continuar. e manda tentar novamente.

A sugestão de gerar o arquivo com nome diferente é válida, mas pode ir poluindo a tela do usuário, a menos que ele seja informado de que deve excluir o mesmo ao final do dia por exemplo.
MARCOS 30/06/2011 15:12:06
#378160
Pessoal, muito obrigado!
A Solução de adicionar a data e horário de fato é a melhor.

Quanto ao usuário.......bom ,este não tem solução.

Rss
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas