Aula 04

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 16

A U L A

Conhecendo o Visual FoxPro 8.0


04 Parte 3

Continuando nossa saga pelas ferramentas do Visual FoxPro 8.0, hoje vamos conhecer
mais algumas.

A Ferramenta Class Designer

A Class Designer é a ferramenta mais comumente utilizada no Visual FoxPro para a


subclassificação (criação de uma nova classe a partir de uma classe já existente) de
classes.

Com esta ferramenta podemos a partir das classes base (ou base class) do Visual
FoxPro, criar outras subclasses personalizadas conforme a necessidade.

Sua funcionalidade é bastante simples. Ainda bem! O conceito de classes e objetos


já é demasiadamente confuso, sendo assim a Class Designer ganha grande espaço
por causa de sua facilidade e praticidade.

Um cenário bem básico de subclassificação: imagine que você deseja construir um


novo software e que alguns controles como Text Box, Combo Box, Edit Box e outros
precisam ter algumas propriedades alteradas como cor, tamanho, fonte, etc. Se
você fizer uso desses controles no seu software subclassificando diretamente das
classes base do Visual FoxPro, certamente terá que ir de controle por controle
alterando as propriedades que deseja alterar.

Como o Visual FoxPro é uma linguagem orientada a objetos e assume muito bem
esse papel na prática, nosso trabalho pode se tornar muito mais produtivo fazendo
uso da ferramenta Class Designer para criarmos nossas subclasses a partir das
classes básicas da linguagem e assim alterarmos aquilo que queremos em apenas
um controle e daí utilizarmos em nossos formulários. Ao usarmos esses controles
alterados em nosso aplicativo, à medida que alterarmos nossa classe todas as
alterações serão refletidas nas instâncias. Assim, se você definir que um Edit Box
terá a cor de fundo cinza claro e a cor da fonte azul, todas as instâncias desse
controle agora herdarão essas características.

Como o objetivo deste capítulo não é o de ensinar OOP e seus conceitos, vamos
nos ater à utilização da Class Designer apenas apresentando sua função e sua
operação básica. Os demais detalhes serão apresentados mais adiante.

Existem várias maneiras de acessar o Class Designer, a exemplo de outras


ferramentas já apresentadas. Vamos neste momento acessá-lo através da
A U L A

04
Command Window, digitando CREATE CLASS. O Resultado é a apresentação da
janela New Class, conforme a figura 4.1:

Figura 4.1 – Subclassificando uma classe básica

A exemplo de outras linguagens como o Java, C++, C# e outras, o Visual


FoxPro não permite a criação de uma classe base ou uma super classe.
Todas as classes criadas em Visual FoxPro são baseadas nas classes base já
existentes na linguagem. Na versão 8.0 temos à nossa disposição um total de 37
classes.

Mesmo não podendo criar super classes, podemos subclassificar as classes


existentes no Visual FoxPro e personalizá-las de acordo com nossa necessidade. O
diálogo New Class apresentado na figura 4.1 permite-nos fazer esta
subclassificação visualmente escolhendo o nome (Class name) para nossa nova
classe, a classe na qual a mesma será baseada (Based on) e ainda especificar um
arquivo de biblioteca de classes no qual nossa classe será armazenada. Utilizamos
arquivos de biblioteca de classes (class library) para organizarmos nossas classes
em grupos, de acordo com o objetivo da classe.

Apenas para exemplo, vamos criar uma subclasse baseada na classe base Form e
vamos chamá-la de MeuForm e gravarmos na biblioteca MinhaLib.vcx, observe a
figura 4.2:

Figura 4.2 – Subclassificando a class Form


A U L A

04
Ao clicarmos OK, teremos como resultado a janela da Class Designer aberta para a
edição da nossa classe de formulário.

A janela Class Designer abrirá sempre a ferramenta adequada para a edição do tipo
de classe selecionada. Se você observar a figura 4.3, verá que a janela Properties
(propriedades) aparece exibindo as propriedades, métodos e eventos (PEMs) da
classe que você está criando.

Observe também que um menu Class foi adicionado à barra de menus. Este menu
permite que você crie novas propriedades, métodos e ainda editar os já existentes.
Observe a figura 4.3:

Figura 4.3 – Class Designer e Janela de propriedades

A partir de agora já temos uma classe chamada MeuForm derivada da classe base
Form do Visual FoxPro. Podemos realizar qualquer alteração em suas
propriedades, incluir controles, incluir métodos e tudo o mais. O conceito de OOP é
A U L A

04
bem mais abrangente e, portanto teremos um capítulo reservado apenas para dar
uma introdução a este assunto.

Da mesma forma que acabamos de subclassificar a classe básica de formulários,


podemos fazê-lo com os demais tipos de classes do Visual FoxPro.

Para ilustrarmos a utilização da instanciação do formulário subclassificado


anteriormente, façamos o seguinte:

Figura 4.4 – Instanciando a classe MeuForm

Observe na figura 4.4 o comando SET CLASSLIB TO. Este comando é usado para
indicarmos ao Visual FoxPro onde procurar pela definição das classes. Neste caso,
estamos informando-o para que adicione a biblioteca minhalib.vcx à lista de
arquivos de definições de classes.

Em seguida, emitimos o comando oForm = CREATEOBJECT(“meuform”), que é


responsável por instanciar a classe meuform criando um objeto oForm. A linha
seguinte oForm.Show é responsável pela exibição do formulário criado a partir da
subclasse meuform. O resultado será o seguinte o exibido na figura 4.5 a seguir.

Figura 4.5 – Instância da classe MeuForm


A U L A

04
A partir do momento que instanciamos uma classe criando um objeto, podemos
manipular suas propriedades, eventos e métodos com bastante facilidade. No
entanto como o objetivo deste tópico é de apenas apresentar a funcionalidade
básica do Class Designer, concluo aqui este texto deixando um gostinho de quero
mais para um capítulo posterior destinado à este assunto.

O Editor de Programas

Embora você já esteja acostumado com tantas ferramentas visuais, acredite, você
ainda precisará escrever bastante código para dar funcionalidade ao seu software.
Haverá vezes também que você preferirá escrever todo o código diretamente no
Editor de Programas, como por exemplo, na escrita de uma biblioteca de classes
não visuais, e até mesmo em outros casos que você terá oportunidade de conhecer.

Mesmo utilizando as ferramentas visuais como o Form Designer, quando você


começar a editar o código de um método você estará utilizando o Editor de
Programas. Sua utilização é bem simples, porém, é bom conhecer algumas de suas
funcionalidades para maior produtividade.

A figura 4.6 a seguir exibe a janela do Editor de Programas em sua forma básica.
Para acessar o Editor de Programas basta digitar MODIFY COMMAND na janela de
comandos.
A U L A

04

Figura 4.6 – Editor de programas

No exemplo da figura 4.6 na janela do editor de programas está aberto o main.prg


do projeto Solutions. Como você pode ver, o Editor de Programas exibe o código
com uma coloração de sintaxe, e isso é muito útil para o desenvolvedor, ajudando-o
a identificar as palavras chaves separando-as dos parâmetros de cada comando ou
função.

Observe também o menu exibido no lado direito da janela do Editor de Programas.


Este é o menu de contexto para o editor. Várias ferramentas podem ser acessadas
a partir desse menu, assim como outras opções para o próprio editor, como é o
caso da opção Properties, que ao ser acionada exibirá o diálogo Edit Properties,
como mostrado na figura 4.7:
A U L A

04

Figura 4.7 – Propriedades do Editor de Programas

Como é possível notar, há várias opções para serem configuradas nesse diálogo
conforme as preferências do desenvolvedor, dentre elas, opções de fontes,
endentação, preferências para gravação e outras.

Outra opção bastante interessante que pode ser acionada a partir do menu de
contexto é a Build Expression, que ao ser acionada, exibe o diálogo Expression
Builder, exibido na próxima figura. Através desse diálogo podemos facilmente
montar expressões para fórmulas usando variáveis, campos de tabelas, funções e
ainda variáveis do próprio Visual FoxPro.
A U L A

04

Figura 4.8 – Expression Builder

Outra ferramenta bastante útil que pode ser acessada a partir do menu de contexto
do Editor de Programas é o diálogo Look Up Reference. Esta ferramenta permite
localizar um trecho de código em outros arquivos de programa dentro de um
projeto, uma pasta e até mesmo em suas sub-pastas.

Figura 4.9 – Look Up Reference

Há outras opções interessantes para o Editor de Programas, porém, no momento


vamos nos conter com as que acabamos de conhecer. Elas serão úteis quando
começarmos a codificar nossos módulos de programas.
A U L A

04

A Ferramenta Toolbox

Produtividade.

Este é o principal argumento da maioria das pessoas que utilizam o Visual FoxPro
para desenvolver seus aplicativos. Realmente esta é uma verdade. Para continuar a
tradição, a equipe de desenvolvimento do Visual FoxPro incorporou mais excelente
ferramenta de produtividade. Trata-se da Toolbox. Através dessa ferramenta é
possível ter acesso a diversos recursos de forma rápida, por exemplo, classes,
controles para inserção em formulários, blocos de texto e até mesmo Web Services.
O mais legal nisso tudo é que basta arrastar e soltar com o mouse e estará tudo
certo!

Para acessar a ferramenta Toolbox, basta clicar no menu Tools e escolher Toolbox.

Particularmente o que acho mais interessante é a possibilidade de criar novas


categorias e adicionar as bibliotecas de classes, componentes e tudo o mais,
facilitando em muito o trabalho na hora de codificar.

Figura 4.10 – Toolbox

Outra coisa que é muito interessante na Toolbox é que quando arrastamos um


elemento dela para o editor de programas ou para a janela de comandos o código
para instanciar esses elementos já vêm pronto. Isso não ocorre quando arrastamos
A U L A

04
algo da barra de ferramentas. Aliás a da barra de ferramentas só se pode levar os
objetos para o container apropriado.

A Ferramenta Task Pane Manager

Esta também é uma ferramenta de produtividade. Através da Task Pane podemos


organizar melhor nossos projetos, bancos de dados, ambiente de desenvolvimento
(comandos set), Web Services, além de acessar notícias de comunidades de
desenvolvedores, notícias da Microsoft, atualizações do produto, etc.

Figura 4.11 – Task Pane Manager

A Task Pane possui alguns botões em sua parte superior, que são utilizado para
acessar cada painel. São eles:

• Start
• Comunity
• Environment Manager
• Solutions Samples
• XML Web Services
• Files
• Minesweeper

Start – Neste painel são apresentados, as boas-vindas e tópicos relacionados a


novidades do produto. Também há links para os últimos projetos e bancos de dados
utilizados.
A U L A

04
Comunity – Este painel apresenta notícias sobre Visual FoxPro. Isso é muito útil
pois não precisamos acessar às páginas das principais comunidades de Visual
FoxPro para sabermos o que está ocorrendo. Através de Web Services o Visual
FoxPro se conecta aos servidores das comunidades trazendo assim as notícias ali
disponíveis.

Environment Manager – Este painel permite definirmos opções de configuração de


ambiente variadas para serem aplicadas de acordo com a situação. Podem ser
definidos comandos SET’s, caminhos, etc., além de poder associar projetos a uma
determinada configuração. Isto é muito útil, fazendo com que ganhemos tempo na
hora de iniciarmos nosso trabalho.

Solutions Samples – Através deste painel podemos ter acesso aos exemplos
providos pelo Visual FoxPro. Há diversas soluções prontas para estudarmos.

XML Web Services – Este painel é utilizado para a organização de Web Services.
Dado o crescimento da importância dessa tecnologia, este painel vem de encontro
com o aumento da produtividade, permitindo registrar, remover, testar Web
Services.

Filer – Através desta ferramenta podemos pesquisar por strings (fragmentos de


texto) em arquivos existentes dentro de uma determinada pasta. Com este recurso
fica fácil encontrarmos determinada parte de código que já não lembramos mais em
que arquivo está armazenada.

Minesweeper – Quem não se lembra do velho joguinho Campo Minado do


Windows? Pois é. Este painel nada mais é do que aquele logo, porém, escrito em
Visual FoxPro.

A Ferramenta Code References

Assim como a ferramenta Look Up Reference vista dentro do editor de programas,


esta também é uma ferramenta de procura. Na verdade é a mesma ferramenta.
Porém esta pode ser utilizada de qualquer parte do Visual FoxPro e não apenas
dentro do editor. Esta ferramenta pode ser utilizada para encontrar um determinado
fragmento de texto dentro de qualquer parte do disco.
A U L A

04

Figura 4.12 – Ferramenta Code Reference

Ao preencher o campo Look for (procurar por), escolher o escopo, se é a nível de


pasta ou de projeto e informar o local a ser pesquisado, basta clicar em Search. A
ferramenta irá começar a varrer os arquivos da pasta para localizar a expressão. No
final o resultado será algo como o exibido na figura 4.13.

4.13 – Resultado da busca da Code References

Ao clicar duplamente sobre um dos resultados da busca, o Visual FoxPro abrirá o


arquivo na linha que contém a refência procurada, veja figura 4.14:
A U L A

04

Figura 4.14 – Código posicionado através da busca do Code References

O Code References também possui uma série de outras funcionalidades, dentre


elas a que acho mais interessante é a possibilidade de substituir um determinado
texto em todas as suas ocorrências. Imagine que você precisa alterar o nome de
uma função em todos os locais que essa ocorre. Através desta ferramenta, essa
tarefa será simples.

A Ferramenta Debugger

O ciclo de desenvolvimento de um aplicativo consiste em projetar, construir, testar e


distribuir. Na prática construir e testar estão intimamente ligadas. É normal que os
testes aconteçam isoladamente a cada módulo ou parte do módulo e no final haja
também um teste geral.

Testar consiste em localizar os problemas existentes no código. Depurar (debug),


consiste em isolar e corrigir os problemas.

A ferramenta Debugger do Visual FoxPro permite rastrear o código fonte enquanto


o aplicativo está sendo executado, de forma a identificar onde ocorrem os bugs.

Na figura 4.15, veja a ferramenta Debugger.


A U L A

04

Figura 4.15 – Ferramenta Debugger

Observando a figura acima podemos notar algumas janelas dentro do Debugger.


São elas:

• Trace
• Watch
• Call Stack
• Debug Output
• Locals

Vamos agora saber qual a utilidade de cada uma dessas janelas.

Trace – permite você visualizar o código durante a execução.

Watch – exibe as expressões dentro do escopo em execução juntamente com seus


valores atuais e permite que você especifique breakpoints quando da mudança
desses valores.
A U L A

04
Call Stack – mostra em uma lista os programas, procedures e métodos que
compõem a atual cadeia de execução.

Debug Output – Mostra a saída da execução conforme a especificação.

Locals – exibe as variáveis, matrizes, objetos e seus membros do método,


programa ou procedure que estiver sendo executado.

Bem, esta é a ferramenta Debugger. Teremos mais detalhes sobre depuração na


penúltima parte do livro, onde estaremos testando e depurando nosso aplicativo
exemplo, antes de podermos distribuí-lo.

A Ferramenta Document View

Esta é outra ferramenta que pode nos ajudar muito na navegação entre elementos
de nosso código. A Document View cria uma espécie de índice onde cada elemento
considerado modular é separado através de uma entrada com seu nome, de forma
que ao clicarmos no nome do elemento no índice, seremos posicionados no início
do código que lhe diz respeito.

Os elementos modulares a que me refiro são as Procedures, Funções, Includes,


Métodos/eventos, etc.

Observe a figura 4.16 e veja a simplicidade desta ferramenta:

Figura 4.16 – Document View


A U L A

04
Para acionar a Document View, clique no menu Tools e depois em Document View.

Na figura 4.16 o arquivo main.prg do aplicativo solutions está aberto e sobre ele
está posicionada a ferramenta Document View. Veja que ícones diferentes são
adicionados para o tipo de elemento que está indexado.

Ao clicar sobre qualquer um dos elementos da Document View automaticamente o


código será reposicionado na janela do editor de programas de forma a mostrar o
elemento escolhido.

Você também pode gostar