If the reason for the violation of the table display is in the dc_browpres () function, then how can I prevent editing the table without using it (set the mode: "view only")?
Code: Select all
*******************************************************************************************
********  4.1.3.6. Обобщ.форма по достов.моделей при разн.инт.крит.
*******            Отображаются обобщенные результаты измерения достоверности идентификации
*******            по всем моделям и интегральным критериям из БД: Dost_mod.DBF'
*******************************************************************************************
FUNCTION F4_1_3_6(mPar)
LOCAL GetList := {}, aPres, oBrowse, oToolBar, aColors, bColor, GetOptions
PUBLIC mWindow := 17           // Интервал сглаживания
Running(.T.)
IF M_KodAdmAppls = 0           // Выйти из системы если нет авторизации
   LB_Warning(L("Вы не авторизовались в системе (режим 1.1) и не можете ей пользоваться!"))
   Running(.F.)
   RETURN NIL
ENDIF
mRegim = IF(mPar='4.1.3.6.', 'F4.1.3.6()', 'F3.4()')
mFlag = .F.
IF ApplChange(mRegim)          // Если не запущен режим, работающий с БД,  то перейти в папку выбранного приложения
   mFlag = .T.
ENDIF
IF .NOT. FILE('Dost_modCls.dbf') .OR. .NOT. FILE('DostRasp.dbf')
   LB_Warning(L("Необходимо выполнить режим: 3.5. Синтез и верификация моделей"))
   mFlag = .T.
ENDIF
IF .NOT. FILE("Rasp.txt")
   LB_Warning(L("Необходимо выполнить режим: 3.5. Синтез и верификация моделей"))
   mFlag = .T.
ELSE
*  StrFile("35", "Rasp.txt")             // Запись текстового файла с информацией о том, что был выполнен режим 3.5
   mRasp = FileStr("Rasp.txt")
   IF mRasp <> '35'
      LB_Warning(L("Необходимо выполнить режим: 3.5. Синтез и верификация моделей"))
      mFlag = .T.
   ENDIF
ENDIF
IF mFlag
   **************************************************************
   ***** БД, открытые перед запуском главного меню
   ***** Восстанавливать их после выхода из функций главного меню
   **************************************************************
   CLoseAll()            // Закрытие всех баз данных с ожиданием завершения операций
   DIRCHANGE(Disk_dir)                          // Перейти в папку с исполнимым модулем системы
   USE PathGrAp EXCLUSIVE NEW
   USE Appls    EXCLUSIVE NEW
   USE Users    EXCLUSIVE NEW
   Running(.F.)
   RETURN NIL
ENDIF
CLoseAll()            // Закрытие всех баз данных с ожиданием завершения операций
USE DostRasp    EXCLUSIVE NEW
USE Dost_modCls EXCLUSIVE NEW
****** Поиск строк с максимальным значением F-меры, L1-меры и L2-меры
SELECT Dost_modCls
DBGOTOP()
M_MaxValF = -9999999999
DO WHILE .NOT. EOF()
   M_MaxValF = MAX(M_MaxValF, Dost_modCls->F_mera)
   DBSKIP(1)
ENDDO
DBGOTOP()
M_MaxValL1 = -9999999999
DO WHILE .NOT. EOF()
   M_MaxValL1 = MAX(M_MaxValL1, Dost_modCls->L1_mera)
   DBSKIP(1)
ENDDO
DBGOTOP()
M_MaxValL2 = -9999999999
DO WHILE .NOT. EOF()
   M_MaxValL2 = MAX(M_MaxValL2, Dost_modCls->L2_mera)
   DBSKIP(1)
ENDDO
DBGOTOP()
/* ----- Create ToolBar ----- */
*** Задать модель **********************************
PUBLIC Ar_Model := {"Abs", "Prc1", "Prc2", "Inf1", "Inf2", "Inf3", "Inf4", "Inf5", "Inf6", "Inf7" }
*** Задать тип графика частотного распределения *****************
mLen1 = LEN(L("Помощь по мерам достоверности"))
mLen2 = LEN(L("Помощь по частотным распределениям"))
@ 28.5, 0 DCTOOLBAR oToolBar SIZE mLen1, 1.5
DCADDBUTTON CAPTION L('Помощь по мерам достоверности')      ;
   SIZE         mLen1-2                                     ;
   ACTION {||Help4136(), DC_GetRefresh(GetList)}            ;
   PARENT oToolBar                                          ;
   TOOLTIP L('Помощь по мерам достоверности')
@ 28.5, mLen1+3 DCTOOLBAR oToolBar SIZE mLen2, 1.5
DCADDBUTTON CAPTION L('Помощь по частотным распределениям') ;
   SIZE         mLen2-2                                     ;
   ACTION {||Help41311(), DC_GetRefresh(GetList)}           ;
   PARENT oToolBar                                          ;
   TOOLTIP L('Помощь по частотным распределениям')
@ 28.5, mLen1+mLen2+6 DCTOOLBAR oToolBar SIZE LEN(L("TP,TN,FP,FN"))+LEN(L("(TP-FP), (TN-FN)"))+LEN(L("(T-F)/(T+F)*100")), 1.5
DCADDBUTTON CAPTION L('TP,TN,FP,FN')                        ;
   SIZE         LEN(L("TP,TN,FP,FN"))-0                     ;
   ACTION {||Graph41311(1,mPar), DC_GetRefresh(GetList)}         ;
   PARENT oToolBar                                          ;
   TOOLTIP L('Графики: TP,TN,FP,FN')
DCADDBUTTON CAPTION L('(TP-FP), (TN-FN)')                   ;
   SIZE         LEN(L("(TP-FP), (TN-FN)"))-2                ;
   ACTION {||Graph41311(2,mPar), DC_GetRefresh(GetList)}         ;
   PARENT oToolBar                                          ;
   TOOLTIP L('Графики: (TP-FP), (TN-FN)')
DCADDBUTTON CAPTION L('(T-F)/(T+F)*100')                    ;
   SIZE         LEN(L("(T-F)/(T+F)*100"))-2                 ;
   ACTION {||Graph41311(3,mPar), DC_GetRefresh(GetList)}         ;
   PARENT oToolBar                                          ;
   TOOLTIP L('Графики: (TP-FP)/(TP+FP)*100 и (TN-FN)/(TN+FN)*100')
*** Задать интервал сглаживания в отдельном окошке, как "Вписать в окно", по умолчанию без сглаживания (1) <===################
@ 28.5, mLen1+mLen2+6+LEN(L("TP,TN,FP,FN"))+LEN(L("(TP-FP), (TN-FN)"))+LEN(L("(T-F)/(T+F)*100"))+1 DCTOOLBAR oToolBar SIZE 30, 1.5
PRIVATE aInput[3]
aInput[1] = mWindow
aInput[2] = 0
aInput[3] = 0
DCADDBUTTON CAPTION L('Задать интервал сглаживания')            ;
   SIZE LEN(L("Задать интервал сглаживания"))-1                 ;
   ACTION {||SetIntSglag(aInput), DC_GetRefresh(GetList)}  ;
   PARENT oToolBar                                 ;
   TOOLTIP L('Задать интервал сглаживания')
/* ----- Create browse ----- */
aColors := { {GRA_CLR_WHITE,GRA_CLR_DARKRED  },;
             {GRA_CLR_WHITE,GRA_CLR_DARKBLUE },;
             {GRA_CLR_BLACK,GRA_CLR_DARKGREEN} }
aPres := ;
  { { XBP_PP_COL_HA_FGCLR, GRA_CLR_WHITE            },;  // Header FG Color
    { XBP_PP_COL_HA_BGCLR, GRA_CLR_DARKGRAY         },;  // Header BG Color
    { XBP_PP_COL_FA_FGCLR, GRA_CLR_YELLOW           },;  // Footer FG Color
    { XBP_PP_COL_FA_BGCLR, GRA_CLR_DARKGRAY         },;  // Footer BG Color
    { XBP_PP_COL_DA_ROWSEPARATOR, XBPCOL_SEP_DOTTED },;  // Row Sep
    { XBP_PP_COL_DA_COLSEPARATOR, XBPCOL_SEP_DOTTED },;  // Col Sep
    { XBP_PP_COL_HA_ALIGNMENT, XBPALIGN_LEFT        },;  // Header alignment
    { XBP_PP_COL_DA_ROWHEIGHT, 20                   },;  // Row Height
    { XBP_PP_COL_DA_CELLHEIGHT, 20                  } }  // Cell Height
*PRIVATE bColorBlock:={||IIF(L2_mera=M_MaxValL2, {nil,aColor[153]},IIF(L1_mera=M_MaxValL1,{nil,aColor[107]},IIF(F_mera=M_MaxValF,{nil,aColor[33]},{nil,GRA_CLR_WHITE}))) }  // Клиффорд
*@ .. DCBROWSE .. COLOR {||IIF(Recno()%2==0,{nil,GRA_CLR_PALEGRAY},{nil,GRA_CLR_WHITE})}              // Управление фоном отображения строки от Роджера
DO CASE
   CASE M_MaxValF <= M_MaxValL1 .AND. M_MaxValL1 <= M_MaxValL2
        @ 1, 0 DCBROWSE oBrowse ALIAS 'Dost_modCls' SIZE 210,27    ;
               PRESENTATION DC_BrowPres() ;                                     // Только просмотр БД Users               
               HEADLINES 4                ;                                     // Кол-во строк в заголовке
               FREEZELEFT {1,2}           ;                                     // При горизонтальной прокрутке не прокручивать первые 2 колонки
               COLOR {||IIF(L2_mera=M_MaxValL2, {nil,aColor[153]},IIF(L1_mera=M_MaxValL1,{nil,aColor[107]},IIF(F_mera=M_MaxValF,{nil,aColor[33]},{nil,GRA_CLR_WHITE})))}
   CASE M_MaxValF <= M_MaxValL2 .AND. M_MaxValL2 <= M_MaxValL1
        @ 1, 0 DCBROWSE oBrowse ALIAS 'Dost_modCls' SIZE 210,27    ;
               PRESENTATION DC_BrowPres() ;                                     // Только просмотр БД Users               
               HEADLINES 4                ;                                     // Кол-во строк в заголовке
               FREEZELEFT {1,2}           ;                                     // При горизонтальной прокрутке не прокручивать первые 2 колонки
               COLOR {||IIF(L1_mera=M_MaxValL1, {nil,aColor[107]},IIF(L2_mera=M_MaxValL2,{nil,aColor[153]},IIF(F_mera=M_MaxValF,{nil,aColor[33]},{nil,GRA_CLR_WHITE})))}
   CASE M_MaxValL1 <= M_MaxValF  .AND. M_MaxValF  <= M_MaxValL2
        @ 1, 0 DCBROWSE oBrowse ALIAS 'Dost_modCls' SIZE 210,27    ;
               PRESENTATION DC_BrowPres() ;                                     // Только просмотр БД Users               
               HEADLINES 4                ;                                     // Кол-во строк в заголовке
               FREEZELEFT {1,2}           ;                                     // При горизонтальной прокрутке не прокручивать первые 2 колонки
               COLOR {||IIF(L2_mera=M_MaxValL2, {nil,aColor[153]},IIF(F_mera =M_MaxValF,{nil,aColor[33]},IIF(L1_mera=M_MaxValL1,{nil,aColor[107]},{nil,GRA_CLR_WHITE})))}
   CASE M_MaxValL1 <= M_MaxValL2 .AND. M_MaxValL2 <= M_MaxValF
        @ 1, 0 DCBROWSE oBrowse ALIAS 'Dost_modCls' SIZE 210,27    ;
               PRESENTATION DC_BrowPres() ;                                     // Только просмотр БД Users               
               HEADLINES 4                ;                                     // Кол-во строк в заголовке
               FREEZELEFT {1,2}           ;                                     // При горизонтальной прокрутке не прокручивать первые 2 колонки
               COLOR {||IIF(F_mera=M_MaxValF, {nil,aColor[33]},IIF(L2_mera=M_MaxValL2,{nil,aColor[153]},IIF(L1_mera=M_MaxValL1,{nil,aColor[107]},{nil,GRA_CLR_WHITE})))}
   CASE M_MaxValL2 <= M_MaxValF  .AND. M_MaxValF  <= M_MaxValL1
        @ 1, 0 DCBROWSE oBrowse ALIAS 'Dost_modCls' SIZE 210,27    ;
               PRESENTATION DC_BrowPres() ;                                     // Только просмотр БД Users               
               HEADLINES 4                ;                                     // Кол-во строк в заголовке
               FREEZELEFT {1,2}           ;                                     // При горизонтальной прокрутке не прокручивать первые 2 колонки
               COLOR {||IIF(L1_mera=M_MaxValL1, {nil,aColor[107]},IIF(F_mera=M_MaxValF,{nil,aColor[33]},IIF(L2_mera=M_MaxValL2,{nil,aColor[153]},{nil,GRA_CLR_WHITE})))}
   CASE M_MaxValL2 <= M_MaxValL1 .AND. M_MaxValL1 <= M_MaxValF
        @ 1, 0 DCBROWSE oBrowse ALIAS 'Dost_modCls' SIZE 210,27    ;
               PRESENTATION DC_BrowPres() ;                                     // Только просмотр БД Users               
               HEADLINES 4                ;                                     // Кол-во строк в заголовке
               FREEZELEFT {1,2}           ;                                     // При горизонтальной прокрутке не прокручивать первые 2 колонки
               COLOR {||IIF(F_mera=M_MaxValF, {nil,aColor[33]},IIF(L1_mera=M_MaxValL1,{nil,aColor[107]},IIF(L2_mera =M_MaxValL2,{nil,aColor[153]},{nil,GRA_CLR_WHITE})))}
ENDCASE
*   Структура базы данных N°=22: Dost_modCls.dbf
*   ============================================================================
*   |  N  |  Имя поля  | Тип | Ширина | Дес. |            Примечание           |
*   ============================================================================
*   |  1  | TYPE_MODEL |  C  |  250   |  0   |
*   |  2  | INT_KRIT   |  C  |   40   |  0   |
*   |  3  | N_LOGOBJ   |  N  |   15   |  0   | 3. Количество логических объектов расп.выборки, фактически относящихся к классу    (TP+FN)
*   |  4  | N_T_IDENT  |  N  |   15   |  0   | 4. Количество верно    идентифицированных   объектов расп.выборки (TP)
*   |  5  | N_F_NIDENT |  N  |   15   |  0   | 5. Количество ошибочно неидентифицированных объектов расп.выборки (FN)
*   |  6  | N_F_IDENT  |  N  |   15   |  0   | 6. Количество ошибочно идентифицированных   объектов расп.выборки (FP)
*   |  7  | N_T_NIDENT |  N  |   15   |  0   | 7. Количество верно    неидентифицированных объектов расп.выборки (TN)
*   |  8  | P_T_IDENT  |  N  |   15   |  7   | 8. Вероятность верной       идентификации объекта с классом с использованием модели
*   |  9  | P_T_NIDENT |  N  |   15   |  7   | 9. Вероятность верной    не идентификации объекта с классом с использованием модели
*   | 10  | P_F_IDENT  |  N  |   15   |  7   | 10.Вероятность ошибочной    идентификации объекта с классом с использованием модели
*   | 11  | P_F_NIDENT |  N  |   15   |  7   | 11.Вероятность ошибочной не идентификации объекта с классом с использованием модели
*   | 12  | P_AVR_T    |  N  |   15   |  7   | 12.Вероятность верной идентификации или неидентификации объекта с классом с использованием модели (моя мера)
*   | 13  | DVMOD      |  N  |   15   |  7   | 13.M_DVMod = (NT-NF)/(NT+NF)*100   Моя мера качества модели-классификатора (в знаменателе: "всего объектов")
*   | 14  | PRECISION  |  N  |   15   |  7   | 14.Precision = TP/(TP+FP)    - точность
*   | 15  | RECALL     |  N  |   15   |  7   | 15.Recall    = TP/(TP+FN)    - полнота
*   | 16  | F_MERA     |  N  |   15   |  7   | 16.F-mera    = 2*(Precision*Recall)/(Precision+Recall)  (мультиклассовый вариант)
*   | 17  | S_T_IDENT  |  N  |   15   |  7   | 17.Сумма модулей уровней сходства верно    идентифицированных   объектов расп.выборки (STP)
*   | 18  | S_F_NIDENT |  N  |   15   |  7   | 18.Сумма модулей уровней сходства ошибочно неидентифицированных объектов расп.выборки (SFN)
*   | 19  | S_F_IDENT  |  N  |   15   |  7   | 19.Сумма модулей уровней сходства ошибочно идентифицированных   объектов расп.выборки (SFP)
*   | 20  | S_T_NIDENT |  N  |   15   |  7   | 20.Сумма модулей уровней сходства верно    неидентифицированных объектов расп.выборки (STN)
*   | 21  | SPRECISION |  N  |   15   |  7   | 21.SPrecision = STP/(STP+SFP)    - точность с учетом уровней сходства
*   | 22  | SRECALL    |  N  |   15   |  7   | 22.SRecall    = STP/(STP+SFN)    - полнота  с учетом уровней сходства
*   | 23  | L1_MERA    |  N  |   15   |  7   | 23.L1-mera    = 2*(SPrecision*SRecall)/(SPrecision+SRecall)  (L1-мера проф.Е.В.Луценко - нечеткое мультиклассовое обобщение
*   | 24  | A_T_IDENT  |  N  |   15   |  7   | 17.Среднее модулей уровней сходства верно    идентифицированных   объектов расп.выборки (ATP=STP/TP)
*   | 25  | A_F_NIDENT |  N  |   15   |  7   | 18.Среднее модулей уровней сходства ошибочно неидентифицированных объектов расп.выборки (AFN=SFN/FN)
*   | 26  | A_F_IDENT  |  N  |   15   |  7   | 19.Среднее модулей уровней сходства ошибочно идентифицированных   объектов расп.выборки (AFP=SFP/FP)
*   | 27  | A_T_NIDENT |  N  |   15   |  7   | 20.Среднее модулей уровней сходства верно    неидентифицированных объектов расп.выборки (ATN=STN/TN)
*   | 28  | APRECISION |  N  |   15   |  7   | 21.APrecision = ATP/(ATP+AFP)    - точность с учетом уровней сходства
*   | 29  | ARECALL    |  N  |   15   |  7   | 22.ARecall    = ATP/(ATP+AFN)    - полнота  с учетом уровней сходства
*   | 30  | L2_MERA    |  N  |   15   |  7   | 23.L2-mera    = 2*(APrecision*ARecall)/(APrecision+ARecall)  (L2-мера проф.Е.В.Луценко - нечеткое мультиклассовое обобщение
*   | 31  | DATE       |  C  |   10   |  0   | 24. Date       Дата формирования  записи БД
*   | 32  | TIME       |  C  |   8    |  0   | 25. Time       Время формирования записи БД
*   ============================================================================
*   В С Е Г О  длина записи:   624   байтов.                                   |
*   ============================================================================
* #############################################################################################################################################
* ПОСЧИТАТЬ И ОТОБРАЗИТЬ СРЕДНИЕ МОДУЛИ УРОВНИ СХОДСТВА ДЛЯ ВЕРНО И ОШИБОЧНО ИДЕНТИФИЦИРОВАННЫХ И НЕИДЕНТИФИЦРОВАННЫХ ОБЪЕКТОВ И L2-МЕРУ ИЗ НИХ
* #############################################################################################################################################
*TP - истино-положительное решение;
*TN - истино-отрицательное решение;
*FP - ложно-положительное решение;
*FN - ложно-отрицательное решение.
WNF = 10
*Цвет шрифта соотвествует строкам с максимальным значенем в нужной колонке
*DCBROWSECOL FIELD Dost_modCls->Type_Model HEADER L("Наименование модели;и частного критерия"                             ) PARENT oBrowse                  COLOR bColorBlock WIDTH 31
*DCBROWSECOL FIELD Dost_modCls->Int_Krit   HEADER L("Интегральный критерий"                                               ) PARENT oBrowse                  COLOR bColorBlock WIDTH 15
*DCBROWSECOL DATA FieldAnchor( 3, 9,0)     HEADER L("Всего;логических;объектов;выборки"                                   ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor( 4, 9,0)     HEADER L("Число истино-;положительных;решений (TP)"                            ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor( 7, 9,0)     HEADER L("Число истино-;отрицательных;решений (TN)"                            ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor( 6, 9,0)     HEADER L("Число ложно- ;положительных;решений (FP)"                            ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor( 5, 9,0)     HEADER L("Число ложно- ;отрицательных;решений (FN)"                            ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(14, 9,3)     HEADER L("Точность;модели"                                                     ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(15, 9,3)     HEADER L("Полнота ;модели"                                                     ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(16, 9,3)     HEADER L("F-мера  ;Ван;Ризбергена"                                             ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF COLOR {||{nil,aColor[33]}}
*DCBROWSECOL DATA FieldAnchor(17,10,3)     HEADER L("Сумма модулей;уровней сходства;истино-положит.;решений (STP)"        ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(20,10,3)     HEADER L("Сумма модулей;уровней сходства;истино-отрицат.;решений (STN)"        ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(19,10,3)     HEADER L("Сумма модулей;уровней сходства;ложно-положит.;решений (SFP)"         ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(18,10,3)     HEADER L("Сумма модулей;уровней сходства;ложно-отрицат.;решений (SFN)"         ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(21, 9,3)     HEADER L("S-Точность;модели"                                                   ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(22, 9,3)     HEADER L("S-Полнота ;модели"                                                   ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(23, 9,3)     HEADER L("L1-мера  ;проф.;Е.В.Луценко"                                         ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF COLOR {||{nil,aColor[107]}}
*DCBROWSECOL DATA FieldAnchor(24, 9,3)     HEADER L("Средний модуль;уровней сходства;истино-положит.;решений;(ATP=STP/TP)") PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(27, 9,3)     HEADER L("Средний модуль;уровней сходства;истино-отрицат.;решений;(ATN=STN/TN)") PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(26, 9,3)     HEADER L("Средний модуль;уровней сходства;ложно-положит.;решений;(AFP=SFP/FP)" ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(25, 9,3)     HEADER L("Средний модуль;уровней сходства;ложно-отрицат.;решений;(AFN=SFN/FN)" ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(28, 9,3)     HEADER L("A-Точность;модели;APrecision;= ATP/(ATP+AFP)"                        ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(29, 9,3)     HEADER L("A-Полнота ;модели;ARecall;= ATP/(ATP+AFN)"                           ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(30, 9,3)     HEADER L("L2-мера  ;проф.;Е.В.Луценко"                                         ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF COLOR {||{nil,aColor[153]}}
*DCBROWSECOL DATA FieldAnchor( 8, 9,3)     HEADER L("Процент;правильной;идентификации"                                    ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor( 9, 9,3)     HEADER L("Процент;правильной;не идентификации"                                 ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(10, 9,3)     HEADER L("Процент;ошибочной ;идентификации"                                    ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(11, 9,3)     HEADER L("Процент;ошибочной ;не идентификации"                                 ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL DATA FieldAnchor(12, 9,3)     HEADER L("Процент;правильных;результатов"                                      ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
*DCBROWSECOL FIELD Dost_modCls->Date       HEADER L("Дата;получения;результата"                                           ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH 10
*DCBROWSECOL FIELD Dost_modCls->Time       HEADER L("Время;получения;результата"                                          ) PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH  8
WNF = 10
*Цвет шрифта соотвествует строкам с максимальным значенем в нужной колонке
DCBROWSECOL FIELD Dost_modCls->Type_Model HEADER L("Наименование модели;и частного критерия"                             ) PARENT oBrowse                   WIDTH 31
DCBROWSECOL FIELD Dost_modCls->Int_Krit   HEADER L("Интегральный критерий"                                               ) PARENT oBrowse                   WIDTH 15
DCBROWSECOL DATA FieldAnchor( 3, 9,0)     HEADER L("Всего;логических;объектов;выборки"                                   ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor( 4, 9,0)     HEADER L("Число истино-;положительных;решений (TP)"                            ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor( 7, 9,0)     HEADER L("Число истино-;отрицательных;решений (TN)"                            ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor( 6, 9,0)     HEADER L("Число ложно- ;положительных;решений (FP)"                            ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor( 5, 9,0)     HEADER L("Число ложно- ;отрицательных;решений (FN)"                            ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(14, 9,3)     HEADER L("Точность;модели"                                                     ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(15, 9,3)     HEADER L("Полнота ;модели"                                                     ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(16, 9,3)     HEADER L("F-мера  ;Ван;Ризбергена"                                             ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF COLOR {||{nil,aColor[33]}}
DCBROWSECOL DATA FieldAnchor(17,10,3)     HEADER L("Сумма модулей;уровней сходства;истино-положит.;решений (STP)"        ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(20,10,3)     HEADER L("Сумма модулей;уровней сходства;истино-отрицат.;решений (STN)"        ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(19,10,3)     HEADER L("Сумма модулей;уровней сходства;ложно-положит.;решений (SFP)"         ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(18,10,3)     HEADER L("Сумма модулей;уровней сходства;ложно-отрицат.;решений (SFN)"         ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(21, 9,3)     HEADER L("S-Точность;модели"                                                   ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(22, 9,3)     HEADER L("S-Полнота ;модели"                                                   ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(23, 9,3)     HEADER L("L1-мера  ;проф.;Е.В.Луценко"                                         ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF COLOR {||{nil,aColor[107]}}
DCBROWSECOL DATA FieldAnchor(24, 9,3)     HEADER L("Средний модуль;уровней сходства;истино-положит.;решений;(ATP=STP/TP)") PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(27, 9,3)     HEADER L("Средний модуль;уровней сходства;истино-отрицат.;решений;(ATN=STN/TN)") PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(26, 9,3)     HEADER L("Средний модуль;уровней сходства;ложно-положит.;решений;(AFP=SFP/FP)" ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(25, 9,3)     HEADER L("Средний модуль;уровней сходства;ложно-отрицат.;решений;(AFN=SFN/FN)" ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(28, 9,3)     HEADER L("A-Точность;модели;APrecision;= ATP/(ATP+AFP)"                        ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(29, 9,3)     HEADER L("A-Полнота ;модели;ARecall;= ATP/(ATP+AFN)"                           ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(30, 9,3)     HEADER L("L2-мера  ;проф.;Е.В.Луценко"                                         ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF COLOR {||{nil,aColor[153]}}
DCBROWSECOL DATA FieldAnchor( 8, 9,3)     HEADER L("Процент;правильной;идентификации"                                    ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor( 9, 9,3)     HEADER L("Процент;правильной;не идентификации"                                 ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(10, 9,3)     HEADER L("Процент;ошибочной ;идентификации"                                    ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(11, 9,3)     HEADER L("Процент;ошибочной ;не идентификации"                                 ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL DATA FieldAnchor(12, 9,3)     HEADER L("Процент;правильных;результатов"                                      ) PARENT oBrowse FONT "9.Courier"  WIDTH WNF
DCBROWSECOL FIELD Dost_modCls->Date       HEADER L("Дата;получения;результата"                                           ) PARENT oBrowse FONT "9.Courier"  WIDTH 10
DCBROWSECOL FIELD Dost_modCls->Time       HEADER L("Время;получения;результата"                                          ) PARENT oBrowse FONT "9.Courier"  WIDTH  8
DCGETOPTIONS TABSTOP RESIZE RESIZEDEFAULT DCGUI_RESIZE_AUTORESIZE
DCREAD GUI ;
   OPTIONS GetOptions ;
   MODAL ;
   TITLE mPar+' '+L('Обобщ.форма по достов.моделей при разн.инт.крит. Текущая модель: "')+UPPER(Ar_Model[M_CurrInf])+'"';
   FIT ;
   CLEAREVENTS
   **************************************************************
   ***** БД, открытые перед запуском главного меню
   ***** Восстанавливать их после выхода из функций главного меню
   **************************************************************
   CLoseAll()            // Закрытие всех баз данных с ожиданием завершения операций
   DIRCHANGE(Disk_dir)                          // Перейти в папку с исполнимым модулем системы
   USE PathGrAp EXCLUSIVE NEW
   USE Appls    EXCLUSIVE NEW
   USE Users    EXCLUSIVE NEW
   **************************************************************
Running(.F.)
ReTURN nil
*******************************************************************************************