GotoBookMark: pra q serve?

Delphi

30/01/2007

Bom dia galera!
to usando a seguinte procedure pra somar umas linhas selecionadas:

var
i: integer;
Sum: Double;
begin
for i:= 0 to grd.SelectedRows.Count do
begin
[b:3d14739cf7]qry.GotoBookMark(Pointer(grd.SelectedRows.Items[i - 1];[/b:3d14739cf7]
Sum:= Sum + qryValor.Value;
end;
ShowMessage(FloatToStr(Sum));
end;

ta fungando certinho ,,, mais ate hj naum consegui entender sobre o metodo GotoBookMark.

na procedure acima, qdo coloque [b:3d14739cf7]qry.GotoBookMark(Pointer(grd.SelectedRows.Items[i - 1];[/b:3d14739cf7], oke faz issu?
Alguem poderia me explicar pra q e como usar o GotoBookMark???


Output

Output

Curtidas 0

Respostas

Leufmt

Leufmt

30/01/2007

Ai vai uma explicação sobre BookMarks:

Bookmarks permitem ao programador ´memorizar´ um determinado local da tabela para que possa retornar mais tarde, é muito simples e fácil de usar já que existem apenas três métodos que lhe permitem utilizar este recurso.

Para marcar um determinado local em uma tabela necessitamos criar uma nova instância de TBookmark e executar o método GetBookMark de um TTable.

var
bmLocalImportante : TBookmark;
begin
bmLocalImportante := table.GetBookMark;
Para retornar a este local em particular a qualquer momento deve- se utiliza o método GotoBookMark(), este método recebe como parâ- metro o TBookmark recebido como retorno de GetBookMark.

table1.GotoBookMark(bmLocalImportante);
Após utilizar o Bookmark para o que desejar é importante que a memória utilizada por este recurso, seja novamente liberada para o sistema, para executar esta operação utilize o método FreeBookMark.

table1.FreeBookMark(bmLocalImportante);
Podem ser criados vários Bookmarks para uma mesma tabela, sendo este número limitado apenas pela quantidade de memória livre no equipamento.

Mas cuidado com o uso indevido deste recurso, cada instancia de TBookMark reserva uma determinada porção de memória que só será novamente liberada para ser reutilizada após a execução de um FreeBookmark.

Se vários Bookmarks forem criados e não liberados podem comprometer a execução do programa.


GOSTEI 0
POSTAR