DBCREATE()
 Cria um arquivo de dados a partir de um vetor que possui a estrutura do
 arquivo
------------------------------------------------------------------------------

 Sintaxe

     DBCREATE(<cArqdados>, <aEstrut>) --> NIL

 Argumentos

     <cArqdados> é o nome do novo arquivo de dados, com a opçao de drive
     e diretório podendo ser especificada como sendo uma cadeia de
     caracteres.  Se nao é mencionada uma extensao, (.dbf) é assumido para o
     arquivo.

     <aEstrut> é um vetor contendo a estrutura do <cArqdados> como sendo
     uma série de sub-vetores, um por campo.  Cada sub-vetor contém a
     definiçao dos atributos de cada campo possuindo a seguinte
     estrutura:

     Tabela 5-7: Subvetor de definiçao de campos
     ------------------------------------------------------------------------
     Posiçao           Metasímbolo       Dbstruct.ch
     ------------------------------------------------------------------------
     1                 cNome             DBS_NAME
     2                 cTipo             DBS_TYPE
     3                 nTamanho          DBS_LEN
     4                 nDecimais         DBS_DEC
     ------------------------------------------------------------------------

 Retorno

     DBCREATE() sempre retorna NIL.

 Descriçao

     DBCREATE() é uma funçao de tratamento de arquivos de dados que cria um
     arquivo de dados a partir de um vetor contendo a estrutura do arquivo.
     O vetor pode ser criado passo-a-passo ou utilizando a funçao
     DBSTRUCT().  DBCREATE() é similar ao comando CREATE FROM na qual cria
     uma nova estrutura do arquivo de dados a partir de um arquivo de
     estrutura.  Um arquivo de estrutura é criado pelos comandos CREATE ou
     COPY STRUCTURE EXTENDED.

     Antes de utilizar DBCREATE(), você deve primeiro criar o vetor
     <aEstrut> e preenchê-lo com os vetores de definiçao dos campos de
     acordo com a estrutura mencionada acima.  Quando criamos um vetor de
     definiçao de campos, há algumas regras específicas incluíndo:

       Todos os atributos dos campos devem ser especificados com um
        valor próprio do tipo de dado do atributo.  O atributo de decimais
        deve ser especificado --mesmo para os campos nao-numéricos.  Se o
        campo nao tiver o atributo de decimais, especifique zero.

       O atributo de tipo deve ser especificado utilizando a
        primeira letra do tipo de dado como mínimo.  Termos maiores e mais
        descritivos podem ser usados para legibilidade.  Por exemplo, ambos
        "C" e "Character" podem ser especificados como o atributo de tipo
        para os campos caractere.

       Em Clipper, os campos do tipo caractere podem ter um tamanho
        de até 64,000 caracteres.  Diferente do comando CREATE FROM,
        DBCREATE() nao utiliza o atributo de decimais para especificar a
        parte de maior ordem do tamanho do campo.  O tamanho do campo é
        especificada diretamente, nao importando sua magnitude.

     Para tornar as referências aos vários elementos do sub-vetor da
     definiçao de campos mais legíveis, é fornecido o arquivo header chamado
     Dbstruct.ch o qual contém os #defines que atribuem um nome á posiçao do
     vetor para cada atributo de campo.  Este é localizado no
     \CLIPPER5\INCLUDE.

 Exemplos

       O exemplo seguinte cria um vetor vazio e adiciona sub-vetores
        de definiçao de campos utilizando a funçao AADD() antes de criar o
        arquivo People.dbf.  Você pode utilizar esta técnica caso esteja
        incluindo definiçoes de campos ao vetor de estruturas dinamicamente:

        aDbf := {}
        AADD(aDbf, { "Nome", "C", 25, 0 })
        AADD(aDbf, { "Endereco", "C", 1024, 0 })
        AADD(aDbf, { "Telefone", "N", 13, 0 })
        //
        DBCREATE("People", aDbf)

       Este exemplo realiza o mesmo tipo de açao, porém declara o
        vetor de estruturas como sendo um vetor bi-dimensional, usando
        indexadores para especificar as definiçoes do campo:

        #include "Dbstruct.ch"
        //
        LOCAL aDbf[1][4]
        aDbf[1][ DBS_NAME ] := "Nome"
        aDbf[1][ DBS_TYPE ] := "Caractere"
        aDbf[1][ DBS_LEN ] := 25
        aDbf[1][ DBS_DEC ] := 0
        //
        DBCREATE("Name", aDbf)

 Arquivos:  Biblioteca CLIPPER.LIB, arquivo header Dbstruct.ch.
 To download this example - click here.

See Also: AFIELDS()* DBSTRUCT() COPY STRUCTURE EXTENDED CREATE FROM