В статье рассмотрена возможность организации полиморфного вызова процедур и функций в программах на языке FoxPro. Листинг 1 *VALID-функция для триггерной кнопки *при традиционной реализации function ...... DO CASE CASE trigger=1 DO CASE CASE typdoc=1.and.regim=1 ...................... CASE typdoc=1.and.regim=2 ...................... CASE typdoc=1.and.regim=3 ...................... CASE typdoc=2.and.regim=1 ...................... CASE typdoc=2.and.regim=2 ...................... CASE typdoc=2.and.regim=3 ...................... CASE typdoc=3.and.regim=1 ...................... CASE typdoc=3.and.regim=2 ...................... CASE typdoc=3.and.regim=3 ...................... CASE typdoc=4.and.regim=1 ...................... CASE typdoc=4.and.regim=2 ...................... CASE typdoc=4.and.regim=3 ...................... ENDCASE CASE trigger=2 CLEAR READ ENDCASE RETURN .T. Листинг 2 *VALID-функция для радиокнопки TYPDOC *(предлагаемая реализация) function ...... DO CASE CASE typdoc=1 class="LTR" CASE typdoc=2 class="SVD" CASE typdoc=3 class="SPR" CASE typdoc=1 class="RPRT" ENDCASE RETURN .T. Листинг 3 *VALID-функция для радиокнопки REGIM *(предлагаемая реализация) function ...... DO CASE CASE regim=1 metod="RG" CASE regim=2 metod="FND" CASE regim=3 metod="DEL" ENDCASE RETURN .T. Листинг 4 *VALID-функция для триггерной кнопки *(предлагаемая реализация) function ...... DO CASE CASE trigger=1 nameproc=class + "_" + metod DO &nameproc CASE trigger=2 CLEAR READ ENDCASE RETURN .T.