Carlos, fiz um teste em casa na hora do almoço. E aconteceu o seguinte:

Se eu apagar o .VAL e usar a minha rotina (Abaixo) de reindexação das
tabelas, o índice ´d criado mas o .VAL não.

Se eu não apagar o .VAL, ele cria os índices do mesmo jeito.
Pergunto:

Será que existe algum problema em eu manter esse arquivo VAL ? Ou eu posso
retira-lo ?

  -----Mensagem original-----
  De: CARLOS CASTRO [mailto:[EMAIL PROTECTED]
  Enviada em: segunda-feira, 4 de abril de 2005 10:44
  Para: delphi-br@yahoogrupos.com.br
  Assunto: Re: [delphi-br] Para os mestres em paradox - essa ta realmente
difícil.....


  Eduardo , uso um esquema parecido com o seu para reindexar o paradox,
  so que apagao todos os arquivos .VAL , antes e quando volto a abrir as
tabelas ele e recriado automaticamnte .
  Tente fazer isso.

  Carlos

  Eduardo Silva ® <[EMAIL PROTECTED]> wrote:
  Uso o seguinte comando para criar tabelas paradox em tempo de execução....

     Table1:= TTable.Create(self);
     with Table1 do
     begin
        Active       := False;
        DatabaseName := 'Banco';
        TableName    := 'Associados';
        TableType    := ttParadox;
        //------ Cria os campos da tabela <------
        with FieldDefs do
        begin
           Clear;
           Add('Codigo_matricula' , ftinteger, 0, true);
           Add('Codigo_empresa'   , ftinteger, 0, false);
           Add('Nome'             , ftString ,45, False);
           Add('F_pai'            , ftstring ,45, false);
           Add('F_mae'            , ftstring ,45, false);
           Add('Rg'               , ftstring ,10, false);
           Add('Cpf'              , ftString ,14, false);
           Add('Cart_profissional', ftinteger, 0, false);
           Add('Serie_cart'       , ftstring , 8, false);
           Add('Pis'              , ftstring ,14, false);
           Add('Dtnascimento'     , ftDate   , 0, false);
           Add('Dt_admissao'      , ftDate   , 0, false);
           Add('Dt_demissao'      , ftDate   , 0, false);
           Add('Est_civil'        , ftstring ,13, false);
        end;
        //------ Cria a chave primária e índices <------
        with IndexDefs do
        begin
           Clear;
           Add(''                , 'Codigo_matricula', [ixPrimary,
ixUnique]);
           Add('ind_nome'        , 'Nome'            , [ixCaseInsensitive]);
           Add('ind_codEmpresa'  , 'Codigo_empresa'  , [ixCaseInsensitive]);
           Add('ind_dtAdmissao'  , 'Dt_admissao'     , [ixCaseInsensitive]);
           Add('ind_dtDemissao'  , 'Dt_demissao'     , [ixCaseInsensitive]);
        end;
        //------ Cria tabela <------
        CreateTable;
        Showmessage('Tabela Associados Criada!!!');
     end;

        O parametro True do campo Codigo_matricula da tabela cria um arquivo
com a
  extensão Associado.VAL no diretorio onde esta a tabela. Esse arquivo .VAL,
  pelo que eu pude perceber, é que ele faz com que o campo Codigo_matricula
  seja requerido.
        Se eu abrir a tabela pelo DataBase Desktop vou ver que o check
Required
  Field esta marcado.
        Ocorre que o paradox muitas vezes da problema de índice (corrompe),
então
  eu criei uma rotina para reindexar a tabela, que é a rotina abaixo, só que
  se esse arquivo VAL existir eu não consigo reindexar os meus índices.

        Minha pergunta é, como eu faço para criar esse arquivo VAL via
programação
  ?

  var
     IndPri, IndSec : TIndexOptions;
  begin
     begin
        Fmenu_principal.ExcluirArquivos(ExtractFilePath(Application.Exename)
+
  'Dados\','*.px');
        Fmenu_principal.ExcluirArquivos(ExtractFilePath(Application.Exename)
+
  'Dados\','*.xg*');
        Fmenu_principal.ExcluirArquivos(ExtractFilePath(Application.Exename)
+
  'Dados\','*.yg*');

        Screen.Cursor := crHourGlass;
        IndPri := [ixPrimary, ixUnique];
        IndSec := [ixCaseInsensitive];
        with tabela do
        begin
           Active       := False;
           DatabaseName := 'Bancos';
           TableName    := 'Associados';
           TableType    := ttDefault;
           lblTabela.Caption := ' Recriando índices da tabela ' +
  tabela.TableName;
           Application.ProcessMessages;
           IndexDefs.Clear;
           AddIndex(''                , 'Codigo_matricula', IndPri);
           AddIndex('ind_codEmpresa'  , 'Codigo_empresa'  , IndSec);
           AddIndex('ind_dtAdmissao'  , 'Dt_admissao'     , IndSec);
           AddIndex('ind_dtDemissao'  , 'Dt_demissao'     , IndSec);
           AddIndex('ind_dtnascimento', 'Dtnascimento'    , IndSec);
           AddIndex('ind_nome'        , 'Nome'            , IndSec);
           Active := True;
        end;
     end;
  end;


                      ~\\|//~
                      -(o o)-
  o--------------oOOOo--(_)--oOOOo-------------o
  |                                            |
  |           Eduardo de Almeida Silva         |
  |               Kobra Sistemas               |
  |  [EMAIL PROTECTED]  -   (14)3263-0326   |
  |                                            |
  |                .oooO   Oooo.               |
  o----------------(   )---(   )---------------o
                    \ (     ) /
                     \_)   (_/



  --
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]



  Yahoo! Grupos, um serviço oferecido por:



















                                         function SearchComboBox() { if
(document.form_combo.keyword.value.length==0){  alert("Por favor, digite
algo.");  return false; }else {  document.form_combo.action
="http://br.rd.yahoo.com/SIG=12anusbmf/M=264105.3931087.6562589.1588051/D=br
clubs/S=2137111264:HM/EXP=1112624732/A=2361264/R=0/SIG=11uaou2jn/*http://www
.bondfaro.com/bondfaro/in/combosearch_in.jsp?sk=11"; } return true;} [input]
[input]   [input]

  ---------------------------------
  Links do Yahoo! Grupos

     Para visitar o site do seu grupo na web, acesse:
  http://br.groups.yahoo.com/group/delphi-br/

     Para sair deste grupo, envie um e-mail para:
  [EMAIL PROTECTED]

     O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço
do Yahoo!.



  ---------------------------------
  Yahoo! Acesso Grátis: Internet rápida e grátis. Instale o discador agora!

  [As partes desta mensagem que não continham texto foram removidas]



  --
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]



        Yahoo! Grupos, um serviço oferecido por:







----------------------------------------------------------------------------
--
  Links do Yahoo! Grupos

    a.. Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

    b.. Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

    c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo!.




[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a