Comparativo entre Delphi e seus Principais Concorrentes

Autor: Vidal Martins - GPT - Ramal 381

A evolução constante e rápida das ferramentas de trabalho dos profissionais de informática exige um acompanhamento rigoroso das mudanças nesse mercado. E, atualmente, é tempo de Delphi. Este artigo tem o objetivo de apresentar uma comparação entre as principais ferramentas de front-end disponíveis no mercado, usadas no desenvolvimento de aplicações cliente/servidor: Delphi Client/Server Suite, Visual Basic Enterprise Edition, SQL Windows e PowerBuilder Enterprise for Windows.

Há muitas semelhanças entre esses produtos. Por exemplo, todos possuem uma forma rápida de gerar formulários a partir dos campos de uma tabela ou de uma query; todos acessam programas externos (DLLs), geram aplicações orientadas a eventos e aplicações cliente OLE, usam linguagem SQL e suportam ODBC; todos têm bons geradores de relatório, facilidades de check-in/check-out e controle de versões. Enfim, embora existam diversas diferenças entre as ferramentas, elas são capazes de produzir, basicamente, os mesmos resultados.

Para facilitar sua leitura, estruturamos o artigo nas seguintes seções:

Resumo da Avaliação: indica a fonte de pesquisa consultada e apresenta um resumo da comparação entre os produtos;

Performance: descreve detalhadamente como foi calculada a nota de performance desses produtos, durante a avaliação;

Versatilidade: descreve detalhadamente como foi calculada a nota de versatilidade dos produtos, durante a avaliação;

Nosso Ponto de Vista: lista vantagens e desvantagens do Delphi, segundo o nosso ponto de vista, baseado no curso que fizemos sobre o produto e na experiência com SQL Windows.

Resumo da Avaliação

A avaliação das ferramentas de front-end reproduzida neste artigo foi divulgada em uma publicação técnica chamada Software Digest, de março de 1996. A Software Digest é publicada pelo NSTL (National Software Testing Laboratories), uma divisão da Companhia McGraw-Hill que avalia software e hardware para PC e LAN.

Para elaborar esse teste, foram utilizados equipamentos Dell Dimension XPC P90 como estação de trabalho, dispondo de 24 Mb de RAM, 1 Gb de disco e sistema operacional Windows NT Workstation 3.51. O banco de dados de teste estava em uma máquina Digital DECpc Lpx 560 com 32 Mb de RAM, 1 Gb de disco, sistema operacional Windows NT Server 3.51 e sistema gerenciador de banco de dados Microsoft SQL Server 6.0.

A base de dados de apoio ao teste continha informações sobre pedidos de compra de livros. As tabelas dessa base eram: livros, autores, autor-livro, pedidos e itens do pedido. Cada item do pedido era, na realidade, um livro a ser comprado. A carga inicial da base de dados era a seguinte: 125.000 livros, 25.000 autores, 250.000 registros de ligação autor-livro (10 livros por autor, sendo 2 co-autores por livro), 50.000 pedidos e 250.000 itens (5 para cada pedido). Antes de iniciar o teste de cada produto, foi restaurada a base de dados, a partir de um backup, e reinicializado o servidor de banco de dados. O teste explorou a potencialidade das ferramentas para consultas de diversas formas, atualização da base de dados e geração de relatórios. Mais detalhes sobre os programas que foram codificados podem ser encontrados na seção Performance deste artigo.

Os critérios de avaliação adotados nesse comparativo foram os seguintes:

  • facilidade de aprendizado: qualidade da documentação do software para descrever a conectividade com bancos de dados, o processo de desenvolvimento de aplicações simples e complexas, a geração de relatórios e o gerenciamento da aplicação;
  • facilidade de uso: ergonomia do software em relação aos mesmos assuntos do item anterior - conectividade com bancos de dados, desenvolvimento de aplicações simples e complexas, geração de relatórios e gerenciamento da aplicação;
  • versatilidade: para avaliar este critério, foram consideradas mais de 250 características dos produtos, agrupadas em três categorias:
  • acesso aos dados: trata de como o produto acessa os dados em um ambiente cliente/servidor, bem como das facilidades para o desenvolvimento de protótipos localmente e da portabilidade desses protótipos para o ambiente cliente/servidor. Também inclui os vários bancos de dados suportados, e o uso das características específicas de cada engine;
  • características das aplicações: trata das funcionalidades que podem ser incorporadas às aplicações, tais como formulários, queries, relatórios, facilidades para a manipulação de eventos e gerenciamento de objetos;
  • gerenciamento das aplicações: trata das facilidades para melhorar a produtividade do desenvolvedor e o gerenciamento do ambiente de desenvolvimento, incluindo características de workgroup, armazenamento de objetos e a instalação de aplicações runtime.
  • performance: tempo de resposta em 12 procedimentos diferentes, explicados na próxima seção.

O resultado final da avaliação foi este:

Vamos analisar mais algumas informações interessantes sobre cada produto estudado.

Delphi Client/Server Suite 2.0

Requisitos: processador 486/25, 8 Mb de memória para desenvolvimento (12 Mb recomendado) e 8 Mb para a execução das aplicações, 50 Mb de espaço em disco, sistema operacional Windows 95 ou Windows NT 3.51.

Pontos fortes: performance excepcional, versatilidade geral excelente, fácil de desenvolver aplicações que acessam dados, bom suporte para componentes customizados.

Limitações: relativamente difícil de aprender, relativamente fraco em ferramentas para relatório.

Facilidade de aprendizado: o NTSL avaliou uma versão prerelease do Delphi, com muitas falhas de documentação.

Facilidade de uso: fornece os mecanismos mais convenientes para permitir que as aplicações acessem bancos de dados (Fields Editor, Mestre/Detalhe, Controle de Navegação - que permite consulta e atualização-Data Modules); compila uma aplicação inteira gerando um único arquivo executável; tem boas facilidades para armazenar objetos customizados e disponibilizá-los para as aplicações; o tratamento de eventos a nível de registro é mais difícil do que nos outros produtos; oferece dois geradores de relatório, um que não está bem integrado com a ferramenta (ReportSmith) e outro muito bem integrado, mas difícil de usar.

Outras características: permite sincronizar datasets mestre e detalhe sem programação adicional; permite incluir, excluir e alterar registros sem qualquer programação adicional; possui o suporte para automação remota mais completo; tem o depurador mais robusto (mostra a pilha de chamadas a procedimentos e funções, característica necessária quando se faz grande reuso de código); oferece mais opções de instalação; não executa um evento cada vez que o usuário se movimenta para um novo registro na tela.

Visual Basic Enterprise Edition 4.0

Requisitos: processador 486/25, 6 Mb de memória para desenvolvimento e 6 Mb para a execução das aplicações, 20 Mb a 80 Mb de espaço em disco, sistema operacional Windows 3.1, Windows 95 ou Windows NT.

 Pontos fortes: boa performance, excelentes ferramentas de relatório, bom suporte para automação remota, excelente depurador.

 Limitações: faltam facilidades para desenho de formulários que os outros possuem; é fraco em administração de banco de dados; conexão com banco de dados apenas via ODBC.

Facilidade de aprendizado: a documentação do Visual Basic não é tão extensa, mas é bem organizada com bons índices para busca de informações em cada manual; embora não seja o único produto a oferecer automação remota, permitindo, portanto, o particionamento de aplicações, é o único produto que oferece documentação clara e completa sobre como implementar essa funcionalidade; falta um pouco de referência cruzada; as diferenças sintáticas entre os métodos de acesso a banco de dados (Remote Data Objects e Jet) podem confundir usuários novos.

Facilidade de uso: é similar ao Delphi em muitas coisas, porém, o acesso a dados da Microsoft é mais interessante em alguns aspectos; por exemplo, a navegação está incorporada no data control e não existe controle data source separado das tabelas e queries; é mais fácil gerenciar o código relacionado aos objetos do formulário do que no Delphi; oferece o melhor suporte a OLE 2.0 entre todos os produtos; possui as melhores ferramentas para desenho e incoporação de relatórios nas aplicações; muitas características controladas pela configuração de propriedades no Delphi requer programação no Visual Basic; usar stored procedures do SQL Server no Visual Basic é mais difícil do que nos outros produtos. Requer arquivos diferentes de runtime, dependendo dos componentes utilizados.

Outras características: fornece excelente suporte para automação remota.

SQL Windows 5.0

Requisitos: processador 486 para o desenvolvimento e 386 para a execução de aplicações, 8 Mb de memória para o desenvolvimento e 4 Mb para a execução de aplicações, 24 Mb de espaço em disco, sistema operacional Windows 3.1, Windows 95, Windows NT e Win/OS2.

Pontos fortes: excelentes recursos para trabalho em equipe, acesso a bancos de dados robusto, excelente versatilidade em geral.

Limitações: performance inferior, não suporta aplicações 32-bits, relativamente difícil de usar.

Facilidade de aprendizado: o SQL Windows é o produto mais complexo e oferece apenas manuais de referência para os vários componentes, ao invés de descrições de procedimentos (instruções how-to).

Facilidade de uso: possui um conjunto padrão de arquivos runtime para distribuição; o Team Windows fornece o suporte mais compreensivo para desenvolvimento em equipe, mas ele não está bem integrado com o resto da ferramenta; o Outliner do SQL Windows é a interface menos amigável de todos os produtos, sendo que a alternância entre o formulário visual e o código do programa é um tanto desajeitada; um ponto positivo é que o Outliner permite selecionar eventos, funções, variáveis, etc., de caixas de listagem, durante a codificação; os usuários podem desenhar formulários através de ferramentas visuais como Quest e QuickForms, mas o NSTL não pôde usá-las devido à limitação em 32.768 registros; para datasets maiores é necessário usar cursores SQL e transferir os dados desses cursores para os campos da tela via programação; emprega um conjunto complexo de procedimentos para controlar relatórios produzidos através do Report Windows.

Outras características: a manipulação de eventos do SQL Windows é a mais completa; suporta a maior quantidade de características específicas dos bancos de dados.

PowerBuilder Enterprise for Windows 4.0

Requisitos: processador 386, 8 Mb de memória para desenvolvimento e 8 Mb para a execução das aplicações, 19 Mb de espaço em disco, sistema operacional Windows 3.0 e Windows NT.

Pontos fortes: excelente documentação, fácil de aprender, fácil de desenhar formulários.

Limitações: performance inferior, ferramentas de relatório pouco integradas, poucos recursos para trabalho em equipe.

Facilidade de aprendizado: fornece um conjunto excepcional de manuais, organizados logicamente para facilitar tanto o aprendizado quanto referências de usuários dos mais diversos níveis.

Facilidade de uso: possui um conjunto padrão de arquivos runtime para distribuição; fornece excelentes ferramentas visuais que permitem a criação rápida de objetos DataWindow para acesso ao banco de dados; um ponto negativo é que o DataWindow é tratado como um único objeto, requerendo movimento entre o Window Painter e o DataWindow Painter para customizar a aparência; o tratamento de eventos relacionados aos componentes individuais dentro de um DataWindow requer programação complexa; o módulo InfoMaker é uma ferramenta excelente para desenho de relatórios, porém, é extremamente difícil incorporar relatórios InfoMaker em aplicações PowerBuilder.

Outras características: não possui controle de versões embutido; não possui repositório de objetos; falta suporte para automação remota; tem o depurador mais fraco de todos.

Performance

Com relação à performance, a Software Digest faz a seguinte citação: "...O Delphi não tem rival nas operações de consulta em grandes datasets, pois gasta menos de um quarto do tempo do seu competidor mais próximo para acessar o result set completo, e menos da metade do tempo para aplicar um filtro. Quando ele não é o mais rápido, fica muito próximo do líder, em todos os casos. A única exceção é para relatórios complexos, onde o ReportSmith requer tempo extra para conectar com o database; mesmo assim, ele é o segundo mais rápido, neste caso..."

Para esclarecer de que forma o NSTL chegou a esta conclusão, apresentaremos a seguir as doze operações que eles programaram, executaram e cronometraram, a fim de medir o desempenho dos produtos.

Foi registrado o tempo necessário para executar a query, para mostrar a primeira página do relatório no modo preview, para se movimentar até o fim dele nesse modo, e para imprimir a última página cheia do relatório. O número apresentado no gráfico representa o tempo acumulado dessas operações. Para um relatório deste tamanho e complexidade é mais viável usar o ReportSmith do Delphi. Embora tenha sido gasto um tempo extra para carregar o ReportSmith, e a velocidade de impressão tenha sido um pouco mais lenta, a sua velocidade de recuperação de dados foi substancialmente mais rápida neste teste. No relatório simples ele foi mais do que duas vezes mais lento que o componente integrado.

1. Análise de String

Leitura de arquivo texto contendo registros cujos valores são separados por tabulações e vírgulas. O programa quebra o string em partes, realiza processamento baseado nos valores dessas partes e carrega os resultados para uma tabela do formulário. Ele não faz acesso a banco de dados

2. Pesquisa pelo ISBN

O usuário entra com um ISBN e o programa mostra todas as informações do respectivo livro, incluindo uma listagem dos co-autores. Em seguida, o usuário entra com a quantidade que deseja comprar e o programa adiciona uma linha na tela para esse item do pedido.

3. Pesquisa por Autor

O usuário entra com nome parcial e o programa lista todos os autores correspondentes a esse nome. Em seguida, o usuário seleciona o autor da lista e o programa lista todos os livros escritos por esse autor. Finalmente, o usuário seleciona um livro e o processamento continua como na pesquisa pelo ISBN.

4. Pesquisa pelo Título

O usuário entra com um título parcial de livro e o programa lista todos os livros correnpondentes. Em seguida, o usuário seleciona um livro e o processamento continua como na pesquisa pelo ISBN.

5. Inclusão de Pedido

O pedido construído durante os três testes anteriores é cadastrado. Isto envolve a inclusão de um registro na tabela de produtos e, para cada item solicitado, a inclusão de um registro na tabela de itens e atualização do livro correspondente. Delphi e Visual Basic contróem um único comando para realizar todos os inserts e updates, e manda isso como uma única operação para o banco de dados. PowerBuilder e SQL Windows usam comandos padrão SQL com variáveis de programa. O SQL Windows empacota em uma única operação todos os inserts na tabela de itens.

6. Consula à Tabela de Pedidos

Foi registrado o tempo necessário para carregar a tela de consulta dos pedidos. Isto envolve a leitura dos registros da tabela de pedidos e a apresentação do primeito deles, acompanhado dos itens correspondentes (mestre/detalhe). O SQL Windows permite passar o controle da aplicação para o usuário imediatamente após recuperar os registros necessários para completar uma tela, e continua lendo os demais registros do result set em background. Por isso, a sua superioridade neste teste. O PowerBuilder também oferece esta opção, mas quando ela é usada para acessar o result set completo em operações de filtragem e pesquisa, ela fica muito limitada. O tempo do Delphi é extraordinário, se considerarmos que ele acessou o dataset completo (50.000 registros) e então, diferente do SQL Windows, requer pequeno ou nenhum tempo adicional para acessar outros registros no dataset.

7. Acesso Completo ao Dataset

Foi medido o tempo necessário para se movimentar até o último registro do result set, partindo do teste anterior, e para mostrar esse registro na tela, juntamente com os itens de pedido correspondentes. Esse tempo somado ao do teste anterior representa o tempo total necessário para um acesso completo ao dataset. O Delphi realmente leva um puco mais de tempo que o Visual Basic e o PowerBuilder para fazer essa movimentação (respectivamente 1.1, 0.9, 0.6), porém o seu tempo total de acesso ainda está completamente isolado.

8. Atualização do Registro

Depois que um usuário modificou o valor de um campo do formulário, foi registrado o tempo necessário para gravar a mudança no banco de dados e retornar o controle ao usuário. O Visual Basic tem um método de atualização de linha associado ao remote data control, enquanto o Delphi tem um botão de update no navigation control. O SQL Windows usa um comando SQL explícito para atualizar o registro corrente. O PowerBuilder executa atualizações a nível de DataWindow. Isto permite que múltiplos registros sejam modificados antes que as alterações sejam gravadas no banco de dados, mas também requer que seja verificado em todo o dataset se houve mudança antes de executar o update.

9. Pesquisa por um valor específico

Usando o formulário de consulta de pedidos, o programa procura por um registro que contenha o nome do cliente especificado pelo usuário e mostra esse registro, juntamente com os itens de pedido correspondentes. O Delphi muda o índice corrente para fazer a pesquisa. Isto altera a ordem de classificação dos dados na tela. Para manter a classificação original é necessário fazer duas pesquisas. O Delphi gasta menos tempo para fazer essas duas pesquisas do que os outros produtos para fazer em apenas uma. Visual Basic e SQL Windows não têm facilidades de pesquisa embutidas, tornando necessário o uso de consultas SQL para encontrar o registro procurado, determinar sua posição no result set original, e então mover-se até essa posição.

10. Aplicação de Filtro

Usando a tela de consulta de pedidos, o programa aplica um filtro para mostrar apenas os registros com CEPs dentro do intervalo especificado. Este teste é parecido com aquele chamado Consulta à Tabela de Pedidos, mas recupera menos registros. Aparentemente o SQL Windows é menos eficiente que os seus competidores para abrir um cursor e recuperar seu primeiro registro.

11. Relatório Simples

Este teste gera um relatório contendo registro de uma única tabela, pertencentes a um intervalo especificado, e classificados por um campo diferente daquele usado para seleção. Foi medido o tempo necessário para executar a consulta na qual o relatório está baseado, para mostrar a primeira página no modo preview, para se movimentar até o fim do relatório no modo preview e para imprimir a última página cheia do relatório. O número apresentado representa o tempo acumulado. SQL Delphi, Visual Basic e SQL Windows executaram o relatório usando suas conexões existentes com o banco de dados, ao invés de carregar um programa gerador de relatório separado e estabelecer uma nova conexão. O Delphi e o Visual Basic transformaram essa vantagem em um tempo de execução bem superior aos competidores. O Windows desperdiçou essa vantagem com uma recuperação de dados lenta.

12. Relatório Complexo

Este teste gera um relatório contendo os pedidos pertencentes a um intervalo especificado, todos os itens desses pedidos, incluindo o título do livro, e todos os autores de cada livro solicitado. O relatório está baseado em um join de 5 tabelas e possui 2 níveis de agrupamento aninhados. O título do livro excede a largura do relatório. Portanto, a parte que sobra é jogada para linha de baixo sem hifenização (word-wrapped). A ordem de classificação está baseada em um campo diferente daquele usado para a seleção dos dados.

Versatilidade

No relatório original do NSTL, cada item de versatilidade tem uma definição associada. A partir dessas definições foram avaliados todos os produtos. O objetivo era garantir igualdade de condições nos testes, pois o NSTL reconhece que os diversos produtos podem usar a mesma terminologia com significados diferentes. Cada característica de cada produto foi estudada usando a documentação disponível e teste prático. Os resultados foram verificados com os vendedores. A decisão final de dar ou não o crédito ao produto para uma característica foi do NSTL, depois de comparar a sua própria definição com a documentação do produto.

A tabela abaixo contém todas as características que foram apreciadas para medir a versatilidade dos produtos, e uma marca indicando quem recebeu o crédito. Uma descrição detalhada sobre o que significa cada característica pode ser encontrada no relatório original do NSTL.

 

   

Delphi

Visual Basic

Power Builder

SQL Windows

  SUPORTE A ENGINE

2

Microsoft SQL Server

ü

ü

ü

ü

2

Sybase SQL Server

ü

ü

ü

ü

2

Oracle

ü

ü

ü

ü

1

SQLBase    

ü

ü

1

Informix

ü

 

ü

ü

1

Interbase

ü

     

1

DB2

ü

 

ü

ü

2

ODBC

ü

ü

ü

ü

  SUPORTE A LINGUAGEM SQL

2

SQL genérico

ü

ü

ECN

ü

2

SQL Nativo

ü

ü

ü

ü

1

SQL genérico e nativo na mesma transação

ü

ü

ECN

ü

1

Acessa banco de dados a partir de uma dll dentro da transação

ü

ü

ü

ü

1

Usa variáveis de programa na sql

ü

ü

ü

ü

1

Usa variáveis de formulário na sql

ü

ü

ü

ü

2

Join transparente entre Engines

ü

JET

 

 

 

  BANCO DE DADOS LOCAL

2

Aplicações isoladas

ü

ü

ü

ü

2

Banco de dados local padrão sql

ü

JAS

ü

ü

2

Versão servidor para banco local

ü

 

ü

ü

2

Código compatível engine local e servidor

ü

ü

ü

ü

2

Formulários compatíveis para engine local e servidor

ü

ü

ü

ü

2

Faz join entre tabelas locais e do servidor

RMD

ü

ü

ü

1

Portável mudando apenas a especificação de conexão

ü

ü

ü

ü

1

Muda a origem dos dados de um formulário sem ter que redefinir campo a campo

ü

ü

ü

ü

1

Copia tabelas do local para o servidor

ü

PS

ü

ü

1

Copia tabelas inclusive índices

ü

PS

 

ü

  CARACTERÍSTICAS ESPECÍFICAS DO BANCO

1

Cursores roláveis para Sql Server  

ü

ü

ü

1

Cursores roláveis para Sql Base  

DOB

ü

ü

1

Cursores do servidor  

ü

   

1

Update where current

ü

ü

ü

ü

1

Permite que um comando sql manipule array no Oracle    

ü

ü

1

Permite a execução de Stored Procedures que retornam dados no Sql Server

ü

ü

ü

ü

2

Múltiplos results sets no Sql Server  

ü

 

ü

2

Permite que comandos sql sejam processados uma vez e executados repetidamente

ü

ü

 

ü

1

load/unload em massa (bulk)

FE

   

ABS

1

Suporta o modo browse do Sql Server  

ü

 

ü

1

Níveis de isolamento do Sql Base

ü

DOB

ü

ü

1

Validação Rowid do Sql Base  

DOB

 

ü

1

Atualiza visões

ü

ü

ü

ü

  SUPORTE A TIPOS DE DADOS

2

Textos longos

ü

ü

ü

ü

2

BLOB

ü

ü

ü

ü

1

Date, time e datetime

ü

ü

ü

ü

1

Tipos de dados definidos pelo usuário a nível de banco de dados      

ü

  ADMINISTRAÇÃO DE BANCO DE DADOS

2

Create tables

ü

ABL

ü

ü

2

Drop tables

ü

ABL

ü

ü

1

Alter tables

ü

ABL

ü

ü

1

Create/drop indexes

ü

ABL

ü

ü

1

Especificar chave primária

ü

ABL

ü

ü

1

Definir integridade referencial

ü

ABL

ü

ü

  CARACTERÍSTICA DE INTEGRIDADE DE DADOS

2

Begin/Commit/Rollback

ü

ü

ü

ü

2

Autocommit on/off

ü

ü

ü

ü

 

2

Incorpora processamento do formulário na transação

ü

ü

ü

ü

1

Bloqueia registro corrente do formulário  

ü

 

ü

1

Concorrência otimista com screen refresh  

IVP

ü

ü

1

Salva/Desfaz alterações a um único registro do formulário

ü

ü

ü

ü

1

Salva/Desfaz alterações em múltiplos registros do formulário

ü

ü

ü

ü

1

Salva/Desfaz alterações em formulário mestre-detalhe

ü

ü

ü

ü

1

Preservação do contexto do cursor nos formulários

ü

ü

ü

ü

  CARACTERÍSTICA DE DESENVOLVIMENTO DA APLICAÇÃO

1

Editor visual de query

ü

 

ü

ü

1

Seleciona objetos de banco de dados de uma lista de opções

ü

ü

ü

ü

1

Result sets atualizáveis

ü

ü

ü

ü

1

Formulários podem refazer a consulta em tempo de execução

ü

ü

ü

ü

1

Permite a entrada de critérios de filtros no formulário    

ü

 
  QUICK FORM

2

Quick Form a partir de uma tabela do banco de dados

ü

ü

ü

ü

2

Incorpora quick form na aplicação

ü

ü

ü

ü

2

Permite movimentar os campos após a geração do formulário

ü

ü

ü

ü

2

Quick form do tipo mestre-detalhe

ü

 

ü

ü

2

Apresentação de um único registro

ü

ü

ü

ü

2

Apresentação de múltiplos registros

ü

ü

ü

ü

1

Browsing de registros embutidos

ü

ü

 

ü

1

Adiciona registros

ü

 

ü

ü

1

Exclui registros

ü

 

ü

ü

  CARACTERÍSTICAS DE PROJETO DE FORMULÁRIO

2

Formato date/number para campos das bases de dados

ü

ü

ü

ü

2

Máscara de edição para campos de base de dados

ü

ü

ü

ü

2

Apresentação de múltiplos registros customizável

ü

 

ü

IVP

1

Múltiplos registros através da página

ü

 

ü

IVP

2

Campos de linhas múltiplas

ü

ü

ü

ü

1

Barra de rolagem vertical nos campos

ü

ü

ü

ü

1

Edição condicional

ü

ü

ü

ü

1

Caixas de listagem baseadas em valores fixos

ü

ü

ü

ü

1

Caixas de listagem baseadas em valores do banco de dados

ü

ü

ü

ü

1

Constrói listas dinamicamente em tempo de execução

ü

ü

ü

ü

 

 

1

Permite usar botões de opção para configurar opções do programa

ü

ü

ü

ü

1

Permite usar botões de opção para mostrar e selecionar valores dos campos do banco de dados

ü

ü

ü

ü

1

Permite usar caixas de verificação para configurar opções do programa

ü

ü

ü

ü

1

Permite usar caixas de verificação para mostrar e selecionar valores dos campos do banco de dados

ü

ü

ü

ü

1

Opções de cor a nível de objeto

ü

ü

ü

ü

1

Especificação de fonte

ü

ü

ü

ü

1

Especificação de cor de texto

ü

ü

ü

ü

1

Suporte completo a transações

ü

ü

ü

ü

1

Aplicação de filtro

ü

IVP

ü

ü

1

Pesquisa de um registro

ü

IVP

ü

AF

  CARACTERÍSTICAS DE CONTROLE DA APLICAÇÃO

1

Barra de menu pulldown

ü

ü

ü

ü

1

Menus específicos para os formulários

ü

ü

ü

ü

1

Construção dinâmica de menu

ü

   

ü

1

Barra de ícones customizável

ü

ü

ü

ü

1

Caixa de mensagem com múltiplos botões

ü

ü

ü

ü

1

Caixas de diálogo

ü

ü

ü

ü

1

Diálogos com múltiplas páginas (guias)

ü

ü

PV

ü

1

Atribui procedimento ao botão

ü

ü

ü

ü

1

Formulário pode chamar outro formulário

ü

ü

ü

ü

1

Formulário modal e não modal

ü

ü

ü

ü

1

Retorna múltiplos valores para o formulário de origem

ü

ü

ü

ü

1

Aplicações MDI

ü

ü

ü

ü

  TRATAMENTO DE EVENTOS

2

Procedimentos disparados pelos eventos

ü

ü

ü

ü

2

Detecção de tecla pressionada

ü

ü

ü

ü

1

Identificação da tecla pressionada

ü

ü

ü

ü

2

Detecção do clique do mouse

ü

ü

ü

ü

1

Detecção do clique no botão direito do mouse

ü

ü

ü

ü

1

Detecção do duplo clique

ü

ü

ü

ü

2

Evento temporal

ü

ü

ü

ü

1

Abertura e fechamento de formulá- rios/objetos

ü

ü

ü

ü

1

Get/Lose foco para formulários/objetos

ü

ü

ü

ü

1

Chegada de um registro

SPO

ü

ü

ü

1

Partida de um registro  

ü

ü

ü

1

Atualização de um registro

ü

ü

ü

ü

1

Inclusão/exclusão de registro

ü

ü

ü

 

1

Chegada/Partida de um campo

ü

ü

ü

ü

1

Valor de campo alterado

ü

ü

ü

ü

1

Atualização revogada

ü

ü

ü

ü

1

Restauração do valor original

ü

ü

ü

RSB

1

Disponibiliza valor novo e antigo para consistência

ü

ü

ü

RSB

1

Revoga chegada/partida