CREATE FROM
 Cria um novo arquivo (.dbf) a partir de um arquivo de estrutura
------------------------------------------------------------------------------

 Sintaxe

     CREATE <xcArquivo> FROM <xcArquivoEstrutura>

 Argumentos

     <xcArquivo> é o nome do novo arquivo de dados a ser criado a partir
     do arquivo de estrutura.

     <xcArquivoEstrutura> é o nome de um arquivo de estrutura que será
     usado para a definiçao do novo arquivo de dados.

     Ambos os argumentos podem ser especificados literalmente ou por
     expressao caractere entre parênteses. Se nao for colocada extensao, o
     assumido é (.dbf).

 Descriçao

     O comando CREATE FROM produz um novo arquivo de dados cujas definiçoes
     de campo sao extrídas do conteúdo de um arquivo de estrutura.  Para ser
     chamado de arquivo de estrutura, um arquivo de dados deve conter os
     quatro campos seguintes:

     Tabela 4-7: Formato de um Arquivo de Estrutura
     ------------------------------------------------------------------------
     Campo    Nome           Tipo           Tamanho     Decimais
     ------------------------------------------------------------------------
     1        Field_name     Caractere      10
     2        Field_type     Caractere      1
     3        Field_len      Numérico       3           0
     4        Field_dec      Numérico       4           0
     ------------------------------------------------------------------------

     <xcArquivo> é automaticamente aberto na área de trabalho corrente após
     ser criado.

 Notas

       Dicionários de dados: Para aplicaçoes em dicionário de
        dados, você pode ter outros campos em qualquer número dentro do
        arquivo de estrutura para descrever os atributos dos campos.  Você
        pode, por exemplo, querer incluir campos para descrever os atributos
        dos campos na forma de descriçao, rótulo, cores, máscaras, e uma
        expressao de validaçao para a cláusula VALID.  Quando você usa o
        comando CREATE FROM, o Clipper cria o novo arquivo de dados somente
        a partir dos campos pedidos, ignorando todos os outros campos na
        estrutura.  Além disso, o Clipper nao é sensível à ordem dos campos
        pedidos.

       Tamanho de campos caractere maiores do que 999: Existem
        dois métodos para criar um campo caractere maior do que 999
        posiçoes:

        .  Especificar o tamanho do campo usando os campos Field_len
           e Field_dec de acordo com a seguinte formulaçao:

           FIELD->Field_len := length % 256
           FIELD->Field_dec := INT(length / 256)

        .  Modificar a composiçao da futura estrutura trocando o
           tamanho do Field_len para 5 e entao especificando o tamanho do
           campo real.  Isto pode ser feito em DBU.EXE.  Consulte o capítulo
           DBU no livro Programando e Utilitários para mais informaçoes.

 Exemplos

       Este exemplo é um procedimento que simula um utilitário
        CREATE interativo:

        CreateDatabase("NewFile")
        RETURN

        FUNCTION  CreateDatabase( cNewDbf )
           CREATE TmpExt        // Cria uma estrutura vazia
           USE TmpExt
           lMore = .T.
           DO WHILE lMore       // Entra com as definiçoes
              APPEND BLANK
              CLS
              @ 5, 0 SAY "Nome.....: " GET Field_name
              @ 6, 0 SAY "Tipo.....: " GET Field_type
              @ 7, 0 SAY "Tamanho..: " GET Field_len
              @ 8, 0 SAY "Decimais.: " GET Field_dec
              READ
              lMore := (!EMPTY(Field_name))
           ENDDO
           DELETE ALL FOR EMPTY(Field_name)   // Elimina registros em branco
           PACK
           CLOSE
           CREATE (cNewDbf) FROM TmpExt       // Cria arquivo novo
           ERASE TmpExt.dbf
           RETURN NIL

       Este exemplo cria uma nova definiçao num arquivo de estrutura
        para um campo caractere com o tamanho de 4000 caracteres:

        APPEND BLANK
        REPLACE Field_name WITH "Notes";
           Field_type WITH "C",;
           Field_len  WITH INT(4000 / 256),;
           Field_dec  WITH 4000 % 256

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: COPY STRUCTURE COPY STRUCTURE EXTENDED CREATE