- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
procedure TConsFrame.FillConsGrid(ConsHistory: TConsumptionHistory;
Date: TDateTime);
var
I: Integer;
begin
for I := 0 to ConsHistory.Count - 1 do
begin
if not (TConsumptionRecord(ConsHistory[I]).State = osDeleted) then
if DateOf(TConsumptionRecord(ConsHistory[I]).Date) = DateOf(Date) then
if ((not FIsSelTime) or
(FIsSelTime and (FSelTime = FormatDateTime('HH:mm', TConsumptionRecord(ConsHistory[I]).Date)))) then
if ((not FIsSelName) or (FIsSelName and (pos(FSelName, TProduct.TGlobalCollection.Products.RecursiveGetNodeByID(TConsumptionRecord(ConsHistory[I]).IDProduct)).Name) > 0))) then
ConsGrid.AddChild(nil, ConsHistory[I]);
end;
end;
Чтобы это безобразие написать пришлось студию на два монитора раздвинуть =)))
И то ладно еще что на 4 проверки разбил - а то в одной вообще страшно было. Потом как оказалось у меня в цикле идет вызов рекурсивной процедуры, короче все виснет. Так что это безобразие в контексте моей программы оказалось еще и бесолезным %)
Комментарии (0) RSS
Добавить комментарий