Vous êtes sur la page 1sur 581

Programando com o Centura Team Developer 2000

Caro Leitor, este livro foi originalmente lançado em junho de 2000. Seu conteúdo refere-se ao então Centura Team Developer versão 2.0, chamado na época de Centura Team Developer 2000, daí vem a sigla CTD2000.

Em diversos pontos do livro, onde for citado o endereço www.centuraexplorer.com, deve ser considerado http://appstartup.blogspot.com.br, nele, há uma área específica para tratar deste livro e dos arquivos que são citados nos exemplos.

Este livro está sendo disponibilizado agora, em maio de 2013, em formato PDF para livre utilização por qualquer pessoa que tiver necessidade de estudar Centura Team Developer 2000. A base desta ferramenta de programação está neste livro, portanto pode ser utilizado como fonte de estudo mesmo para versões mais recentes do Team Developer.

Contatos com o autor podem serfeitos através do e-mail lairton@live.com ou através do blog App StartUp no url http://appstartup.blogspot.com.br

Bom estudo!

Lairton Nogueira de Almeida Júnior

Programando com o Centura Team Developer 2000

Para

Christiane,

Netinho e

Marcelinha

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000

Agradecimentos

São tantas as pessoas que de forma direta ou indireta ajudaram na confecção deste livro, eu não conseguiria citar todos os nomes aqui, mas eu não posso deixar de agradecer a algumas pessoas

Ao sr. Agenor Correia, muito obrigado por ter me mostrado este caminho e pelo seu investimento em mim. Obrigado por ter acendido a chama.

Pelas oportunidades eu gostaria de agradecer ao Jorge Correia, Eduardo Aguiar, José Luna, Petrúcio Barros, ao Francinaldo e ao Ryan Bahard . Vocês poderão observar muito do nosso dia-a-dia de trabalho neste projeto.

Ao pessoal da Centura. Muito obrigado ao Joubert Stape e a Ana Paula, a ajuda de vocês tem sido muito importante enriquecendo em muito o conteúdo deste livro. Um abraço também ao pessoal da Centura Software Corporation, Jeremy Shaw, Raghavan Gurumurthy, Cezary Hajlasz e a Charity Silkebakken pela colaboração.

Ao Krause Correia, meu grande amigo pessoal e profissional, muito obrigado pelas sugestões, pelo apoio junto ao conteúdo deste trabalho, principalmente no que diz respeito aos relatórios, pelas noites em que ficamos até muito tarde debatendo os assuntos do livro.

Eu gostaria de agradecer também aos clientes das ferramentas da Centura, pois me forçaram a buscar soluções para as suas necessidades, provendo conteúdo para este livro. E a todos os meus alunos que são realmente a base deste livro. As experiências que tivemos nos treinamentos serviram de estrutura principal deste trabalho que agora poderá dar-lhes todas as informações sobre o Centura, num único local.

Eu gostaria de agradecer especialmente a:

Meus pais e irmãos: Lairton, Célia, Fábio, Leandro, Érico, André e ao Danilo. Muito Obrigados.

Meus amigos: Jones Melo, Cristovão, Roberto Galvão, Urbano Chagas transmitiram.

pela força que me

A todos os colegas de trabalho por ler os pedaços do livro, pelas sugestões e perguntas que me

fizeram cada vez mais ver o que o livro deveria ter, aos poucos o seu conteúdo foi modificando-se de acordo com as necessidades de vocês.

Sra. Ana Claudia, muito obrigado pelas suas sugestões, pela paciência em ler este livro todo

várias vezes,

pelo apoio e pelo incentivo a cada passo do caminho, desde o ínicio até sua

conclusão.

E principalmente a Deus, por ter dado saúde, condições de aprendizado e essa vontade interior

de transmitir conhecimento às pessoas. Obrigado por me ajudar a conhecer as pessoas certas nas horas certas e por permitir que tudo isso esteja acontecendo desse jeito.

Me ajudaram muito a manter o espírito do livro as audições de "Dawn of a new Century" do Secret Garden, "Dance of the Angel" do Slava Gaigoayan, "Luzia" do Paco de Lucía, "The

Página 4

Programando com o Centura Team Developer 2000

Music of The Grand Canyon" do Nicholas Gunn e do "Key in G" do Kenny G e na sua fase final de conclusão o "Na Pressão" do Lenine que retratam a trilha sonora deste livro.

Programando com o Centura Team Developer 2000

Uma olhada rápida

Parte I

Parte II

Parte III

Parte IV

Parte V

Programando com o Centura Team Developer 2000

IV Parte V Programando com o Centura Team Developer 2000 Elementos do SQLWindows/32 Capítulo 1 -

Elementos do SQLWindows/32

Capítulo 1 - Apresentação do Centura SQLWindows/32 Capítulo 2 - A Linguagem SAL Capítulo 3 - O acesso ao SQL Capítulo 4 - Programação Baseada em Eventos Capítulo 5 - Programando com o SQLWindows/32

Obtendo mais do SQLWindows/32 com a tecnologia QuickObjects

Capítulo 6 - Utilizando os QuickObjects Capítulo 7 - Explorando os QuickObjects Capítulo 8 - Programação Orientada a Objetos Capítulo 9 - Ampliando o desenvolvimento com o CDK Capítulo 10 - Criando seus próprios QuickObjects

Concluindo o desenvolvimento de aplicações

Capítulo 11 - Relatórios com o Report Builder Capítulo 12 - Distribuição do produto final Capítulo 13 - Traduzindo aplicações com o Object Nationalizer Capítulo 14 - Gerenciamento de equipes com o Team Object Manager

Sua aplicação Centura falando com o mundo

Capítulo 15 - Desenvolvimento de componentes COM no SQLWindows Capítulo 16 - Desenvolvendo aplicações para Web

Guia de Referência Completo

Apêndice A - Guia de referência das funções SAL Apêndice B - Guia de referência das funções SQL Apêndice C - Guia de referência das mensagens SAM Apêndice D - Guia de referência das funções do Report Builder Apêndice E - Classes e funções da Biblioteca VisualToolchest Apêndice F - Guia de Instalação do Centura Team Developer 2000

Programando com o Centura Team Developer 2000

Apresentação

Para um melhor aproveitamento do conteúdo apresentado neste livro, recomendamos que o leitor siga a ordem em que os capítulos estão apresentados. Todos os aspectos do Centura Team Developer são abordados ao longo dos vinte e dois capítulos, portanto, ignorar a seqüência pode fazer com que o leitor encontre alguma dificuldade na utilização de alguns conceitos que foram explicados em capítulos anteriores.

Programando com o Centura Team Developer 2000 está dividido em cinco partes:

Parte I - Elementos do SQLWindows/32

Nos capítulos 1, 2 e 3, o SQLWindows/32 é detalhadamente explicado. É apresentado todo o ambiente de programação, a parte teórica referente aos conceitos da linguagem e a explanação de todos os seus objetos, alguns conceitos sobre bancos de dados SQL e sua utilização junto ao

SQLWindows/32.

Os conceitos de programação baseada a eventos são transmitidos ao leitor no capítulo 4. No

capítulo 5 estão os exemplos de programação, exercitando os conceitos introduzidos inicialmente.

A primeira parte é de importância vital para a correta compreensão e utilização do restante do

livro.

Parte II - Obtendo mais do SQLWindows com a tecnologia QuickObjects

O SQLWindows/16 na sua versão 5 trouxe aos desenvolvedores a tecnologia dos

QuickObjects, os capítulos 6 e 7 tratam, de forma minuciosa, todos os seus conceitos e

utilização.

O capítulo 8 apresenta os conceitos da programação orientada a objetos, dirigida ao

SQLWindows/32. A leitura deste capítulo é indicada, mesmo aos leitores que já possuem conhecimento das técnicas de programação orientada a objetos, uma vez que, nele são relacionadas as terminologias da OOP aos componentes do SQLWindows/32.

Uma grande ferramenta presente no Centura Team Developer que auxilia o desenvolvimento

de aplicações em SQLWindows/32 é o CDK. O capítulo 9 explica o modo como o CDK

funciona e os benefícios que pode trazer aos desenvolvedores Centura.

Os exemplos vistos no capítulo nove são estendidos no capítulo 10, onde o ciclo é fechado com

a criação de QuickObjects personalizados pelo programador.

Esta é a parte onde alguns dos conceitos mais avançados do SQLWindows/32 são abordados, como os QuickObjects, a tecnologia de orientação a objetos e a geração de código.

Parte III - Concluindo o desenvolvimento de aplicações

O ciclo de desenvolvimento de aplicações é concluído nesta parte, em que são apresentados os

refinamentos da sua aplicação.

Programando com o Centura Team Developer 2000

No capítulo 11 é visto a geração dos relatórios com o Report Builder e a sua interação com o SQLWindows/32. A interface do usuário do Report Builder e a interface com programas externos é abordada de forma detalhada.

As diversas formas de distribuição do produto final incluindo a geração de executáveis, dynalibs e dlls são abordadas no capítulo 12. Para a geração de dlls você precisa ter instalado o Microsoft Visual C++ e o Object Compiler.

O capítulo 13 é dedicado ao Object Nationalizer, onde vemos o quanto é simples traduzir as

aplicações feitas em SQLWindows para diversos idiomas.

Para encerrar a terceira parte,, o capítulo 14 apresenta o Team Object Manager, que facilita o gerenciamento de projetos e equipes de desenvolvimento.

Parte IV - Sua aplicação Centura falando com o mundo

Podemos seguramente afirmar que esta parte é a mais atraente de todo o livro, por envolver as tecnologias mais faladas atualmente.

No capítulo 15 a integração do SQLWindows/32 com a tecnologia de componentes COM rodando no MTS é detalhadamente explicada com instruções passo-a-passo para que você construa uma aplicação COM+ rapidamente.

Coloque sua aplicação desenvolvida em SQLWindows/32 na Internet através das extensões para a web da Centura (CWE). Você precisará já ter devidamente instalado, e configurado, um servidor de Web que esteja disponível para utilização juntos aos exemplos do capítulo 16.

Parte V - Guia de referência completo.

Esta deverá ser a parte mais utilizada pelo leitor, pois, aqui foram agrupados os capítulos que servirão de referência ao desenvolvedor, na sua utilização diária. Estão descritas detalhadamente todas as funções e mensagens da linguagem do SQLWindows/32.

Nos apêndices A e B estão todas as funções SAL e SQL. As mensagens SAM são explicadas no apêndice C, enquanto as funções disponíveis no Report Builder estão presentes no apêndice

D.

A

descrição de todas as classes e funções que compõem a biblioteca Visual ToolChest, é

encontrada no Apêndice E.

O apêndice F contém as explicações de como instalar o Centura Team Developer. Essas

instruções devem ser seguidas fielmente, pois, a escolha dos componentes a serem instalados é dirigida aos exemplos demonstrados no livro.

Programando com o Centura Team Developer 2000

O propósito deste livro

Apresentar ao desenvolvedor o conjunto de ferramentas que compõe o Centura Team Developer 2000, explicando os conceitos da linguagem SQLWindows, seus comandos, funções e objetos. Explorar a tecnologia dos QuickObjects e a geração de código com o CDK. Mostrar a geração de relatórios através do Report Builder. Demonstrar como é feito o gerenciamento de projetos e equipes de desenvolvedores com o Team Objetct Manager.

E por fim, pretendemos, deixar o desenvolvedor familiarizado com o ambiente, pronto para começar a desenvolver projetos, utilizando a força total do pacote de ferramentas de que o Centura Team Developer 2000 é composto.

Aos programadores que já possuem alguma experiência com versões anteriores do SQLWindows, este livro faz a ponte entre o Gupta SQLWindows e o Centura SQLWindows/32. Usuários do Team Windows, Edit Windows e Report Windows, poderão conhecer suas novas versões, a evolução dos produtos. Os novos conceitos e novos recursos da ferramenta, como por exemplo as extensões para web e o suporte aos componentes COM também devem ser de grande valia aos desenvolvedores já familiarizados com o Centura Team Developer.

A quem se destina

Analistas de sistemas, programadores, estudantes e profissionais, mesmo de outras áreas, que desejam desenvolver aplicações para os ambientes Windows95 ou para a Internet.

Pré-requisitos

Este livro assume que o leitor tenha conhecimentos em :

Utilização do Microsoft Windows95, Windows98 ou WindowsNT, sua interface e conceitos. A utilização do mouse. Alguma linguagem de programação como Basic, Clipper, Cobol ou C. Bancos de dados relacionais Linguagem SQL E-mail, Internet e redes locais.

Programando com o Centura Team Developer 2000

A Organização

No decorrer do livro algumas convenções tipográficas e notações são utilizadas, a saber:

Notação

Explicação

 

você

O

desenvolvedor ( programador ). Você que está lendo este livro e

construindo uma aplicação.

 

usuário

A

pessoa ( usuário final ) que utilizará o aplicativo que você ( o

desenvolvedor ) está construindo.

 

aplicação

A

tela ou conjunto de telas que você está desenvolvendo.

 

palavras

em

Negrito será utilizado para destacar os termos próprios do CTD, como por exemplo:

negrito

- nomes dos menus que você deve selecionar - File | New

 

- comandos e funções do SQLWindows, quando citados no decorrer

de

alguma explicação ou instrução - Call SalQuit( )

 

-

os tipos de objetos do SQLWindows - data field, form window.

palavras em itálico

Os

nomes

das

variáveis

definidas

pelo

programador

-

sNome,

nCodigo, bOk

 

palavras

escritas

A

representação do código fonte do programa, listagens ou trechos de

assim

programas, são sempre mostrados com a fonte alterada para Courier

New tamanho 8.

 

On SAM_Create Call SalCenterWindow ( hWndForm )

 

nomes de arquivos escritos em letras MAIÚSCULAS

Os nomes dos arquivos citados em letras maiúsculas são arquivos que devem ser considerados exatamente como está escrito. Por exemplo:

SQL.INI

 
 

QCKDVC.APL

 

Alt+4

Seqüência de teclas de atalho onde você deve manter pressionada a tecla à esquerda do sinal +, para então pressionar a tecla indicada à direita. Por exemplo:

Alt+4 - pressione a tecla Alt, mantenha pressionada enquanto pressiona a tecla 4.

TRUE

Constantes

lógicas

definidas

internamente

pelo

próprio

FALSE

SQLWindows/32.

 

A constante TRUE possui valor 1 e significa sucesso numa operação.

A constante FALSE possui valor 0 e significa falha em determinada

operação.

 

Obs:

Alguma observação importante que você necessita saber.

 

Atenção:

Uma informação vital. Extremamente importante. Seu desconhecimento pode causar um resultado indesejado.

Programando com o Centura Team Developer 2000

INDICE

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000

Capítulo 1

Apresentação do Centura SQLWindows/32

Neste capítulo você é apresentado ao ambiente de desenvolvimento do Centura Team Developer, o SQLWindows/32. Nele são mostrados os componentes do ambiente de desenvolvimento, entre os quais o Outline, o Customizer, o Attribute Inspector, a paleta de Controles, o ActiveX Explorer, as barras de ferramentas e todos os menus do

SQLWindows/32.

É de fundamental importância que o programador esteja familiarizado com este ambiente, isso o ajudará no trabalho com a ferramenta.

Programando com o Centura Team Developer 2000

O Ambiente de Desenvolvimento

Apresentamos o ambiente de desenvolvimento do Centura Team Developer, onde o programador constrói a aplicação. No Centura Team Developer o ambiente de desenvolvimento é chamado de Centura SQLWindows/32, no qual o programador define suas classes, organiza as telas da aplicação, os seus objetos, codifica a aplicação e monta a estrutura do banco de dados.

a aplicação e monta a estrutura do banco de dados. O Ambiente de desenvolvimento, Centura SQLWindows/32.

O Ambiente de desenvolvimento, Centura SQLWindows/32.

O Centura SQLWindows/32 é dividido em duas partes, conforme ilustrado acima :

Quadro esquerdo Onde é realizada a navegação pela aplicação, listando os nomes de todos os seus componentes, porém, nenhuma codificação da aplicação pode ser aqui efetuada. Sua principal função é mostrar, de forma organizada, o conteúdo da sua aplicação. O item que for selecionado neste quadro é mostrado em detalhes no quadro direito.

Quadro direito Local em que é escrito o programa, o código fonte. O quadro direito sempre mostra os detalhes do item que estiver selecionado no quadro esquerdo, para tanto, possui uma barra de pastas localizadas na sua parte inferior. O nível de detalhes mostrados depende da pasta selecionada.

Para cada pasta selecionada, um nível de detalhes do item especificado no quadro esquerdo é visualizado.

Programando com o Centura Team Developer 2000

Na próxima figura você pode observar a pasta Layout sendo utilizada.

figura você pode observar a pasta Layout sendo utilizada. O objeto sendo visualizado através da pasta

O objeto sendo visualizado através da pasta Layout.

Utilizando as pastas localizadas no quadro direito do Centura SQLWindows/32, você pode acessar rapidamente os diversos locais de um programa fonte.

Observe que a figura abaixo mostra o mesmo componente, porém, visto através da pasta Variables, que apresenta apenas as variáveis deste objeto. Na imagem que se segue, nenhuma variável foi definida, mas quando o for, será nesta área do programa fonte.

mas quando o for, será nesta área do programa fonte. O mesmo objeto, porém, sendo mostrado

O mesmo objeto, porém, sendo mostrado através da pasta Variables.

A próxima figura mostra a visualização do mesmo objeto, contudo, visto através da pasta Parameters, que apresenta ao programador apenas os parâmetros que o objeto selecionado no quadro esquerdo possui. Na imagem abaixo nenhum parâmetro foi definido.

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 Os parâmetros do objeto sendo visualizados pela pasta Parameters

Os parâmetros do objeto sendo visualizados pela pasta Parameters.

A próxima figura mostra a visualização do mesmo objeto, porém, visto através da pasta

Actions, que apresenta ao programador as ações do objeto selecionado no quadro esquerdo. Na imagem abaixo nenhuma ação foi codificada para este objeto.

abaixo nenhuma ação foi codificada para este objeto. As ações do objeto sendo visualizadas pela pasta

As ações do objeto sendo visualizadas pela pasta Actions.

A próxima figura mostra a visualização do mesmo objeto, porém, visto através da pasta

Components, que apresenta ao programador todos os componentes do objeto selecionado

no quadro esquerdo.

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 O conteúdo do objeto sendo visualizado pela pasta Components

O conteúdo do objeto sendo visualizado pela pasta Components.

A próxima figura mostra a visualização do mesmo objeto, porém, visto através da pasta Outline, que apresenta ao programador todo o código fonte do objeto selecionado no quadro esquerdo, o código fonte engloba o conteúdo de todas as outras pastas mostradas no quadro direito.

de todas as outras pastas mostradas no quadro direito. Todo o código fonte do objeto sendo

Todo o código fonte do objeto sendo visualizado pela pasta Outline.

A próxima figura mostra a visualização da descrição do objeto, porém, visto através da pasta Description. A descrição do objeto é qualquer comentário feito a respeito de algum objeto. Na imagem abaixo nenhuma descrição foi feita.

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 A descrição do objeto sendo visualizada através da pasta

A descrição do objeto sendo visualizada através da pasta Description.

Explore cada elemento destas pastas. Quanto mais familiarizado com elas você estiver, maior será sua facilidade de locomoção através do Centura SQLWindows/32, ajudando a melhorar sua produtividade.

Estas pastas localizadas na parte inferior do quadro direito podem variar de acordo com o item escolhido no quadro esquerdo. Observe na próxima figura que algumas das pastas mostradas acima desapareceram para dar lugar a novas pastas relativas ao item escolhido no quadro esquerdo, que neste caso é o item Application1.

no quadro esquerdo, que neste caso é o item Application1. As constantes da aplicação estão sendo

As constantes da aplicação estão sendo visualizadas através da pasta Constants.

Além das pastas que permitem que sejam visualizadas partes da sua aplicação, contamos ainda com os menus de contexto, que podem ser acionados em praticamente todos os pontos do programa. Esses menus possuem um item chamado Open View que permite um maior nível de detalhe na visão de parte do código fonte.

Programando com o Centura Team Developer 2000

Outline

O Outline é o código fonte propriamente dito. Nele ficam armazenadas as instruções da linguagem SAL (a

linguagem de programação do Centura Team Developer). O Outline do Centura SQLWindows/32 é uma poderosa maneira de se organizar o código fonte, pois, permite que cada item tenha o seu lugar apropriado, impossibilitando a utilização de um objeto num local não adequado para ele. A definição de variável tem seu local específico, assim como a definição das funções, classes e todos os demais elementos que compõem o programa SQLWindows.

Observe que cada linha do programa é iniciada pelo símbolo que nos faz lembrar um diamante. Este diamante assume duas características, cheio e vazio, ou preto e branco. O diamante cheio (ou preto) indica

que existem linhas de código subordinadas à linha visualizada. Clique duas vezes no diamante cheio para que

as linhas subordinadas sejam expandidas, e então visualizadas. Uma linha iniciada por um diamante vazio, indica que não há linhas subordinadas.

O clique duplo numa linha iniciada por um diamante cheio irá expandir as linhas subordinadas, caso estas

estejam comprimidas. Se linhas já estiverem expandidas, um clique duplo tem efeito contrário, ou seja, faz com que a seção toda seja comprimida.

ou seja, faz com que a seção toda seja comprimida. Os diamantes servem para informar se

Os diamantes servem para informar se a linha de código possui linhas subordinadas.

Você pode também utilizar algumas teclas de atalho:

Tecla

Função

+

expande um nível do outline ( equivalente a um clique duplo numa linha comprimida ).

*

expande todos os níveis do outline, a partir da linha selecionada.

-

comprime toda a linha ( equivalente a um clique duplo numa linha expandida ).

/

comprime todos os níveis do outline inteiro.

Programando com o Centura Team Developer 2000

À primeira vista, o Outline contém as seguintes seções principais :

Libraries

Outline contém as seguintes seções principais : Libraries Seção Libraries. Nesta seção , são definidos os

Seção Libraries.

Nesta seção, são definidos os nomes dos arquivos referentes às bibliotecas que o aplicativo fará uso. O Centura SQLWindows/32 diferencia o fonte através de cores, para indicar o fonte incluído e o fonte normal. Essas cores podem ser configuradas pelo programador, mediante o menu Tools | Preferences.

A figura acima ilustra a definição de várias bibliotecas numa aplicação. Observe que a

primeira biblioteca utilizada é identificada pela palavra chave Dynalib, enquanto que as demais são identificadas pela palavra File Include. Esses dois tipos de bibliotecas são

explicadas abaixo:

Outros programas fontes em Centura

Na figura acima, são demonstrados através das linhas de código subordinadas à seção Libraries e iniciadas pela palavra chave File Include, correspondentes a bibliotecas SQLWindows em formato não compilado.

A partir do momento em que essa biblioteca é incluída, todo o conteúdo desse arquivo

passa a estar ‘visível’ no arquivo ‘hospedeiro’, assim como todos os objetos, funções e até mesmo as bibliotecas que lá foram inseridas. Você pode construir suas funções, janelas, classes genéricas, elaborando assim, suas próprias bibliotecas.

As bibliotecas não compiladas normalmente possuem a extensão *.APL mas podem ter extensão *.APP.

Arquivos fonte Centura já compilados, as Dynalibs

Programando com o Centura Team Developer 2000

Também na figura acima, são representados pelas linhas de código subordinadas à seção Libraries e iniciadas pela palavra chave Dynalib, correspondentes a bibliotecas SQLWindows em formato compilado.

No caso das Dynalibs, apenas estarão disponíveis no arquivo ‘hospedeiro’ os objetos top level ( janelas ) e as funções globais. Uma das grandes vantagens na utilização das Dynalibs se dá no momento da compilação, na carga do programa e na atualização, uma vez que a Dynalib já está compilada. Isso trás um ganho de performance durante o desenvolvimento da aplicação.

As bibliotecas compiladas possuem a extensão *.APD.

Consulte o Capítulo 12 Distribuição do Produto Final, para saber todos os detalhes sobre as Dynalibs.

Global Declarations

todos os detalhes sobre as Dynalibs. Global Declarations Seções subordinadas à Global Declarations . Na seção

Seções subordinadas à Global Declarations.

Na seção Global Declarations ficam todas as declarações que serão visualizadas por toda a aplicação. As seções subordinadas à Global Declarations são :

Windows Defaults

Aqui ficam todas as definições das características iniciais dos objetos visuais. Características como estilo, cor, tipo e tamanho da fonte, e cor do fundo, são definidas nesta seção.

Formats

Onde são definidos os formatos para os campos, os quais podem ser :

Programando com o Centura Team Developer 2000

Date/Time formatos para campos de data e hora. Input define a forma como será feita a entrada dos dados. Number - formatos para campos numéricos.

External Functions

O SQLWindows/32 suporta a utilização de qualquer função definida por outro fornecedor de software. A definição dessas funções vindas de DLLs, ou de outros programas executáveis, é feita na seção External Functions. Funções escritas em outras linguagens e disponibilizadas em DLLs devem ser declaradas conforme o exemplo abaixo, onde a função SWinFindWindow do próprio SQLWindows/32 é definida :

SWinFindWindow do próprio SQLWindows/32 é definida : Declaração de uma função externa. Observe que o valor

Declaração de uma função externa.

Observe que o valor do item Export Ordinal pode ser sempre 0 (zero). Na seção Returns deve ser definido o tipo do valor que a função retorna. Assim como na seção Parameters deve ser definido o tipo de cada um dos parâmetros que a função precisa para funcionar corretamente.

Constants

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 Declaração de algumas constantes. As constantes do programa devem

Declaração de algumas constantes.

As constantes do programa devem ser definidas na seção Constants, e podem ser:

System

User

Enumerations

As constantes System e User podem ser dos tipos de dados Boolean, Date/Time, Number ou String, e você deve utilizar essas seções para melhor administrar suas constantes.

Enumerations são coleções de constantes numéricas que são utilizadas em servidores COM.

O SQLWindows automaticamente cria uma GUID a cada Enumeration definida.

Como padrão, cada Enumeration possui um valor que inicia em 0 (zero), sendo incrementado de 1 (um) a cada elemento. O valor do incremento pode ser alterado, bem como duplicado.

Resources

Os recursos visuais da aplicação definidos nesta seção passam a fazer parte do executável final gerado pelo Centura SQLWindows/32. Ou seja, cursores, figuras tipo bitmap e ícones são incluídos no executável, facilitando a distribuição do aplicativo.

Variables

executável, facilitando a distribuição do aplicativo. Variables Declaração de algumas variáveis. Página PAGE 582

Declaração de algumas variáveis.

Programando com o Centura Team Developer 2000

Na seção Variables são definidas as variáveis que serão visíveis em toda a aplicação. As variáveis podem ser dos tipos de dado Boolean, Date/Time, File Handle, Long String, Number, Session Handle, Sql Handle, String, Window Handle e dos tipos definidos pelo programador.

Você verá como trabalhar com tipos de dados definidos pelo programador no capítulo 5.

Internal Functions

Funções internas são funções escritas na própria linguagem SAL. As funções definidas na seção Internal Functions são visíveis em todo o aplicativo, por todos os módulos (funções, objetos, classes etc.). Posteriormente, também é possível fazer a geração de DLLs das funções internas, utilizando o Centura Object Compiler.

Named Menus

Named Menus são definições de estruturas de menus que serão posteriormente utilizadas na aplicação. Os menus definidos na seção Named Menus são visíveis em todo o aplicativo e podem ser usados, a qualquer momento, por qualquer módulo da aplicação.

Class Definitions

Na seção Class Definitions são definidas todas as Classes Definidas pelo Usuário. Para cada objeto visual existe uma classe correspondente. Basicamente, os tipos das classes disponíveis são:

ActiveX Class

Background Text Class

Check Box Class

Child Table Class

CoClass

Column Class

COM Proxy Class

Combo Box Class

Custom Control Class

Data Field Class

Dialog Box Class

Form Window Class

Frame Class

Functional Class

General Window Class

Group Box Class

Horizontal Scroll Bar Class

Interface

Line Class

List Box Class

MDI Window Class

Multiline Field Class

Option Button Class

Picture Class

Pushbutton Class

Radio Button Class

Table Window Class

Vertical Scroll Bar Class

   

Applications Actions

Nesta seção são codificadas as ações mais genéricas para a aplicação. Por exemplo, o início e término da aplicação e o tratamento de erros genéricos.

O Customizer

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 Customizer, mostrando as propriedades de um form window e
Programando com o Centura Team Developer 2000 Customizer, mostrando as propriedades de um form window e

Customizer, mostrando as propriedades de um form window e de uma child table.

O Customizer é o componente que permite ao desenvolvedor visualizar e alterar todas as características dos objetos da aplicação. Cada objeto possui suas próprias características, algumas podem ser alteradas através do customizer. Características como o nome do objeto, seu título, cor, tipo e tamanho da fonte, informações sobre o tipo de dado armazenado no objeto, máscara de formatação e de entrada de dados, entre outras.

É possível ter acesso ao customizer de duas formas :

Através do Outline. Basta clicar uma vez, com o botão esquerdo do mouse, no ícone localizado à esquerda de cada um dos objetos. O objeto que não dispor esse ícone não possui características passíveis de alteração pelo Customizer.

Através da Visualização dos Objetos. Estando em Preview Mode, basta clicar duas vezes sobre o objeto desejado para que o customizer seja mostrado.

É importante observar que, mesmo quando o programa está sendo executado, Run-Time Mode, é possível visualizar as características dos objetos. Obviamente, não é permitido alterar nenhuma característica em Run-Time.

Programando com o Centura Team Developer 2000

O Attribute Inspector

O Attribute Inspector possui praticamente as mesmas características apresentadas no customizer, com uma diferença básica: o Attribute Inspector permanece ativo até que você o desative. O customizer permanece ativo apenas enquanto você visualiza as características do objeto, com isso, você pode selecionar vários objetos sem que seja necessário ativar novamente o Attribute Inspector. Com o Attribute Inspector você pode visualizar as mesmas propriedades acessíveis pelo Customizer.

Observe as propriedades de um form window sendo visualizadas através do Attribute Inspector:

sendo visualizadas através do Attribute Inspector : Attribute Inspector mostrando as propriedades de um form

Attribute Inspector mostrando as propriedades de um form window.

Para acionar o Attribute Inspector pressione, simultaneamente, as teclas Alt 3.

Você precisa decidir se vai utilizar o Customizer ou o Attribute Inspector, pois, os dois não podem ser utilizados simultaneamente. Essa opção deve ser configurada através do menu Tools | Preferences, acionando a pasta Presentation.

Tools | Preferences , acionando a pasta Presentation . Na janela de configuração Preferences você escolhe

Na janela de configuração Preferences você escolhe entre utilizar o Customizer ou o Attribute Inspector.

Programando com o Centura Team Developer 2000

A Paleta de Controles

Todos os objetos visuais tipo child do Centura SQLWindows/32, os quais estão disponíveis para que o desenvolvedor utilize em sua aplicação, encontram-se agrupados na Paleta de Controles. Sempre que um dos botões da Paleta de Controles é selecionado, os nomes das suas subclasses (se existir) são mostrados no listbox localizado na parte inferior da Paleta de Controles.

A Paleta de Controles pode ser acionada de três maneiras diferentes:

pressionando simultaneamente as teclas Alt 4.

acionando o menu Tools | Controls .

clicando no ícone Controls localizado na própria barra de ferramentas do SQLWindows.

localizado na própria barra de ferramentas do SQLWindows. O ícone Controls. A Paleta de Controles é

O ícone Controls.

A Paleta de Controles é bastante flexível, permitindo ao desenvolvedor configurá-la da

forma que for mais agradável. Isso torna o desenvolvimento extremamente confortável.

A Paleta de Controles possui três grupos de botões, cada grupo representa um tipo de

objeto que está disponível para o programador. Os três tipos são:

No primeiro grupo de botões existe um botão para cada tipo de Objeto Child nativo do SQLWindows.

No segundo grupo de botões estão os objetos tipo Custom Controls. Existe um botão genérico para os Custom Controls, um botão que ativa os componentes do SQLWindows para construção de aplicativos de bancos de dados e um terceiro botão que aciona o componente para construção de gráficos de negócios.

Inicialmente o terceiro grupo mostra apenas dois botões, o primeiro serve para incluir na aplicação um controle ActiveX genérico. O segundo botão representa o Controle ActiveX do Report Builder.

botão representa o Controle ActiveX do Report Builder. Controles disponíveis no Centura SQLWindows/32. O segundo e

Controles disponíveis no Centura SQLWindows/32.

O segundo e terceiro grupo de botões da barra de Controles podem ser personalizados pelo

programador, basta arrastar e soltar um objeto no local desejado da barra de Controles.

A próxima figura ilustra a personalização do grupo de objetos ActiveX da Paleta de

Controles.

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 Arraste um controle ActiveX muito utilizado para o grupo
Programando com o Centura Team Developer 2000 Arraste um controle ActiveX muito utilizado para o grupo
Programando com o Centura Team Developer 2000 Arraste um controle ActiveX muito utilizado para o grupo

Arraste um controle ActiveX muito utilizado para o grupo dos controles ActiveX na Paleta de Controles.

Cada ícone mostrado na Paleta de Controles representa um tipo de objeto no Centura SQLWindows/32. Quando um tipo de objeto é escolhido, as diversas classes desse objeto são mostradas numa lista na própria Paleta de Controles. Então, basta escolher uma das classes e clicar na janela de layout, para que um objeto do tipo e classe escolhidos seja inserido na aplicação.

As próximas figuras ilustram a inclusão de um objeto da Paleta de Controles na aplicação.

1 O objeto escolhido na paleta Controls é o pushbutton.

1 O objeto escolhido na paleta Controls é o pushbutton. 2 Movimente o mouse para o

2 Movimente o mouse para o local onde você deseja colocar o objeto. Observe que o ponteiro do mouse assume a forma do objeto escolhido na paleta Controls.

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 3 Quando encontrar a localização ideal, clique uma vez

3 Quando encontrar a localização ideal, clique uma vez com o botão esquerdo do mouse. Dessa forma, o objeto é “colocado” na sua aplicação. Automaticamente o ponteiro do mouse volta à sua aparência normal e o cursor de edição de texto é posicionado no objeto que foi inserido na aplicação.

é posicionado no objeto que foi inserido na aplicação. No caso do objeto escolhido neste exemplo,

No caso do objeto escolhido neste exemplo, que é um pushbutton, o texto que você escrever será o título do objeto.

4 Após dar um título ao objeto, e teclando-se ENTER, o objeto assume a aparência mostrada abaixo. Os pequenos quadrados posicionados ao redor do objeto indicam que o objeto está selecionado.

ao redor do objeto indicam que o objeto está selecionado. 5 Estando selecionado, é possível modificar

5 Estando selecionado, é possível modificar suas características através do Attribute Inspector.

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 6 Enquanto um objeto está selecionado, é possível utilizar

6

Enquanto um objeto está selecionado, é possível utilizar o mouse para alterar suas dimensões.

é possível utilizar o mouse para alterar suas dimensões. Clique num dos quadrados que envolve o
é possível utilizar o mouse para alterar suas dimensões. Clique num dos quadrados que envolve o
é possível utilizar o mouse para alterar suas dimensões. Clique num dos quadrados que envolve o

Clique num dos quadrados que envolve o objeto e arraste para o tamanho desejado.

O

objeto pode ser excluído de duas formas:

Selecione o objeto e pressione a tecla Delete.

Selecione o objeto, clique com o botão direito do mouse para acionar o menu de contexto. Acione o item de menu chamado Delete.

o menu de contexto. Acione o item de menu chamado Delete. Exclusão de um objeto. O

Exclusão de um objeto.

O Assistente de Código

A

principal função do Assistente de Código do Centura SQLWindows/32 é fazer com que

o

programador digite o mínimo possível durante o desenvolvimento da aplicação. Saber

utilizar o Assistente de Código é de extrema importância para obter maior produtividade no

desenvolvimento.

Programando com o Centura Team Developer 2000

O Assistente de Código é um objeto que é sempre mostrado por cima de todas as outras

janelas do Centura SQLWindows/32, podendo ser posicionado em qualquer local da tela e ter suas dimensões alteradas.

O Assistente de Código pode ser acionado de três maneiras diferentes:

pressionando simultaneamente as teclas Alt 3.

acionando o menu Tools | Coding Assistant .

clicando no ícone Coding Assistant localizado na própria barra de ferramentas do SQLWindows.

localizado na própria barra de ferramentas do SQLWindows. O ícone Coding Assistant. O Assistente de

O

ícone Coding Assistant.

O

Assistente de Código é sensitivo à posição do cursor no outline, ou seja, dependendo do

local onde o cursor estiver posicionado no outline, o Assistente de Código mostra os

possíveis valores que podem ser a esse adicionados.

Além disso, o Assistente de Código agrupa as informações por categorias, conforme mostrado abaixo:

as informações por categorias , conforme mostrado abaixo: O Assistente de Código classifica as informações
as informações por categorias , conforme mostrado abaixo: O Assistente de Código classifica as informações
as informações por categorias , conforme mostrado abaixo: O Assistente de Código classifica as informações

O Assistente de Código classifica as informações possíveis de serem adicionadas ao outline, podendo ser:

Comandos SAL

Mensagens

Funções SAL

Funções do Usuário

Funções do Objeto

Funções definidas em Objetos do Usuário

Variáveis

Variáveis do Sistema

Constantes

Nomes dos Objetos da Aplicação

Resources

Parâmetros

Classes Base

Programando com o Centura Team Developer 2000

A grande utilidade do Assistente de Código é melhorar a produtividade no desenvolvimento, evitando erros de digitação, pois, não há como escrever o nome de uma função errado, errar a quantidade e tipos de dados dos parâmetros, usar uma variável não definida ou não permitida naquele local; uma vez que, o programador não as escreve efetivamente, elas são mostradas no Assistente de Código e, com um clique, são automaticamente transportadas para o código fonte. Caso o programador precise fazer referência a um determinado objeto, não é necessário saber exatamente o seu nome, basta escolhê-lo no Assistente de Código.

As próximas figuras ilustram a escrita de código utilizando-se o Assistente de Código.

1 O Assistente de Código é sensitivo. Baseia-se no item selecionado do outline.

é sensitivo. Baseia-se no item selecionado do outline. 2 Observe a figura abaixo, como o item

2 Observe a figura abaixo, como o item do outline que está selecionado é a seção Application Actions, o Assistente de Código relaciona os eventos que podem ser adicionados a essa seção.

Clique duas vezes no item “On SAM_AppStartup” e observe que ele é automaticamente inserido no outline.

e observe que ele é automaticamente inserido no outline. 3 Neste momento, o item do outline

3 Neste momento, o item do outline que está selecionado é o evento “SAM_AppStartup” (que acabou de ser inserido) . A partir desse ponto pode ser inserido no outline dois tipos de elementos, um comando ou outro evento. Por esse motivo o Assistente de Código mostra dois listboxes. No listbox superior estão os elementos que podem ser adicionados no mesmo nível do item selecionado no outline, enquanto que no listbox inferior estão os elementos que podem ser

Programando com o Centura Team Developer 2000

adicionados no interior da seção selecionada no outline.

Neste exemplo vamos adicionar um elemento no interior da seção selecionada no outline, portanto, clique duas vezes no item chamado “Call”, mostrado no listbox inferior.

no item chamado “Call”, mostrado no listbox inferior. 4 O comando “Call” foi inserido no outline

4 O comando “Call” foi inserido no outline e o cursor de edição de texto foi posicionado automaticamente no final da mesma linha do comando inserido. Neste momento você pode digitar o restante do comando diretamente no outline, ou pode continuar utilizando as facilidades oferecidas pelo Assistente de Código .

as facilidades oferecidas pelo Assistente de Código . 5 No combobox localizado na parte superior do

5 No combobox localizado na parte superior do Assistente de Código, selecione o item “Sal Functions”. Isso fará com que todas as funções do SQLWindows sejam disponibilizadas para que você possa escolher uma que será incluída no seu programa fonte.

sejam disponibilizadas para que você possa escolher uma que será incluída no seu programa fonte. Página

Programando com o Centura Team Developer 2000

6 Logo abaixo do combobox onde você escolheu “Sal Functions” está um datafield que trabalha em conjunto com a lista das funções. Comece a digitar o nome da função desejada, que a mesma será localizada na lista das funções. Neste exemplo utilizaremos a função chamada SalCreateWindow, que serve para fazer com que um determinado form window seja criado na aplicação. Inicie a digitação do nome da função e observe que a cada letra digitada o Assistente de Código localiza a função que mais se pareça com o texto digitado. Digite apenas “SalCr”, pois isso é o suficiente para que o Assistente de Código selecione a função correta, conforme mostrado na figura abaixo. Neste momento você pode teclar ENTER para que a função seja inserida no outline.

teclar ENTER para que a função seja inserida no outline. 7 Quando o Assistente de Código

7 Quando o Assistente de Código insere uma função no outline, seus eventuais parâmetros são selecionados (conforme a figura abaixo). A função utilizada neste exemplo possui dois parâmetros, os seus tipos de dados são mostrados no outline.

Isso facilita a escrita do programa, pois, você já sabe (sem que seja necessário consultar a documentação online) que tipos de variáveis/objetos devem ser utilizados.

que tipos de variáveis/objetos devem ser utilizados. 8 Clique duas vezes no primeiro parâmetro, “Template”.

8 Clique duas vezes no primeiro parâmetro, “Template”. Um tipo de dado Template refere-se a um nome de objeto. Neste caso é o nome do objeto a ser criado.

Em seguida selecione “Windows Names” no Assistente de Código para que sejam mostrados os nomes de todos os objetos.

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 9 Clicando duas vezes no nome do objeto desejado,

9 Clicando duas vezes no nome do objeto desejado, o Assistente de Código moverá o nome escolhido para a região selecionada no outline.

o nome escolhido para a região selecionada no outline. 10 Clique duas vezes no nome “Window

10 Clique duas vezes no nome “Window Handle” que indica o tipo de dado do próximo parâmetro da função SalCreateWindow.

Depois selecione “System Variables” nas categorias do Assistente de Código. Isso fará com que sejam mostradas as variáveis do SQLWindows.

fará com que sejam mostradas as variáveis do SQLWindows. 11 Selecione “hWndNULL” no Assistente de Código

11 Selecione “hWndNULL” no Assistente de Código, clicando duas vezes para que seja transportada para o outline na posição correta.

Programando com o Centura Team Developer 2000

12

Programando com o Centura Team Developer 2000 12 Dessa forma, uma linha de comando no outline

Dessa forma, uma linha de comando no outline do SQLWindows foi montada. Pressione ENTER para encerrar a digitação da linha e para que o Assistente de Código identifique a posição do outline que está selecionada, mostrando os itens que podem ser adicionados.

selecionada, mostrando os itens que podem ser adicionados. É deste modo que escrevemos programas em linguagem

É deste modo que escrevemos programas em linguagem SAL no outline do SQLWindows. Você pode escrever seus programas sem utilizar o Assistente de Código, porém, é bem mais prático utilizá-lo na escrita do código SAL.

Você

simultaneamente.

pode

ativar/desativar

O Database Explorer

o

Assistente

de

Código

pressionando

as

teclas

Alt

2

pode ativar/desativar O Database Explorer o Assistente de Código pressionando as teclas Alt 2 Página PAGE

Programando com o Centura Team Developer 2000

Database Explorer.

A partir do próprio ambiente de desenvolvimento do Centura SQLWindows/32 é possível criar tabelas, visões e índices, fazer consultas e gerar relatórios, sem que seja necessário nenhum conhecimento de SQL. Através da interface amigável do Database Explorer se pode realizar todas essas tarefas típicas de desenvolvimento de sistemas e ainda incluir , alterar e excluir dados nas tabelas.

Assim como todas as ferramentas do Centura Team Developer, o Database Explorer trabalha com todos os tipos de bancos de dados padrões de mercado, de forma transparente.

ActiveX Explorer

Para que você possa analisar o conteúdo dos servidores ActiveX (*.dll, *.exe, *.olb, *.ocx e *.tlb), instalados em sua máquina, o SQLWindows/32 oferece uma ferramenta chamada ActiveX Explorer que, através de suas janelas, proporciona uma visão clara e simples das CoClasses, interfaces, enumerators e eventos, além de uma documentação dos métodos informando os tipos de dado dos seus parâmetros e dos valores de retorno.

Você pode acionar o ActiveX Explorer através do menu Tools | ActiveX Explorer.

Explorer através do menu Tools | ActiveX Explorer . O ActiveX Explorer. As duas figuras acima

O ActiveX Explorer.

do menu Tools | ActiveX Explorer . O ActiveX Explorer. As duas figuras acima ilustram a

As duas figuras acima ilustram a utilização do ActiveX Explorer.

A primeira figura mostra a seleção de um servidor ActiveX sendo feita.

A segunda figura mostra os componentes desse servidor, onde cada elemento possui um checkbox ao seu lado esquerdo. O programador deve selecionar os elementos que deseja utilizar, pois o ActiveX Explorer irá gerar o código SAL equivalente, numa APL separada, aos elementos escolhidos do servidor ActiveX.

Obs : O ActiveX Explorer gera uma APL para o servidor Activex escolhido pelo programador. Se o programador escolher na primeira janela do ActiveX Explorer uma APL (previamente gerada), ao invés de escolher um servidor, o ActiveX Explorer

automaticamente lê a APL escolhida, localiza o servidor ActiveX correspondente e carrega

as informações deste.

Barras de ferramentas

As barras de ferramentas do SQLWindows são mostradas abaixo. As ações dos seus botões são sempre encontradas em algum item de menu.

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 As barras de ferramentas podem ser personalizadas com relação

As barras de ferramentas podem ser personalizadas com relação ao seu conteúdo, tamanho e localização.

Para configurar as barras de ferramentas acione o menu Tools | Toolbars.

As duas figuras mostradas abaixo ilustram as janelas de configurações das barras de ferramentas.

as janelas de configurações das barras de ferramentas. Configuração das barras que estarão
as janelas de configurações das barras de ferramentas. Configuração das barras que estarão

Configuração

das

barras

que

estarão

visíveis

e

do

conteúdo

de

cada

barra

de

ferramentas.

Explorando os menus

Os menus do SQLWindows/32 são mostrados abaixo, seguidos das descrições de cada item. Alguns dos recursos podem não estar disponíveis, dependendo da forma como o produto é instalado.

O Menu File

Menu

Descrição

New

Inicia uma nova aplicação do Centura SQLWindows/32. É aberta a

Página PAGE 582

Programando com o Centura Team Developer 2000

 

caixa de diálogo Template, para que seja escolhido um modelo de aplicação ou para que seja incluído um modelo novo, definido pelo programador. Se você não escolher nenhum modelo e clicar no botão cancel, a caixa de diálogo Template é encerrada e nenhuma aplicação é criada.

Open

Ativa a caixa de diálogo que permite escolher e abrir uma aplicação existente no SQLWindows/32. Através desta caixa de diálogo pode- se optar entre os diversos tipos de aplicações ( apl, app ou apt ). Você pode ter apenas uma aplicação aberta por vez numa instância do SQLWindows/32, mas pode ter diversas instâncias do SQLWindows32 abertas simultaneamente, cada uma com uma aplicação.

Save

Salva a aplicação com o nome atual. Se for um nova aplicação, ainda sem nome, a caixa de diálogo Save As é mostrada, permitindo que você escolha um local e o nome para que a sua aplicação seja gravada. Se você não informar um nome e clicar no botão Cancel, a aplicação não será gravada.

Save As

Salva uma cópia da aplicação atual com um novo nome, solicitado na caixa de diálogo Save As.

Page Setting

Permite acesso às configurações de impressão do Outline: Tipo e tamanho da fonte, títulos do cabeçalho e rodapé, e margens. O outline é impresso exatamente da forma como está apresentado na tela, os itens subordinados são impressos apenas se a seção estiver expandida.

Print

Imprime o Outline de acordo com as configurações feitas no item anterior.

Exit

Fecha o Centura SQLWindows/32. Se existir alguma alteração feita na aplicação, e que ainda não foi gravada, o SQLWindows/32 perguntará se você deseja gravar as alterações antes de sair.

O Menu Edit

Nome

Descrição

Undo, Cut, Copy, Paste e Delete

De acordo com suas funções padrão do Windows.

Insert line

Insere uma linha no Outline a partir do local selecionado.

Comment Items

Marca como comentário o item selecionado. Todas as linhas subordinadas ao item selecionado serão também comentadas. No SQLWindows/32 uma linha comentada é iniciada pelo símbolo de exclamação ( ! ).

Uncomment Items

Tira a marca de comentário do item selecionado.

Outline | Expand One Level

Expande o outline um nível a partir do nível selecionado. Você também pode expandir um nível, clicando duas vezes num diamante cheio que não esteja expandido.

Outline | Collapse

Comprime o outline a partir do nível selecionado. Você também pode comprimir uma seção do outline, clicando duas vezes num diamante cheio que já esteja expandido.

Outline | Expand All Levels

Expande o outline inteiro. Isso pode demandar tempo.

Outline | Collapse Outline

Comprime o outline inteiro. Apenas os objetos top level estarão visíveis.

Outline | Promote

Promove o item selecionado um nível, na hierarquia do outline.

Programando com o Centura Team Developer 2000

Outline | Demote

Rebaixa o item selecionado um nível, na hierarquia do outline.

Outline | Move Up

Move o item selecionado uma linha para cima no outline.

Outline | Move Down

Move o item selecionado uma linha para baixo no outline.

Find

Mostra a janela Find para que você especifique o texto que deseja procurar no outline.

Find Again

Repete a última busca realizada no outline.

Replace

Mostra a janela Replace para que você especifique o texto que deseja procurar e o texto que irá substituí-lo, quando for encontrado.

Properties

Se algum objeto estiver selecionado no quadro esquerdo do SQLWindows/32, o customizer é acionado, mostrando as propriedades do objeto selecionado. Porém, se o primeiro item da árvore de objetos mostrada no quadro esquerdo do SQLWindows/32 estiver selecionado, a caixa de diálogo chamada Properties é ativada, mostrando as estatísticas e as configurações de run-time da aplicação.

O Menu Project

Nome

Descrição

Check Out

Ativa o Team Object Manager para extrair algum componente do repositório.

Check In

Ativa o Team Object Manager para incluir o componente atual no repositório.

Compile

Compila a aplicação. Para cancelar a compilação clique no botão Cancel que é mostrado na caixa de diálogo durante o processo de compilação.

Next Error

Visualiza o próximo erro de compilação, quando a aplicação é compilada e mais de um erro é detectado.

Previous Error

Visualiza o erro de compilação anterior, quando a aplicação é compilada e mais de um erro é detectado.

Execute

Executa a aplicação atual. Se a aplicação não estiver compilada o SQLWindows/32 automaticamente compila a aplicação. Se durante a compilação, nenhum erro for detectado a aplicação é executada.

Register Server

Instala no registro do Window o servidor COM que estiver atualmente aberto no SQLWindows.

Un-Register Server

Remove do registro do Window o servidor COM que estiver atualmente aberto no SQLWindows.

Regenerate GUIDs

 

Build Settings

Mostra a caixa de diálogo chamada Build Settings, onde é configurado o modo como a aplicação será gerada. Você pode especificar que a aplicação será gerada como um executável normal, uma dynalib, uma biblioteca, configuara as opções para uso do Object Compiler para a geração de uma dll, indica o tipo de servidor COM (Local, In-Proc ou MTS) a ser gerado.

Programando com o Centura Team Developer 2000

 

Lembre-se, para que a aplicação gerada possa ser utilizada pelo Object Nationalizer, o check box Enable Resource Editing deve estar marcado.

Build

Efetivamente gera o executável, dynalib, a dll ou o servidor COM, conforme as configurações feitas no menu Build Settings.

O Menu Component

Nome

Descrição

New

Mostra um menu onde você pode escolher um componente a ser adicionado a sua aplicação. Os itens do novo menu que aparecerá dependem de qual item está selecionado no outline. Por exemplo, se o item Classes estiver selecionado no quadro esquerdo do SQLWindows/32, este menu de contexto mostrará os nomes de todas as classes possíveis de serem incluídas à aplicação neste momento.

Wizards

Ativa os Assistentes do SQLWindows/32. Os assistentes aqui disponibilizados dependem da forma como o Centura foi instalado.

ActiveX Wizard

Ativa o assistente para controles ActiveX.

QuickObject Editor

Permite que você relacione uma classe a uma caixa de diálogo que será ativada em tempo de desenvolvimento a partir de uma instância da classe. Essa caixa de diálogo normalmente é utilizada para configurar as propriedades do objeto, propriedades estas que serão utilizadas em tempo de execução. Para explorar mais este recurso consulte o Capítulo 10 - Criando seus próprios QuickObjects.

Menu Editor

Ativa o Assistente de Definições de Menus, para que você possa construir seus menus através de uma interface gráfica.

Go To Item

Carrega numa nova instância do SQLWindows/32 à biblioteca selecionada. As bibliotecas que foram incluídas à aplicação, através da seção Libraries, são mostradas no outline numa cor diferente do restante do código. A qualquer momento essa biblioteca destacada pode ser acionada numa nova instância do SQLWindows/32, basta clicar com o botão direito do mouse numa parte do código da biblioteca, e escolher o item Go To Item no menu de contexto.

Show Item Information

Mostra o nome da biblioteca ao qual o fonte selecionado pertence. As bibliotecas que foram incluídas à aplicação, através da seção Libraries, são mostradas no outline numa cor diferente do restante do código. Para saber a que biblioteca pertence o código selecionado, clique com o botão direito do mouse numa parte do código da biblioteca, e escolha o item Show Item Information no

Página PAGE 582

Programando com o Centura Team Developer 2000

 

menu de contexto.

Refresh Libraries

Inclui novamente todas as bibliotecas definidas na seção Libraries do outline. Faça isso para atualizar o seu programa com a versão mais recente das bibliotecas.

Merge Libraries

Incorpora no programa atual todas as bibliotecas que foram definidas na seção Libraries do outline. Uma vez incluídas, não é possível desfazer essa ação. Todo o código passa a ser uma única aplicação.

Large Icons

Seleciona automaticamente a tab Components, localizada na parte inferior do quadro direito do SQLWindows/32, e mostra os componentes no formato de ícones grandes.

Small Icons

Seleciona automaticamente a tab Components, localizada na parte inferior do quadro direito do SQLWindows/32, e mostra os componentes no formato de ícones pequenos.

List

Seleciona automaticamente a tab Components, localizada na parte inferior do quadro direito do SQLWindows/32, e mostra os componentes no formato de lista.

Details

Seleciona automaticamente a tab Components, localizada na parte inferior do quadro direito do SQLWindows/32, e mostra os componentes em detalhes.

O Menu Layout

Nome

Descrição

Preview Window

Mostra a janela como ela aparecerá ao usuário em tempo de execução. A janela é mostrada "fora" do quadro direito do ambiente do SQLWindows/32. Neste momento você pode clicar num elemento visual mostrado na janela e observar que o elemento clicado é selecionado no outline, dessa forma a localização dos itens no outline é facilitada.

Bring to Front

Traz para cima o item selecionado.

Send to Back

Envia para baixo o item selecionado.

Align to Grid

Alinha os objetos selecionados à grade.

Align Edges

Opções para se configurar o alinhamento dos objetos visuais.

Space Evenly

Opções para se configurar o espaço entre os objetos visuais.

Make Same Size

Opções para se configurar o tamanho dos objetos visuais.

Grid

Liga / Desliga a utilização da grade.

Tab Order

Configura a ordem de tabulação dos objetos visuais.

Show Sample Text

Quando você ativa este item, o SQLWindows/32 mostra nos data fields, combo box, colunas da table window e nos multiline fields, textos demonstrando os dados nos objetos. Isso é muito útil para que você saiba o tamanho necessário para cada objeto.

Show Design Scroll Bars

Mostra as barras de rolagem em tempo de design, nas laterais dos objetos form window e table window.

Show Hidden Windows

Faz com que os objetos configurados como invisíveis

Programando com o Centura Team Developer 2000

possam ser visualizados. Essa configuração só é válida em tempo de design. Quando a aplicação

possam ser visualizados. Essa configuração só é válida em tempo de design. Quando a aplicação é executada, os objetos invisíveis não são mostrados.

O Menu Debug

Nome

Descrição

Go

Quando em modo de design executa a aplicação, quando em modo de run-time retorna ao modo de design.

Stop

Interrompe a execução da aplicação saindo do modo de execução, retornando ao SQLWindows/32.

Continue

Continua a execução da aplicação quando em debug- mode.

Break

Interrompe a execução da aplicação na linha que está

sendo executada, e permite entrar em modo de depuração

da

aplicação.

Step Into

Executa a próxima linha de comando e retorna o controle ao SQLWindows/32. Se o comando for uma função, a primeira linha desta função é selecionada, e você pode continuar acompanhando passo-a-passo a execução da função. No caso de funções do próprio SQLWindows/32,

funções externas, o procedimento é semelhante ao descrito no item Step Over.

e

Step Over

Executa a próxima linha de comando e retorna o controle ao SQLWindows/32. Se o comando for uma função, o SQLWindows/32 executa todos os comandos no seu interior, e posiciona na linha imediatamente posterior.

Breakpoints | Toggle

Se a linha atual do outline for um breakpoint, ao ser acionado este item a linha deixará de ser um breakpoint, e

a linha não for um breakpoint passará a ser. Quando o SQLWindows/32 está executando a aplicação, ele pára a execução entrando em modo de depuração assim que encontrar uma linha marcada como breakpoint.

se

Breakpoints | Clear All

Desmarca todas as linhas do outline que estiverem marcadas como breakpoint.

Breakpoints | Disable All

Desabilita todos os breakpoints configurados.

Breakpoints | Enable All

Habilita todos os breakpoints que foram anteriormente desabilitados.

No Animate

Não mostra as linhas de código durante a execução.

Slow Animate

Mostra as linhas de código, destacando-as, durante a execução em modo lento. O Intervalo de segundos é configurado na caixa de diálogo Preferences.

Fast Animate

Mostra as linhas de código, destacando-as, durante a execução em modo rápido.

Playback

Permite que você depure um servidor COM da mesma forma que uma aplicação normal.

Playback rewind

Permite que você depure um servidor COM da mesma forma que uma aplicação normal.

Programando com o Centura Team Developer 2000

O Menu Database

O menu Database só é mostrado quando o Database Explorer , que é acionado através do menu Tools | Database Explorer, está sendo utilizado.

Nome

Descrição

Open Database Explorer

Executa o Database Explorer.

New

Permite a criação de nova Tabela, Índice, Store Procedure, Store Procedure Package ou Banco de Dados.

SQL Script

Ativa o SQLTalk.

Table

Comandos para edição, manutenção e filtro nos dados da tabela selecionada.

Stored Procedure

Ativa o editor de stored procedures. Este item depende muito do tipo de banco de dados aberto no Database Explorer.

Query

Comandos para a criação de uma nova consulta ou abertura de uma consulta já existente.

Add to list

Adiciona um novo Banco de Dados à relação já existente.

Disconnect

Desconecta do banco de dados.

View System Tables

Visualiza as tabelas do sistema. (Catálogo)

Close Database Explorer

Encerra a execução do Database Explorer.

O Menu Tools

Nome

Descrição

Users Tools

Mostra uma caixa de diálogo que lhe permite configurar as ferramentas mostradas no menu Tools. Você pode personalizar a barra de menu Tools adicionando itens de menu.

ToolBars

Permite que você escolha quais barras de ferramentas do SQLWindows estarão visíveis ou não. Você pode também criar suas próprias barras de ferramentas personalizando os botões de cada uma. Por exemplo, você pode montar uma barra de ferramentas nova pessoal, com os comandos do SQLWindows mais utilizados por você.

Preferences

Ativa a janela de Propriedades do Centura SQLWindows/32, onde é possível configurar o path default, o intervalo de tempo utilizado no Debug Slow Animate, os valores para o Grid, os tipos e cores das fontes utilizadas no SQLWindows/32 para representar comentários no programa fonte e itens incluídos, configura o assistente de código, customizer e attribute inspector.

Output

Visualiza a janela de Output, onde são mostrados os erros e avisos ocorridos na compilação.

Coding Assistant

Visualiza o Assistente de Código.

Attribute Inspector

Visualiza o Inspetor dos Atributos.

Programando com o Centura Team Developer 2000

Controls

Visualiza a Paleta de Controles.

Variables

Em modo de Debug, mostra a janela de variáveis.

Call Stack

Em modo de Debug, mostra a janela com a seqüência de objetos e eventos executados.

Messages

Em modo de Debug, mostra a janela com a pilha de mensagens em execução.

Expressions

Em modo de Debug, mostra uma janela onde é possível avaliar o conteúdo dos objetos, das variáveis e os valores retornados pelas funções.

Database Explorer

Inicia o Database Explorer.

ActiveX Explorer

Inicia o ActiveX Explorer.

Report Builder

Executa o gerador de relatórios Report Builder. Consulte o Capítulo 11 O Report Builder, para saber mais sobre esta ferramenta.

Team Object Manager

Executa o gerenciador de projetos Team Object Manager.

Browse All Classes

Executa o browser gráfico das classes, mostrando a hierarquia e estrutura das classes, graficamente.

Diff / Merge Tool

Executa o aplicativo Diff/Merge que identifica diferenças entre dois programas fontes.

SQLTalk

Executa o SQLTalk. Consulte o Capítulo 3 - Acesso ao SQL, para saber mais sobre o SQLTalk.

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000

Capítulo 2

A Linguagem SAL

Neste capítulo apresentamos a linguagem de programação e todos os componentes utilizados no SQLWindows/32. Você ficará familiarizado com a maneira como a linguagem está estruturada, suas regras, os tipos de dados, os objetos, os menus, enfim, todos os elementos da linguagem SQLWindows.

Serão mostrados detalhadamente todos os objetos e os tipos de menus do SQLWindows/32, com suas respectivas características, para total aproveitamento do desenvolvedor.

Programando com o Centura Team Developer 2000

A Linguagem SAL

Toda a programação em Centura SQLWindows/32 é feita através da linguagem SAL (Scalable Application Language), uma linguagem amadurecida, poderosa e de fácil entendimento. Um programa fonte em linguagem SAL é composto de comandos e funções SAL e de comandos SQL.

O programa fonte

Um programa Centura SQLWindows/32 pode ter as seguintes extensões padrões :

APL Tipo de arquivo que identifica Bibliotecas, utilizado para armazenar objetos, classes e rotinas genéricas que serão aproveitadas em diversas aplicações desenvolvidas, utilizando-se o SQLWindows/32. APP Tipo de arquivo que identifica Aplicações em formato binário, um formato proprietário. Uma aplicação que esteja gravada neste formato só pode ser visualizada através do próprio SQLWindows/32. APT Tipo de arquivo que identifica Aplicações em formato texto padrão. Uma aplicação que esteja gravada neste formato pode ser visualizada através do SQLWindows/32 e também através de um editor de textos padrão TXT, embora não seja recomendada qualquer alteração no fonte, mediante uma interface diferente da disponibilizada no

SQLWindows/32.

APD - Tipo de arquivo que identifica Aplicações compiladas em Dynalibs. Dynalibs são utilizadas para o compartilhamento de funções, janelas e suas funções, e objetos child. Este formato é proprietário, sua utilização é reservada a aplicações desenvolvidas em Centura SQLWindows/32.

APC - Tipo de arquivo que identifica Aplicações compiladas com o Centura Object Compiler. O resultado desta compilação é uma DLL com todas as funções internas. Essa DLL é padrão e pode ser utilizada por qualquer outra linguagem feita para ambiente Windows.

Os Comandos da Linguagem SAL

A linguagem SAL oferece aos desenvolvedores os comandos Break, Call, Else, If, Loop, Return, Select Case,

Set, While, que são explicados em detalhes abaixo.

Break

Este comando é utilizado para encerrar o processamento dos comandos Loop, While e Select Case. O fluxo de execução do programa é passado para o bloco de comandos imediatamente seguinte.

Call

O comando Call é utilizado para chamar uma função.

If

Else Else If

O

comando If

é usado para executar uma operação dependendo de alguma condição. Ele possui a seguinte

sintaxe :

If

< expressão1 >

Else If < expressão2 >

Else

Programando com o Centura Team Developer 2000

O SQLWindows/32 avalia a primeira expressão no If, se for obtido um valor TRUE (

Verdadeiro ), então, o código subordinado ao comando If é executado. No caso da expressão retornar FALSE, o Centura SQLWindows/32 procura pelo próximo Else ou Else

If, se existirem. Else If é utilizado quando se faz necessário testar mais de uma condição.

Se a expressão presente no Else If retornar TRUE, o SQLWindows/32 executa o código subordinado ao comando Else If. Se a Expressão retornar FALSE, o Centura continua a procurar por mais algum comando Else If. Caso não encontre nenhum Else If, e sim um comando Else, o Centura então executa o código subordinado ao comando Else. Se não for

encontrado comando Else, ele simplesmente continua a execução do programa.

O SQLWindows/32 utiliza a hierarquia presente no Outline para determinar o bloco de

comandos subordinados que será executado. Isso elimina a necessidade de utilizar os

delimitadores BEGIN

END presentes em outras linguagens.

Alguns exemplos :

If nCodigo = 999

Else If nCodigo = 888

Else

Set sNome =

‘José’

A utilização do operador de igualdade (=) não se faz obrigatória em alguns casos. Similar a linguagem C, ao ser avaliada uma expressão, e esta retornar um valor 0 (zero), o Centura SQLWindows/32 interpreta como FALSE. Qualquer valor diferente de zero é interpretado como um valor TRUE. Observe o próximo exemplo:

Set nValor = 3 If nValor

[ este código é executado, pois 3 é diferente de FALSE ]

If nValor = TRUE

[ este código não é executado, pois 3 é diferente de TRUE ]

No primeiro If o comando subordinado é executado, pois, nenhuma comparação direta com a constante TRUE é efetuada. No segundo If a comparação é feita, o código não é executado, uma vez que, nValor é diferente de TRUE.

Obs.: Podem ser feitas avaliações de variáveis sem a utilização de operadores, como no exemplo acima, apenas com variáveis ou expressões que retornem um tipo de dado Lógico. Ao deixar de utilizar o sinal de igualdade (=) em expressões ou variáveis que retornem outros tipos de dados, o entendimento do código ficará comprometido, dificultando a sua leitura e depuração.

Return

O comando Return pode ser utilizado para finalizar o processamento de uma função ou

mensagem e retornar um status para o ponto da aplicação de onde foi chamado. Return pode ser utilizado em qualquer ponto do código.

Select Case

Programando com o Centura Team Developer 2000

O comando Select Case é outro comando de avaliação de condições na linguagem do

Centura SQLWindows/32. A estrutura If

Else é utilizada para mais que

dois resultados, mas o comando Select Case se mostra mais conveniente nesses casos. A

sintaxe do comando Select Case é a seguinte :

Select Case < expressão > Case < valor >

Else é normalmente utilizada quando existem

dois possíveis resultados. Algumas vezes a estrutura If

Break Case < valor >

Default

Break

Break

O tipo de dado retornado pela expressão avaliada pelo Select Case deve ser numérico

inteiro. Não pode ser avaliada uma expressão de outro tipo de dado como data/hora, string

ou número com decimais. O valor utilizado em cada comando Case deve ser um valor ou

uma expressão numérica inteira. Quando for necessário avaliar expressões de algum tipo

de dado diferente de número inteiro, deve ser utilizado o comando If

SQLWindows/32 avalia a expressão inteira e localiza o primeiro Case que satisfaça a condição da expressão. Quando encontra, executa o código subordinado ao Case encontrado e continua a procurar por mais algum Case que satisfaça a condição. O código subordinado à cláusula Default é executado quando o SQLWindows/32 não encontra nenhum Case que satisfaça a condição. A cláusula Default não é obrigatória, mas quando utilizada deve ser a última do comando Select Case.

Else. O Centura

O comando Break é usado para informar ao Centura que encerre a execução do bloco de

comandos. Ao encontrar um Break num comando Case, o SQLWindows/32 encerra a execução de todo o bloco do comando Case. Se um Break for omitido num bloco Case, o Centura irá continuar executando o conteúdo de todos os outros Cases que satisfaçam a condição, até o fim.

A omissão do comando Break, quando utilizado corretamente, pode trazer benefícios.

Observe o exemplo:

Considere que ERRO_INSERT, ERRO_UPDATE e ERRO_DELETE são constantes numéricas inteiras.

Select Case ( nErro ) Case ERRO_INSERT Call SalMessageBox( "Registro já existe.", "Case", MB_Ok ) Break Case ERRO_UPDATE Case ERRO_DELETE Call SalMessageBox( "Registro não foi encontrado.", "Case", MB_Ok ) Break Default Call SalMessageBox( "Erro desconhecido", "Case", MB_Ok ) Break

Nesse exemplo o tratamento de erro para os comandos de UPDATE e DELETE é o mesmo; o erro de INSERT possui sua própria crítica de erro. Ao invés de repetir todo o bloco de código para as críticas de erro do UPDATE/DELETE, eles são colocados um acima do outro. Já que não existe nenhum Break no Case ERRO_UPDATE, a execução

Página PAGE 582

Programando com o Centura Team Developer 2000

prossegue ao próximo Case e termina quando o Centura SQLWindows/32 encontrar o Break subordinado ao Case ERRO_DELETE.

Set

O comando Set é usado para associar um valor a algum objeto ou variável. O valor

associado pode ser um valor ou uma expressão :

Set < variavel / objeto > = < valor / expressão >

Alguns exemplos :

Set sNome =

Set nValor = nValor1 * nValor2 Set sCidadeEstado = sCidade || “ – “ || sEstado

“José”

While e Loop

Os comandos While e Loop são duas estruturas de laço do Centura

While < expressão >

Break

Loop [ nome_loop ]

Break [ nome_loop ]

Programando com o Centura Team Developer 2000

Todo o código subordinado ao comando While ou ao comando Loop são parte do laço.

O While é um laço onde a condição é avaliada antes deste ser executado pela primeira vez.

A expressão precisa ser avaliada e deve ser TRUE ( diferente de zero ). O laço continua até

que uma destas duas condições se satisfaçam:

A expressão seja avaliada FALSE.

Um comando Break seja encontrado.

O Loop é um laço mais “flexível”. O código no laço é executado pelo menos uma vez e termina quando o Centura encontrar um comando Break. Caso o Centura não encontre um comando Break, o programa fatalmente irá travar, e um resultado não desejado poderá ocorrer.

Pode ser utilizado o comando Loop e While para montar laços “aninhados” ( nested loops ). Nesse caso, torna-se extremamente útil “nomear” os laços. Observe o código :

Loop LoopExterno

If Condicao Break LoopExterno Loop LoopInterno

If Condicao Break LoopInterno Else If Condicao Break LoopExterno

Programando com o Centura Team Developer 2000

Operadores Matemáticos

O Centura suporta os operadores matemáticos que são padrão entre a maioria das linguagens, conforme a tabela abaixo :

Operado

Descrição

r

+

Adição Subtração Multiplicação Divisão Igualdade Não igual a

-

*

/

=

!=

>

Maior que

<

Menor que Maior que ou Igual a Menor que ou Igual a Exponenciação AND lógico OR lógico Negação

>=

<=

**

AND

OR

NOT

&

Bitwise AND

|

Bitwise OR Concatenação

||

Nota

Entende-se pelo termo bitwise a comparação bit-a-bit de posicionamento idêntico em duas expressões numéricas.

Variáveis

Um data type refere-se ao tipo de informação que um campo ou uma variável pode armazenar. Isto é muito importante, pois, determina o montante de Memória de Acesso Randômico ( RAM ) que será reservado para isso. O Centura SQLWindows/32 suporta os tipos de dados definidos SQL de acordo com o padrão ANSI 92. Isso permite a compatibilidade com uma variedade de outros produtos, incluindo servidores de bancos de dados e outras ferramentas de desenvolvimento.

Uma variável significa um local da memória que armazenará um determinado pedaço de informação. Algumas considerações sobre as variáveis devem ser observadas: o tipo de dado que pode ser armazenado numa variável e o escopo da variável - escopo refere-se a acessibilidade que geralmente é Local ou Global.

Programando com o Centura Team Developer 2000

Uma variável local é visível apenas na função, objeto, ou janela que a mesma foi definida. Normalmente não pode ser acessada de fora do local definido. Uma variável local geralmente desaparece quando o objeto que a criou é fechado. Isso também libera a memória que havia sido ocupada.

Uma variável global tem um alcance maior do que a variável local ( alcance em toda a aplicação e não apenas no form onde foi definida ), mas há dois pontos fracos. O primeiro é que a memória ocupada pela variável não é liberada, mesmo se a variável não estiver sendo utilizada, enquanto a aplicação estiver sendo executada. O segundo é bem mais grave, uma variável global pode ser acessada de qualquer local da aplicação e ter seu valor alterado sem controle.

Tipos de Dados

A tabela abaixo apresenta os tipos de dados suportados pelo Centura SQLWindows/32.

Tipo de dado

Descrição

Boolean Deverá ser usado apenas quando for importante identificar um dos dois estados ( on/off, yes/no, verdadeiro ou falso ). Date/Time Um valor que inclui uma Data e a Hora em seu formato. File Handle Usado para identificar um arquivo. Long String Uma cadeia de caracteres maior que 254 bytes. Number Um número.

Session Handle Usado para identificar uma sessão junto a um servidor de banco de dados. SQL Handle Usado para identificar uma conexão junto a um servidor de banco de dados. String Uma cadeia de caracteres.

Window

Usado para identificar uma instância de um objeto sendo executado.

Handle

A declaração das variáveis

As variáveis são declaradas na seção Variables, que é encontrada na Global Declarations, nas instâncias dos objetos top level, nas definições das classes dos objetos e nas funções.

A Centura Software Corporation sugere, em seu manual, que o desenvolvedor siga alguns padrões na definição das suas variáveis, para facilitar a sua utilização e identificação. No código abaixo estão definidas uma variável para cada tipo de dado do SQLWindows/32. Observe os prefixos utilizados em cada nome de variável:

Window Variables Boolean: bOk Date/Time: dtDataAtual File Handle: fhConfig Long String: lsObs Number: nCodigo Sql Handle: hSqlConexao Session Handle: shSessao String: sDescricao Window Handle: hWndObjeto

Quando você define uma variável, como mostrado logo acima, mesmo que a variável ainda não tenha sido utilizada nenhuma vez, ela já possui um valor, o valor default que é iniciado pelo próprio SQLWindows.

Programando com o Centura Team Developer 2000

Tipo de dado

Valor default

Date/Time

Um valor data/hora nulo. O mesmo que a constante DATETIME_Null

Number

Valor 0 (zero). O mesmo que a constante NUMBER_Null

String

Um valor string nulo. O mesmo que a constante STRING_Null.

Window

Um valor window handle nulo. O mesmo que a variável de sistema

Handle

hWndNULL.

Obs.: No Centura, o tamanho máximo permitido para os nomes de variáveis é de 32 caracteres. É possível o uso das letras, números e do sinal _ (underscore). Os nomes das variáveis e dos objetos são case-sensitive. Portanto, sNome é uma variável e sNOME é outra.

Veremos como trabalhar com as variáveis do SQLWindows nos exemplos presentes nos capítulos onde são mostrados exemplos de programação.

Variáveis do Sistema

O Centura SQLWindows/32 possui algumas variáveis internas, chamadas de Variáveis do

Sistema (System Variables). São variáveis cuja definição não se faz necessária antes de

utilizá-las. São, portanto, especiais.

A tabela abaixo apresenta algumas variáveis do sistema e suas descrições :

Variável

Descrição

- MyValue

- hWndForm

- hWndItem

- hWndMDI

- hWndNull

- wParam

- lParam

- nArgCount

- strArgArray

- SqlDatabase

- SqlUser

- SqlPassword

O valor do objeto atual. Assume o tipo de dado do objeto.

O Window Handle do objeto top level atual.

O Window Handle do objeto atual.

O Window Handle do objeto mdi atual.

Equivale a um valor tipo Window Handle nulo.

Um valor numérico para ser utilizado como parâmetro em mensagens.

Um valor numérico para ser utilizado como parâmetro em mensagens.

Contém a quantidade de argumentos passados como parâmetro quando a aplicação é iniciada.

Vetor com os argumentos passados por parâmetro na linha de comando para a aplicação.

Indica o nome do banco de dados a ser utilizado.

Indica o nome do usuário do banco de dados.

Indica a senha do usuário do banco de dados.

Vetores

O Centura suporta vetores multidimensionais de cada um dos seus tipos de dados nativos e

dos tipos de dados definidos pelo usuário. Os vetores podem ter suas dimensões predeterminadas na sua definição ou podem ser dinâmicos, tendo como limite a memória disponível.

A sintaxe para a definição de um vetor é mostrada abaixo :

Variables Boolean: abStatus [10]

Programando com o Centura Team Developer 2000

Number: anMeses [1:12] String: asNomes [*]

O primeiro vetor declarado, abStatus, é um vetor que poderá armazenar apenas valores 1

(TRUE) ou 0 (FALSE), pois seu tipo de dados é Boolean. Poderá ter no máximo 10 elementos, entre 0 e 9.

O segundo vetor declarado, anMeses, é um vetor que poderá armazenar qualquer valor

numérico válido e poderá ter no máximo 12 elementos, entre 1 e 12.

O terceiro vetor, asNomes, poderá armazenar apenas valores caracteres válidos. Este vetor

é dinâmico, ou seja, o seu número de elementos não tem limite.

Constantes

Constantes, assim como as variáveis, podem armazenar valores. A principal diferença é que constantes armazenam informações (como nome, salário), e não ponteiros internos (como file handles ou window handles). As constantes devem ser definidas em tempo de programação e não mudam seus valores durante a execução do programa.

Enumerations são constantes numéricas que são utilizadas em servidores COM para conter listas de valores. Normalmente o primeiro item da lista define o valor inicial e os demais itens são sempre acrescidos de um. No exemplo mostrado na figura abaixo, o primeiro item possui valor 1, o segundo 2 e assim por diante.

Constantes são declaradas no outline na seção chamada Constants, que é uma seção subordinada a seção Global Declarations.

é uma seção subordinada a seção Global Declarations. Declaração de Constantes. As Funções O Centura

Declaração de Constantes.

As Funções

O Centura SQLWindows/32 apresenta um conjunto de funções que é embutido à linguagem SAL. Essas funções realizam uma variedade enorme de tarefas que ajudam o desenvolvedor a construir poderosas aplicações. O Centura oferece algumas funções que são específicas do ambiente do Windows e outras funções que são específicas do próprio ambiente do SQLWindows/32.

O Centura disponibiliza uma quantidade enorme de funções. Consulte o Capitulo 13 Guia de Referência das Funções SAL, para uma explicação detalhada de todas as funções disponíveis no SQLWindows/32.

Programando com o Centura Team Developer 2000

Os Objetos do Centura SQLWindows/32

O Centura SQLWindos32 dispõe de um conjunto de objetos básicos que são normalmente suficientes para a implementação das soluções necessárias aos desenvolvedores no seu dia-a-dia. Esses objetos são todos apresentados ao desenvolvedor na Paleta de Controles, que iremos analisar em detalhes agora.

Esses objetos são os elementos utilizados para a criação da interface com o usuário. Dividem-se em três tipos :

 

Personalizável

Codificável

Recebe

/

Envia

 

Mensagens

Window Objects Background Itens Menus

Sim

Sim

Sim Não Não / Sim

 

Sim

Não

Não

Sim

Os Windows Objects são todos os elementos gráficos que podem enviar e receber mensagens. Na realidade, são os objetos que interferem no fluxo da aplicação. Esses têm alguma função lógica no programa, ou seja, possuem algum código associado a eles. No Centura SQLWindows/32, esses objetos dispõem de uma identificação única na aplicação, a qual damos o nome de handles.

Os Window Objects podem ser

Top Level Window São os objeto do tipo mdi, form window, dialog box e table window.

Child Window São os outros objetos que estão sempre subordinados a algum objeto top level. Jamais um objeto Child existirá sem que exista um objeto top level.

Vamos agora analisar detalhadamente cada um dos objetos do SQLWindows/32.

MDI Window

cada um dos objetos do SQLWindows/32. MDI Window Um objeto top level do tipo mdi .

Um objeto top level do tipo mdi.

Um objeto mdi é o único top level que pode conter outros objetos top level no seu interior. Normalmente é usado para gerenciar várias janelas abertas simultaneamente. Ou seja, o mdi controla várias outras janelas abertas, podendo distribuir mensagens entre essas janelas. Quando um mdi é encerrado, automaticamente todas as suas janelas filhas são encerradas também. Objetos tipo mdi são geralmente utilizados para servirem de “menu principal” das aplicações que requerem muitas janelas abertas simultaneamente.

Programando com o Centura Team Developer 2000

Um mdi, assim como todos os outros objetos do SQLWindows/32, possui diversas propriedades. Você pode alterar os valores de qualquer uma das propriedades do objeto, através do Customizer ou do Attribute Inspector.

Abaixo estão relacionadas todas as propriedades de um objeto do tipo mdi :

Propriedade

Descrição

MDI

Window

O

nome interno do mdi. Nome utilizado pelo programador.

Object Title

O título que aparecerá na barra de títulos quando o programa estiver sendo executado.

Accessories

Indica se os acessórios do mdi estarão visíveis. Os acessórios são a barra de ferramentas e a barra de mensagem.

Enabled

Tool

Bar Visible

Indica se a barra de ferramentas estará visível.

Tool

Bar Size

É

a medida da altura da barra de ferramentas ( em unidades de

 

form ).

Tool

Bar Position

Indica a localização da barra de ferramentas.

Status Bar Visible

Indica se a barra de mensagens estará visível.

Automatically

Indica se o mdi será criado automaticamente quando a aplicação for executada.

Create

Maximizable

Indica se o mdi poderá ser maximizado.

Minimizable

Indica se o mdi poderá ser minimizado.

System Menu

Indica se o menu do sistema, localizado na parte superior esquerda do objeto, poderá ser utilizado pelo usuário quando a aplicação estiver em tempo de execução.

Resizable

Indica se o mdi poderá ter seu tamanho alterado.

Initial State

Indica o estado inicial (maximizado, minimizado ou normal) do

mdi.

Icon

File Name

Informe aqui o nome de um ícone para este mdi.

Left

A coordenada mais à esquerda do objeto.

Top

A coordenada da parte superior do objeto.

Width

A largura do objeto.

Height

A altura do objeto.

Para incluir um MDI na sua aplicação:

1 Clique com o botão direito do mouse na palavra "Windows" localizada no quadro esquerdo.

2 Será mostrado um menu de contexto onde você deve escolher o item New.

3 Depois basta clicar no item chamado "MDI Window". Conforme mostrado na figura abaixo:

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 Form Window Um objeto top level form window geralmente

Form Window

Um objeto top level form window geralmente é criado como filho de algum mdi, podendo trocar informações com outros forms.

É normalmente utilizado para a entrada de dados, consultas e visualização de relatórios. Um form window pode ser maximizado, minimizado e ter seu tamanho alterado pelo usuário. Pode também apresentar uma barra de ferramentas em qualquer um dos seus lados, além de uma barra de mensagens.

qualquer um dos seus lados, além de uma barra de mensagens. Um objeto top level do

Um objeto top level do tipo form window .

Obs : Quando um form window é criado como filho de um mdi, a sua barra de mensagens não é visualizada no form window, mas sim no mdi. Esse é um comportamento padrão do Windows, não requerendo nenhum esforço de programação por parte do desenvolvedor.

Um form window, assim como todos os outros objetos do SQLWindows/32, possui diversas propriedades. Você pode alterar os valores de qualquer uma das propriedades do objeto, através do Customizer ou do Attribute Inspector.

Abaixo estão relacionadas todas as propriedades de um objeto do tipo form window :

Propriedade

Descrição

Form Window

O

nome interno do form window, utilizado pelo programador.

Object Title

O

título que aparecerá na barra de títulos do form window, quando o

programa estiver sendo executado.

Accessories

Indica se os acessórios estarão visíveis. Os acessórios são a barra de ferramentas e a barra de mensagem.

Enabled

Programando com o Centura Team Developer 2000

Tool Bar Visible

Indica se a barra de ferramentas estará visível.

Tool Bar Size

É

a medida da altura da barra de ferramentas ( em unidades de form

).

Tool

Bar

Indica a localização da barra de ferramentas.

Position

Status

Bar

Indica se a barra de mensagens estará visível.

Visible

Display Style

Indica o estilo de visualização do form window.

Automatically

Indica se o form window será criado automaticamente, quando a aplicação for executada.

Create

Maximizable

Indica se o form window poderá ser maximizado.

Minimizable

Indica se o form window poderá ser minimizado.

System Menu

Indica se o menu do sistema, localizado na parte superior esquerda do objeto, poderá ser utilizado pelo usuário, quando a aplicação estiver em tempo de execução.

Resizable

Indica se o form window poderá ter seu tamanho alterado.

Initial State

Indica o estado inicial (maximizado, minimizado ou normal) do form window.

Icon File Name

Informe aqui o nome de um ícone para este form window.

Page Width

Largura da página.

Page Height

Altura da página.

Page Count

Número de páginas.

Left

A coordenada mais à esquerda do objeto.

Top

A coordenada da parte superior do objeto.

Width

A largura do objeto.

Height

A altura do objeto.

Background

Indica a cor utilizada no corpo do form window.

Color

Text Color

A

cor do texto.

Font Name

O

nome da fonte utilizada.

Font Size

O

tamanho da fonte.

Font

Melhoramentos da fonte.

Enhancement

Para incluir um Form Window na sua aplicação:

1 Clique com o botão direito do mouse na palavra "Windows" localizada no quadro esquerdo.

2 Será mostrado um menu de contexto onde você deve escolher o item New.

3 Depois basta clicar no item chamado "Form Window". Conforme mostrado na figura abaixo:

Programando com o Centura Team Developer 2000

Programando com o Centura Team Developer 2000 Dialog Box Os Dialog Box não possuem a característica

Dialog Box

Os Dialog Box não possuem a característica de serem filhos de algum outro objeto. Sempre são mostrados por cima das demais janelas, e, estando ativo um Dialog Box, nenhum elemento de outra janela pode ser acionado. Os Dialog Box não podem ser minimizados, maximizados e ter seus tamanhos alterados em tempo de execução. Também possuem barras de ferramentas e de status.

Obs : Já que os objetos do tipo dialog box não são filhos de nenhum objeto, o comportamento da barra de status não é similar ao comportamento encontrado no form window. A sua barra de status é visualizada na parte inferior do próprio objeto. Esse também é um comportamento padrão do Windows, não requerendo nenhum esforço de programação do desenvolvedor.

nenhum esforço de programação do desenvolvedor. Um objeto top level do tipo dialog box. Um dialog

Um objeto top level do tipo dialog box.

Um dialog box, assim como todos os outros objetos do SQLWindows/32, possui diversas propriedades. Você pode alterar os valores de qualquer uma das propriedades do objeto, através do Customizer ou do Attribute Inspector.

Abaixo estão relacionadas todas as propriedades de um objeto do tipo dialog box :

Propriedade

Descrição

Dialog Box

O

nome interno do dialog box, utilizado pelo programador.

Object Title

O

título que aparecerá na barra de títulos do dialog box, quando o

programa estiver sendo executado.

Accessories

Indica se os acessórios estarão visíveis. Os acessórios são a barra de ferramentas e a barra de mensagem.

Enabled

Tool Bar Visible

Indica se a barra de ferramentas estará visível.

Tool Bar Size

É

a medida da altura da barra de ferramentas ( em unidades de form

Programando com o Centura Team Developer 2000

 

).

Tool

Bar

Indica a localização da barra de ferramentas.

Position

Status

Bar

Indica se a barra de mensagens estará visível.

Visible

Display Style

Indica o estilo de visualização do dialog box.

Type of Dialog

Existem três tipos disponíveis:

O

tipo Modeless indica que o usuário poderá utilizar outros recursos

da

aplicação enquanto usa este dialog box. Poderá utilizar menus,

outras janelas, etc.

O

tipo Modal indica que o usuário não poderá utilizar outros

recursos da aplicação atual, porém, poderá utilizar outras aplicações

do

sistema operacional, como um editor de textos e planilhas.

o tipo System Modal indica que o usuário não poderá utilizar

nenhum outro recurso. O sistema ficará aguardando que o dialog box tipo System Modal seja encerrado, para então prosseguir normalmente.

Left

A coordenada mais à esquerda do objeto.

Top

A coordenada da parte superior do objeto.

Width

A largura do objeto.

Height

A altura do objeto.

Background

Indica a cor utilizada no corpo do form window.

Color

Text Color

A

cor do texto.

Font Name

O

nome da fonte utilizada.

Font Size

O

tamanho da fonte.

Font

Melhoramentos da fonte.

Enhancement

Para incluir um Dialog Box na sua aplicação:

1 Clique com o botão direito do mouse na palavra "Windows" localizada no quadro esquerdo.

2 Será mostrado um menu de contexto onde você deve escolher o item New.

3 Depois basta clicar no item chamado "Dialog Box". Conforme mostrado na figura abaixo:

New. 3 Depois basta clicar no item chamado "Dialog Box". Conforme mostrado na figura abaixo: Página

Programando com o Centura Team Developer 2000

Table Window

A table window é bastante semelhante ao form window. Basicamente duas características a diferenciam do form window : A table window possui no seu interior um objeto tipo child table, não sendo permitido a utilização de nenhum outro objeto no seu interior. Esse objeto child table no interior do form é automaticamente ajustado quando o form tem seu tamanho alterado, não sendo necessário nenhum esforço de programação para isso.

Os demais comportamentos são idênticos ao do form window.

Os demais comportamentos são idênticos ao do form window. Um objeto top level do tipo table

Um objeto top level do tipo table window.

Uma table window, assim como todos os outros objetos do SQLWindows/32, possui diversas propriedades. Você pode alterar os valores de qualquer uma das propriedades do objeto, através do Customizer ou do Attribute Inspector.

Abaixo estão relacionadas todas as propriedades de um objeto do tipo table window :

Propriedade

Descrição

Table Window

O

nome interno da table window, utilizado pelo programador.

Object Title

O

título que aparecerá na barra de títulos da table window quando o

programa estiver sendo executado.

Accessories

Indica se os acessórios estarão visíveis. Os acessórios são a barra de ferramentas e a barra de mensagem.

Enabled

Tool Bar Visible

Indica se a barra de ferramentas estará visível.

Tool Bar Size

É

a medida da altura da barra de ferramentas ( em unidades de form

).

Tool

Bar

Indica a localização da barra de ferramentas.

Position

Status

Bar

Indica se a barra de mensagens estará visível.

Visible

Automatically

Indica se a table window será criada automaticamente quando a aplicação for executada.

Create

Maximizable

Indica se a table window poderá ser maximizada.

Minimizable

Indica se a table window poderá ser minimizada.

System Menu

Indica se o menu do sistema, localizado na parte superior esquerda do objeto, poderá ser utilizado pelo usuário, quando a aplicação estiver em tempo de execução.

Resizable

Indica se a table window poderá ter seu tamanho alterado.

Initial State

Indica o estado inicial (maximizado, minimizado ou normal) da table window.

Icon File Name

Informe aqui o nome de um ícone para esta table window.

Página PAGE 582

Programando com o Centura Team Developer 2000

Left

A coordenada mais à esquerda do objeto.

Top

A coordenada da parte superior do objeto.

Width

A largura do objeto.

Height

 

A altura do objeto.

Lines Per Row

Indica a quantidade de linhas de dados que uma linha da table window terá.

Allow

Row

Indica se o usuário poderá modificar, em tempo de execução, a altura das linhas da table window.

Sizing

Background

 

Indica a cor utilizada no corpo do form window.

Color

Text Color

 

A

cor do texto.

Font Name

 

O

nome da fonte utilizada.

Font Size

 

O

tamanho da fonte.

Font

Melhoramentos da fonte.

Enhancement

Discartable

 

Indica se o SQLWindows/32 irá manter todas as linhas no cache da table window, ou se manterá apenas as linhas utilizadas, descartando as demais. O comportamento padrão do SQLWindows/32 é descartá-las.

Max

Row

in

O

número de linhas que a table window manterá no seu cache, o

Memory

valor padrão é manter 100 linhas, o máximo é 32.753.

Para incluir uma Table Window na sua aplicação:

1 Clique com o botão direito do mouse na palavra "Windows" localizada no quadro esquerdo.

2 Será mostrado um menu de contexto onde você deve escolher o item New.

3 Depois basta clicar no item chamado "Table Window". Conforme mostrado na figura abaixo:

"Table Window". Conforme mostrado na figura abaixo: Background Text – normalmente utilizado quando se é

Background Text normalmente utilizado quando se é necessário identificar alguns campos na tela. Não pode ser programado, ou seja, não responde a nenhuma ação do usuário, clicks, edição, etc. Este objeto não possui Message Actions.

Programando com o Centura Team Developer 2000

As Propriedades de um objeto tipo Background Text:

Propriedade

Descrição

Background Text

O

texto que aparecerá na aplicação para o usuário.

Visible

Indica se o objeto está ou não visível.

Left

A coordenada mais à esquerda do objeto.

Top

A coordenada da parte superior do objeto.

Width

A largura do objeto.

Height

A altura do objeto.

Justify

Indica o tipo de alinhamento do objeto.

Background Color

Indica a cor utilizada no fundo do objeto.

Text Color

A

cor do texto.

Font Name

O

nome da fonte utilizada.

Font Size

O

tamanho da fonte.

Font

Melhoramentos da fonte.

Enhancement

Para incluir um objeto Background Text na sua aplicação:

1 Ative a Paleta de Controles, pressionando Alt 4.

2 Clique no ícone equivalente ao Background Text.

Alt 4 . 2 Clique no ícone equivalente ao Background Text. 3 Clique na posição onde

3 Clique na posição onde você deseja colocar o Background Text na sua aplicação.

Todos os demais objetos Child são inseridos na aplicação dessa forma.

Group Box Usado para agrupar informações logicamente relacionadas. Não pode ser programado, ou seja, não responde a nenhuma ação do usuário, clicks, edição, etc. Este objeto não possui Message Actions.

As propriedades de um objeto tipo Group Box :

Propriedade

Descrição

Group Box

O texto que aparecerá na aplicação para o usuário, na parte superior esquerda do objeto.

Visible

Indica se o objeto está ou não visível.

Left

A coordenada mais à esquerda do objeto.

Top

A coordenada da parte superior do objeto.

Width

A largura do objeto.

Height

A altura do objeto.

Background Color

Indica a cor utilizada no fundo do objeto.

Página PAGE 582

Programando com o Centura Team Developer 2000

Text Color

A

cor do texto.

Font Name

O

nome da fonte utilizada.

Font Size

O

tamanho da fonte.

Font

Melhoramentos da fonte.

Enhancement

fonte. Font Melhoramentos da fonte. Enhancement O ícone do objeto Group Box na paleta Controls. Frame

O ícone do objeto Group Box na paleta Controls.

Frame Utilizado para fazer molduras. Não pode ser programado, ou seja, não responde a nenhuma ação do usuário, clicks, edição, etc. Este objeto não possui Message Actions.

As propriedades de um objeto tipo Frame :

Propriedade

Descrição

Visible

Indica se o objeto está ou não visível.

Left

A coordenada mais à esquerda do objeto.

Top

A coordenada da parte superior do objeto.

Width

A largura do objeto.

Height

A altura do objeto.

Corners

Indica o tipo de laterais a ser utilizado no objeto.

Border Style

Indica o tipo de borda a ser utilizado no objeto.

Border Thickness

Indica a espessura da borda a ser utilizada no objeto.

Background Color

Indica a cor utilizada no fundo do objeto.

Border Color

A

cor da borda do objeto.

do objeto. Border Color A cor da borda do objeto. O ícone do objeto Frame na

O ícone do objeto Frame na paleta Controls.

Line Utilizado para fazer linhas. Não pode ser programado, ou seja, não responde a nenhuma ação do usuário, clicks, edição, etc. Este objeto não possui Message Actions.

As propriedades de um objeto tipo Line :

Propriedade

Descrição

Visible

Indica se o objeto está ou não visível.

Begin X

O

ponto inicial das coordenadas do objeto, no eixo X.

Begin Y

O

ponto inicial das coordenadas do objeto, no eixo Y.

End X

O

ponto final das coordenadas do objeto, no eixo X.

End Y

O

ponto final das coordenadas do objeto, no eixo Y.

Line Style

Indica o tipo de linha a ser utilizado no objeto.

Programando com o Centura Team Developer 2000

Line Thickness

Indica a espessura da linha a ser utilizada no objeto.

Line Color

A

cor da linha.

utilizada no objeto. Line Color A cor da linha. O ícone do objeto Line na paleta

O ícone do objeto Line na paleta Controls.

Data Field É um dos objetos que podem ser utilizados para a digitação e visualização de informações na tela. Um datafield pode receber informações tipo Number, Date/Time, String e Long String.

As propriedades de um objeto tipo Data Field:

Propriedade

Descrição

Data Field

O

nome do objeto utilizado internamente pelo programador.

Visible

Indica se o objeto está ou não visível.

Left

A

coordenada mais à esquerda do objeto.

Top

A

coordenada da parte superior do objeto.

Width

A

largura do objeto.

Height

A

altura do objeto.

Data Type

O

tipo de dado do conteúdo do objeto.

Max Data Length

A

quantidade máxima de caracteres que o objeto irá suportar.

Editable

Indica se o conteúdo do objeto poderá ser editado pelo usuário.

Border

Indica se o objeto terá uma borda.

Justify

Indica a forma como o conteúdo do objeto aparecerá alinhado para o usuário.

Format

Indica a formatação a ser utilizada no objeto.

Input Mask

Indica a máscara de edição a ser utilizada no objeto quando o usuário estiver digitando os dados.

Country

As predefinições referentes ao país.

Background Color

Indica a cor utilizada no fundo do objeto.

Text Color

A

cor do texto.

Font Name

O

nome da fonte utilizada.

Font Size

O

tamanho da fonte.

Font