Array
(
)

Criar Janelas Ocasionais

Susi
   - 07 abr 2006

Olá Pessoal,

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


Rjun
   - 07 abr 2006

Não vejo problemas em colocar esse tipo de configuração em um outro FORM. Você poderia ter um Form de configuração de relatórios para ser utilizado em todo o sistema.


Massuda
   - 07 abr 2006

Para exibir mensagens, você pode usar ShowMessage, MessageDlg (ambas na unit Dialogs) ou MessageBox (unit Windows).

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.


Susi
   - 07 abr 2006

Olá, Rogério e Massuda...

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