[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

RE: Updates e Updates



Nelson Guedes Paulo Junior writes:
 > O que exatamente devemos fazer para implementar o metodo update da
 > classe HFPage?
 > i.e. Devemos tentar inserir o registro e caso seu comprimento tenha
 > aumentado devemos empurrar todos que vem depois dele ou alguma outra
 > solução alternativa?

É isso mesmo que deve ser feito. Uma maneira que parece ser fácil é:

  1. deletar o registro velho, deixando um "buraco" no diretório de slots
  2. escrever o registro novo, fazendo-o usar o "buraco" do registro
     velho.

Para o ítem 2, escreva um método auxiliar, que seria uma nova versão do
HFPage.insertRecord(). Em vez de procurar o primeiro "buraco" no
diretório de slots e nele inserir o registro, a nova versão do
HFPage.insertRecord() recebe um parâmetro adicional que é o número do
slot no qual o registro deve ser inserido.

Tendo esse método auxiliar, você pode implementar o método
HFPage.update() com uma chamada a HFPage.delete() seguida de uma chamada 
ao método auxiliar.

Reverbel