Creo que el funcionamiento es muy sencillo, aqui te paso un trozo de codigo de un programa mio en el que uso esa funcion (creo que es bastante comprensible). Es un listado de coches entre 2 códigos: // Preparación del listado de coches
if(!ReportAuto1For)
ReportAuto1For= new TReportAuto1For(this);
// Se establece el Rango entre Primero y Ultimo
ReportAuto1For->AutosTab->Open();
ReportAuto1For->AutosTab->SetRangeStart();
ReportAuto1For->AutosTab->FieldValues["codigo"]= StrToInt(PrimEd->Text);
ReportAuto1For->AutosTab->SetRangeEnd();
ReportAuto1For->AutosTab->FieldValues["codigo"]= StrToInt(UltimEd->Text);
//Se aplica el Rango
ReportAuto1For->AutosTab->ApplyRange();
//se visualiza el listado
ReportAuto1For->Report1->Preview();
Y su equivalencia en un tquety sería tambien sencilla:
En la consulta sql algo así como
Select * from TablaAutos
where codigo> :PrimerCodigo
and codigo< :UltimoCodigo;
(siendo PrimerCodigo y UltimoCodigo parametros del Tquery)