Exemplo de como usar variants para iterar um DataSet e simplificar o acesso aos campos. Cada registro do DataSet é acessado por uma variant, promovendo acesso aos campos através do acesso direto a propriedades nomeadas, técnica conhecida como "late-binding". O acesso ao registro do DataSet através de uma variant é feito por um "class helper".
Operações em variants são mais lentas do que em tipos com ligações estáticas, além de consumir mais memória, então deve-se garantir que o cenário da sua aplicação não seja afetado pelo baixo desempenho.
O código fonte está disponível no link: https://drive.google.com/open?id=10muAtIcCyR0Y4i3T3c25r-XaFeTi8QIx
Ex:
procedure TDatSSample.Sample;
var
LDatS: TDataSet;
LRec: variant;
LId: integer;
LName: string;
LAge: integer;
begin
[...]
for LRec in LDatsS do begin
LId := LRec.ID;
LName := LRec.NAME;
LAge := LRec.AGE;
WriteLn(Format('ID: %d Nome: %s Idade: %d', [LId, LName, LAge]));
end;
end;
Massa Lucas!!!!
ResponderExcluir