delover
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору XPerformer Цитата: Наверно. Я вообщето про Eh-код пишу, а не про что то. Нету ещё ни Sum ни Count > DBGridEh1.SumList.RecalcAll; Предположительно означает, что программист захотел пересчитать агрегатные функции. Это значит нет ни Sum ни Count - их надо сосчитать. Для MemTable расчёт выполняется отдельно: if Supports(DataSet, IMemTableEh, AIntMemTable) then begin RecalcAllForIntMemTable; Функция которая реализует само суммирование: Подробнее... обратите внимание if (agfCountEh in AggrFuncs) or (agfAvg in AggrFuncs) then ResultArr[agfCountEh] := ResultArr[agfCountEh] + 1; это значит что для AVG тоже надо знать количество. Больше про AVG никто не вспоминал. Возможно автора отвлекли в этот момент. Либо момент был очень волнительный. Но расчёта AVG тут нет... Про сортировку достаточно было: procedure TRecordsViewEh.SortData(Compare: TCompareRecords; ParamSort: TObject); begin if FMemoryViewList.Count > 1 then //<<--- Добавить чтобы в цикле не ловить дурака. QuickSort(0, FMemoryViewList.Count-1, Compare, ParamSort); |