Reindexar Tabelas Paradox

Delphi

10/08/2003

Tentei fazer esta rotina:
function DbiRegenIndexes(hCursor: hDBICur): DBIResult stdcall;

procedure Reindexar(Tabela : TTable);
var
I : Integer;
Lista_Tabelas : TStrings;
begin
Lista_Tabelas := TStringList.Create;

for I := 0 to Application.ComponentCount - 1 do
begin
if Application.Components[I] is TTable then
begin
Lista_Tabelas.Add(TTable(Application.Components[I]).TableName);
end;
end;

for I := 0 to Lista_Tabelas.Count - 1 do
begin
Tabela.Close;
Tabela.TableName := Lista_Tabelas[I];
try
Tabela.Exclusive := True;
Tabela.Open;
Check(dbiRegenIndexes(Tabela.Handle));
Tabela.Exclusive := False;
except
raise;
end;
end;

Lista_Tabelas.Free;
end;

Mas o Delphi reclama e diz que a variável [b:24c79861cc]hDBICur[/b:24c79861cc] não está declarada, e eu não consegui nenhuma referência desta variável no Help.
Alguém sabe uma rotina de Reindexação de tabelas Paradox, por favor, para me enviar ou me dar uma referência.

Obrigado.


Fabio Colli

Fabio Colli

Curtidas 0

Respostas

Bacalhau

Bacalhau

10/08/2003

Caro colega,
Para fazer reindexação em Paradox, tens que apagar os indexes existentes (aqueles ficheiros xg0, xg1, px, etc) e utilizar o comando ´CreateIndex´. O ´CreateIndex´ vai precisar de diversos parâmetros refrentes aos indexs: se é primário, case sensitive, etc.

A sintaxe é ´table1.createindex(<parametros aqui>);

O melhor é ler o que o help diz sobre esses parametros
Abraço do bacalhau


GOSTEI 0
POSTAR