Criar Janelas Ocasionais
07/04/2006
0
No clipper, quando por exemplo, íamos fazer um relatório, e se por acaso antes de listar, tínhamos que abrir uma ´janelinha´ para fazer algumas perguntas tipo ´ordem alfabética?´ ´Ordem Numérica?´ ´Qual período de datas?´, etc, então rapidamente criávamos um BOX e dentro do quadro deste box imaginário colocávamos os SAYS/GETS/PROMPTS para pedir os dados que orientariam o relatório. Isto era fácil, pois no DOS a tela tem 25 linhas por 80 colunas e é fácil imaginariamente colocar informações nelas.
No Delphi, estou encontrando uma dificuldade, pois até onde meu conhecimento chegou, encontrei 4 soluções:
1) Colocar um FORM a mais no projeto e nele colocar os objetos de entradas de dados necessários ao relatório. Mas isto me parece ´anti-ético´, pois vou criar uma UNIT a mais só para pedir 2 dados, por exemplo?
2) Criar o FORM e os OBJETOS (edits, combos, labels) em tempo de execução. Porém, isto gera TROCENTAS linhas de código e você não tem idéia visual de como está ficando o seu invisível form. Dá muito trabalho.
3) Colocar um painel no form onde está o BOTÃO que chama o RELATÓRIO, e dentro dele colocar os OBJETOS necessários a entrada de dados para o relatório. Depois torná-lo INVISIVEL, e na hora necessário, torná-lo VISIVEL. Porém, sei lá, é bem estranho isto, pois numa manutenção você fica procurando no FORM os objetos invisíveis....onde está vc?
4) Colocar um FORM no PROJETO, com um PAGECONTROL. Este PC teria tantas abas quantas forem necessárias ao PROJETO INTEIRO. Então em cada aba as perguntas necessárias a determinado relatório, processo, soma, etc. Assim, inicialmente todas as abas são invisíveis e só se tornarão visíveis quando você ativá-las para a necessidade específica. Assim eu teria APENAS uma UNIT com todas as necessidas do PROJETO INTEIRO.
Eu gostaria de saber se existem algum componente ou outras maneiras de se fazer isto.
Antecipadamente, obrigada.
Susana
Susi
Posts
07/04/2006
Rjun
07/04/2006
Massuda
Para pedir uma string ao usuário, você pode usar InputBox ou InputQuery (ambas na unit Dialogs).
Para selecionar uma pasta/diretório, você pode usar SelectDirectory (unit Dialogs).
Fora esses casos simples, assim como o Rjun, não vejo problema em criar um form para configurar relatórios.
07/04/2006
Susi
Valeu pela ajuda de vocês...
Boa a dica de um form para configuração de relatórios e também não conhecia ainda inputbox e inputquery... vou fazer mais uns testes...
Um abraço
Susana
Clique aqui para fazer login e interagir na Comunidade :)