Tipos de formatos para a Propriedade Format

Tabela 7

Configuração Descrição
K Seleciona todo o texto quando um controle recebe o foco.
$ Exibe símbolo de moeda.
^ Exibe dados numéricos usando notação científica.
L Em campos numéricos exibem zeros à esquerda.
R Exibe o formato da mascara para o conteúdo do campo, conforme máscara informada em Input mask, porém, só armazena no campo os dígitos ou letras.
Z Exibe um campo número em braço, caso seu valor seja zero.
! Converte caracteres alfabéticos para maiúsculo.
A Permite apenas caracteres alfabéticos
D Usa o formato especificado com o comando SET DATE para datas.
E Edita valores Data em formato britânico (British).
T Remove conteúdo em branco antes e depois do texto.
YS Exibe valores Data conforme o formato curto configurado no painel de controle do Windows.
YL Exibe valores Data conforme o formato longo configurado no painel de controle do Windows.

A propriedade Format tem o mesmo significado da cláusula FUNCTION para os comandos @… GET e @ … EDIT, agora suportados apenas para compatibilidade com versões anteriores.

Definindo os índices para uma tabela

Uma vez que definimos os campos da tabela e já marcamos quais campos gostaríamos que fossem índice, precisamos agora refinar esses índices acrescentando alguma informação ou simplesmente escolhendo o tipo de índice apropriado.

O tipos de índice são:

Primary – Índice primário ou chave primária, conforme o gosto do freguês. Este tipo de índice não aceita valor duplicado. Ideal para campos identificadores, CNPJ, CPF, ou qualquer outro que requer um valor único em toda a tabela.

Cadidate – É um índice semelhante à chave primária. Este tipo de índice substitui o tipo UNIQUE de versões anteriores do FoxPro e também do dBase e Clipper. Uma chave do tipo Cadidate não aceita valores duplicados, por isso é uma chave candidata a chave primária.

Regular – É o tipo de índice comum, usado apenas para indexar uma tabela por uma determinada chave. No Visual FoxPro as chaves estrangeiras são índices do tipo regular.

Para refinar a definição de nossos índices vamos clicar na aba Indexes e teremos o seguinte diálogo:

Figura 11 – Definindo índices

Temos as seguintes colunas:

serve para movermos a posição do índice.

Order – serve para definirmos de o índice será ascendente (  ) ou descendente (  ).

Name – é o nome que daremos para a marca (TAG) de índice da tabela. São permitidos até 10 caracteres.

Type – define o tipo do índice: Primary, Candidate, Regular.

Expression – define o campo que será usado na marca de índice. Chaves compostas podem ser  criadas.  Para  tal,  basta  concatenarmos  a  expressão  colocando  ali  os  campos  que desejamos. Funções nativas do VFP ou definidas pelo usuário também podem ser utilizadas nas expressões de índice.

Filter – permite criarmos filtros para nossos índices. Algumas vezes é interessante criar índices com filtro, por exemplo um filtro sem os registros apagados.

Collate – permite definir a página de código para o índice. Esta opção é muito útil quando do desenvolvimento de aplicações internacionais que usam idiomas diferentes. Esta opção está disponível somente a partir da versão 8 do VFP. Em versões anteriores consegue-se um resultado semelhante através do comando SET COLLATE.

Para  os  desenvolvedores  vindos  do  Clipper  e  outras  linguagens,  uma  pequena orientação: O FoxPro e Visual FoxPro utiliza índices compostos, ou seja, todos os índices são armazenados em um único arquivo físico (.cdx) ao contrário do Clipper que para cada índice seria gerado um arquivo .ntx. Essa característica é muito interessante pois elimina a necessidade constante de reindexação. Uma aplicação bem projetada em FoxPro raramente precisará de reindexação, a menos que seja por algum problema ocasionado por hardware, como corrupção de índices.

Agora crie as demais tabelas, baseando-se nas informações de cada tabela.

Agora que nossas tabelas estão criadas, vamos definir os relacionamentos permanentes. Este talvez  seja  um  conceito  novo  para  quem  vem  de  outras  linguagens.  Mas  é  bastante interessante e com esse tipo de relacionamento temos muito a ganhar. Por exemplo, o relacionamento definido entre uma tabela de clientes com a tabela de contas a receber será feito de forma automática quando adicionarmos tais tabelas ao nosso formulário. Não apenas isso, mas regras de integridade podem ser definidas a partir do relacionamento.

Vamos então modificar a estrutura do nosso banco de dados para criar os relacionamentos e a integridade referencial. Com o projeto aberto, clique na aba Data, e então clique sobre o banco de dados cpedras. Agora clique no botão “Modify“.

As  tabelas  podem  aparecer  meio  sobrepostas.  Clique  no  menu  Database  e  depois  em “Arrange“…, e então clique “Ok“.

Figura 12 – Diálogo Arrage Tables e Views

Você deverá obter algo parecido com o apresentado na figura a seguir.

Figura 13 – Banco de dados depois do comando arrange…

Na figura acima fiz questão de destacar o índice id_usuario. Note que agora as tabelas possuem os campos listados na primeira parte e logo abaixo da lista de campos vem os índices. O campo de chave primária terá uma  ao lado esquerdo da marca de índice.

Continua em Desenvolvendo em VFP – Parte 4

Print Friendly, PDF & Email

Sobre o Autor