DBF - acessar sem o mdx

Top  Previous  Next

// Abrir DBF sem o MDX

 

// Remove o byte que requer o MDX deve-se passar como parâmetro o nome completo (com caminho) da tabela

procedure RemoveMDXByte(const dbFile: String);

const

  Value: Byte = 0;

var

  F: File of byte;

begin

  AssignFile(F, dbFile);

  Reset(F);

  try

    Seek(F, 28);     // posiciona no byte 28

    Write(F, Value); // grava o valor 0 na posição

  finally

    CloseFile(F);

  end;

  DeleteFile(ChangeFileExt(dbFile,'.MDX')); // apaga o MDX, que não é mais válido

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  RemoveMDXByte('Holdings.dbf');

  Table1.Open;

end;