我有一个用户标记的记录,比如说 100 行。我检索这样的记录:
CurrPage.SETSELECTIONFILTER(recSelection);
recSelection.FINDSET;
现在,我想一次将 20 行选择复制到另一个记录变量中,并将其传递给函数。
如何分步处理记录?像这样的东西:
batchSize := 20;
currSize := 0;
totalSize := recSelection.COUNT;
totalProcessed := 0;
recSelection.FINDSET;
REPEAT
IF (currSize = 0) THEN BEGIN
tmpRec.INIT;
END;
// how can I add the current to the tmp?
// tmpRec.INSERT -> recSelection
currSize += 1;
totalProcessed += 1;
IF (currSize = batchSize) OR (totalProcessed = totalSize) THEN BEGIN
SomeHeavyFunction(tmpRec);
currSize := 0;
END;
UNTIL recSelection.NEXT = 0;