Uma aplicação é um banco de dados projetado para preencher uma necessidade específica. Ela tem uma interface projetada especificamente para facilitar a sua utilização. As funções que um aplicativo executa são limitadas àquelas adequadas à sua finalidade. Criar aplicações com 4D é mais suave e mais fácil do que com a programação tradicional. 4D pode ser usada para criar uma variedade de aplicações, incluindo:
Um sistema de faturação
Um sistema de controle de estoque
Um sistema de contabilidade
Um sistema de folha de pagamento
Um sistema de recursos humanos
Um sistema de acompanhamento ao cliente
Um banco de dados compartilhado através da Internet ou Intranet
É possível que um único aplicativo poderia até mesmo incluir todos esses sistemas. Aplicações como essas são usos típicos de bancos de dados. Além disso, as ferramentas em 4D permitem criar aplicações inovadoras, tais como:
Um sistema de rastreamento de documento
Um sistema de gestão da imagem gráfica
Uma aplicação de publicação de catálogo
Um sistema de controle e monitoramento de um dispositivo serial
Um sistema de correio eletrônico (e-mail)
Um sistema de programação multi-usuário
Uma lista como uma lista de menu, videoteca, ou coleção de música
Uma aplicação normalmente pode começar como um banco de dados usado no ambiente de Design. O banco de dados "evolui" para uma aplicação, pois é personalizado. O que diferencia uma aplicação é que os sistemas necessários para gerenciar o banco de dados são escondidos do usuário. Gestão de dados é automatizada, e os usuários usam os menus para realizar tarefas específicas.
Quando você usa um banco de dados 4D no ambiente de design, você deve saber os passos a serem dados para alcançar um resultado. Em um aplicativo, você pode usar o ambiente de aplicativo, que você precisa para gerenciar todos os aspectos que são automáticos no ambiente de design. Isto inclui:
Tabela de Navegação: A janela de Lista de tabelas, o comando Últimas tabelas utilizadas ou os botões de navegação não estão disponíveis para o usuário. Você pode usar comandos de menu e métodos para controlar a navegação entre as tabelas.
Menus: no ambiente de aplicação, você só tem o menu Arquivo padrão com o comando de menu Sair, no menu Editar, o modo e o menu Help (assim como o menu de aplicações sob Mac OS). Se o aplicativo requer mais menus, você tem que criar e gerenciá-los usando métodos 4D ou ações padrões.
Editores: Os editores, como os editores de Query e Order by, já não estão automaticamente disponíveis no ambiente de aplicação. Se você quiser usá-los, você tem que chamá-los através de métodos 4D.
As seções a seguir incluem exemplos que mostram como a linguagem pode automatizar o uso de um banco de dados.
Menus personalizados são a principal parte da interface de uma aplicação. Eles tornam mais fácil para que os usuários aprendam a usar um banco de dados. Criar menus personalizados é muito simples, você associa métodos ou ações automáticas a cada comando de menu (também chamados de itens de menu) no editor de Menu.
A seção "Perspectiva do usuário" descreve o que acontece quando o usuário escolhe um comando de menu. Em seguida, "Por trás das câmeras", descreve o trabalho de design que fez isso acontecer. Embora o exemplo seja simples, ele deve demonstrar clararamente como menus personalizados do banco de dados tornam o aplicativo mais fácil de usar e aprender. Mais do que o "genérico" de ferramentas e comandos de menu no ambiente de design, o usuário só vê as coisas que são adequadas para suas necessidades.
O usuário escolhe um item de menu chamado Criar , a partir do menu Pessoas , para adicionar uma nova pessoa ao banco de dados.
O formulário de entrada para a tabela Pessoas é exibido.
O usuário digita o nome da pessoa e, em seguida, passa ao próximo campo.
O usuário digita o sobrenome da pessoa e, em seguida, passa para o próximo campo.
O usuário passa para o campo seguinte: o sobrenome é convertido em maiúsculas.
O usuário termina de inserir o registro e clica no botão de validação (geralmente o último botão na barra de botões).
Outro registro em branco aparece, e o usuário clica no botão Cancel (aquele com o "X") para encerrar o "ciclo de entrada de dados." O usuário é retornado para a barra de menu.
A barra de menu foi criada no ambiente de design, usando a barra de menu Editor.
O novo item de Novo tem um método de projeto chamado Nova pessoa. Este método foi criado no ambiente de design, usando o editor de método.
Quando o usuário escolhe esse item, o método Nova pessoa é executado:
Repeat ADD RECORD([Pessoas]) Until(OK=0)
O loop Repeat...Until com um comando ADD RECORDdentro do loop funciona como o item de menu Novo Registro no ambiente de design. Ele exibe o formulário de entrada para o usuário, de modo que ele ou ela pode adicionar um novo registro. Quando o usuário salva o registro, outro novo registro em branco aparece. Este loop ADD RECORD continua a executar até que o usuário clique no botão Cancelar.
Quando um registro é inserido, ocorre o seguinte:
Não existe um método para o campo Nome, então nada é executado.
Existe um método para o campo Sobrenome. Este método do objeto foi criado no ambiente de design, utilizando os editores de formulário e de método. O método executa:
[Pessoas]Sobrenome:=Uppercase([Pessoas]Sobrenome)
Esta linha converte o campo Sobrenome em caracteres maiúsculas.
Depois que um registro foi inserido, quando o usuário clique no botão Cancelar para o próximo, a variável OK está definido como zero, terminando assim a execução do loop ADD RECORD.
Como não há mais declarações a serem executadas, o método Nova pessoa pára a execução e retorna o controle para a barra de menu.
Vamos comparar a forma como uma tarefa é executada no ambiente Design e a forma como a mesma tarefa é realizada por meio da linguagem. A tarefa é muito comum:
Encontrar um grupo de registros
Ordená-los
Imprimir um relatório
A próxima seção, "Usando um banco de dados no ambiente de desenho", exibe as tarefas executadas no ambiente de desenho.
A seção seguinte, "Usando editores built-in dentro do ambiente de aplicações", apresenta as mesmas tarefas realizadas em um aplicativo.
Note que, embora ambos os métodos executem a mesma tarefa, os passos na segunda seção são automatizados usando a linguagem.
Os mesmos comandos usados no exemplo anterior pode ser usado para automatizar ainda mais o banco de dados.
Vamos dar uma olhada na nova versão do método Meu Relatório.
O usuário escolhe o menu Relatório do menu Pessoas. Um método chamado Meu Relatório2 está ligado ao comando de menu. É parecido com este:
QUERY([Pessoas];[Pessoas]Empresa="Acme") ORDER BY([Pessoas];[Pessoas]Sobrenome;>;[Pessoas]Nome;>) FORM SET OUTPUT([Pessoas];"Relatório") PRINT SELECTION([Pessoas];*)
A primeira linha é executada:
QUERY([Pessoas];[Pessoas]Empresa="Acme")
O editor de consultas não será exibido. Em vez disso, a consulta é especificada e executada pelo comando QUERY. O usuário não precisa fazer nada.
A segunda linha do método Meu Relatório2 é executado:
ORDER BY([Personas];[Personas]Apellido;>;[Personas]Nombre;>)
O editor de consultas não será exibido, e a Ordenação será realizada imediatamente. Mais uma vez, não é exigida nenhuma ação do usuário.
As linhas finais do método Meu Relatório2 são executadas:
FORM SET OUTPUT([Pessoas];"Relatório") PRINT SELECTION([Pessoas];*)
As caixas de diálogo de impressão são exibidas. O comando de [#cmd id="60"/ aceita um asterisco opcional (*) parâmetro que instrui o comando a usar as configurações de impressão que estavam em vigor quando o modelo de relatório foi criado. O relatório é impresso.
Esta automação adicional salvou o usuário de ter de entrar em três opções de caixas de diálogo. Aqui estão os benefícios:
A consulta é executada automaticamente: os usuários podem selecionar os critérios errados ao fazer uma consulta.
A ordenação é executada automaticamente: os usuários podem selecionar os critérios errados ao definir uma classificação.
A impressão é executada automaticamente: os usuários podem selecionar a forma errada de impressão.
Como você desenvolve uma aplicação 4D, você vai descobrir muitos recursos que você não notou quando você começou. Você pode até mesmo aumentar a versão standard de 4D, acrescentando outras ferramentas e plug-ins para o seu ambiente de desenvolvimento 4D
Há uma comunidade 4D muito ativa em todo o mundo, composta por grupos de usuários, Fóruns eletrônicos, e 4D Partners. 4D Partners produzem ferramentas de terceiros. Você pode se inscrever no fórum de usuário 4D, no seguinte endereço: http://forums.4D.fr A comunidade 4D oferece acesso a dicas e truques, soluções, informações, e ferramentas adicionais que vai lhe economizar tempo e energia, e aumentar a sua produtividade-