CloneCursor no ClientDataSet do Delphi
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNNRRq64acTCj-AaAdQCXaR9xDYQSenO1TEXUggePdN5VwrFNiWUGjBfqD1bdvAJIO2zh8OZiFIu-_uHP-IksHEGdC5sgTZ1fYAw68TyWfOmC-K518uciTPtfXHZSbtTTl2CuE2Q0woN4/s200/02.jpg)
O primeiro parâmetro é a fonte dos dados que vc quer clonar ou obter. O Reset ira Resetar toda e qualquer propriedade que possa já existir
cds.CloneCursor(cdsClientes, Reset, KeepSettings);
Vamos a definição do método
procedure CloneCursor(Source :TCustomClientDataSet; Reset: Boolean;
KeepSettings: Boolean = False);
Com isto percebemos que para clonar um ClientDataSet teremos então três situações
CdsClone.CloneCursor(CdsFonteDeDados, False, False);//Propriedade do cdsClientes
CdsClone.CloneCursor(CdsFonteDeDados, False, True); // Propriedade do CdsClone
CdsClone.CloneCursor(CdsFonteDeDados, True, False/True); //Propriedade do CdsClone são RESETADAS
Vamos para o nosso exemplo:
Vamos pegar 3 ClientDataSet, um com o nome cdsClientes que será vinculado com o provider e nas properties Filter coloque "VALOR > 10", vamos incluir uma tabela cdsComFiltros que receberá os dados do cdsClientes com as propriedades que esta adicionado, vamos incluir uma tabela cdsSemFiltros que receberá os dados do cdsClientes sem as propriedades que esta adicionado!
No primeiro botão vamos coloca o código para continuar com as propriedades duplicadas para o próximo ClientDataSet
procedure TFSistema.Button2Click(Sender: TObject);
begin
cdsComFiltros.CloneCursor(cdsClientes, False, True);
end;
No segundo botão vamos coloca o código para não replicar as propriedades do ClientDataSet
procedure TFSistema.Button3Click(Sender: TObject);
begin
cdsSemFiltros.CloneCursor(cdsClientes, True, True);
end;
Resultado do CloneCursor com e sem duplicar as propriedades:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE1ekdqmM-vF8duO3eZql4w1bkkmh0f7R3Z2QhZlD4teshyphenhyphenmirnqVnHBOZVQR-Bm9rDup2Coy3BFNyFxhxp6Dq7dbhmgIE5cNyxpf6ngsu8PXrfv1EGQbUp-H9_V0U4txknQ6gTY39v3s/s640/03.gif)
Exemplo: Download do exemplo
EXELENTE!!! Me ayudo a comprender algo que a mi entender esta algo escondido en los parametros, o realmente no era claro. muchas gracias
ResponderExcluir