|
![]() |
#1 |
Участник
|
Form - OnFindRecord(Which : Text[1024]) : Boolean
EXIT(OnFindRecord(Which)); Form - OnNextRecord(Steps : Integer) : Integer EXIT(OnNextRecord(Steps)); OnFindRecord(Which : Text[1024]) : Boolean IF Which = '+' THEN _Step := - 1 ELSE _Step := 1; IF FIND(Which) THEN REPEAT _Ok := CheckLineByFilter; IF NOT _Ok THEN _End := (NEXT(_Step) = 0); UNTIL _End OR _Ok; EXIT(_Ok); OnNextRecord(Steps : Integer) : Integer IF Steps <> 0 THEN _Step := Steps / ABS(Steps); Item1 := Rec; REPEAT _End := (NEXT(_Step) = 0); IF NOT _End THEN BEGIN _Ok := CheckLineByFilter; IF _Ok THEN BEGIN _Done += _Step; Item1 := Rec; END; END; UNTIL _End OR (_Done = Steps); IF _End THEN Rec := Item1; EXIT(_Done); CheckLineByFilter() и будет возвращать ДА или НЕТ - показывать строку или нет. Под себя адаптируете функции. У меня на товаре ... |
|
![]() |
#2 |
Участник
|
|
|
![]() |
#3 |
Участник
|
|
|