Alaska 2.0 has different column heights in the table before and after the scroll line

This forum is for eXpress++ general support.
Post Reply
Message
Author
User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Alaska 2.0 has different column heights in the table before and after the scroll line

#1 Post by Eugene Lutsenko »

Alaska 2.0 has different height line in column in the table before and after the scroll line. in 1.9, everything was fine. The program text did not change. How do I fix this? I have many such tables'

Code: Select all

/* ----- 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
Attachments
Безымянный.png
Безымянный.png (74.85 KiB) Viewed 8837 times

User avatar
rdonnay
Site Admin
Posts: 4722
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Alaska 2.0 has different column heights in the table before and after the scroll line

#2 Post by rdonnay »

Use your aPres array instead of DC_BrowPres().

DC_BrowPres() now sets the row height to -1 so it scales to the font size for each column.
You want the row height to be 20 px.
The eXpress train is coming - and it has more cars.

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska 2.0 has different column heights in the table before and after the scroll line

#3 Post by Eugene Lutsenko »

And is it possible to enter some parameter in your function, such as "true" / "false", which would mean whether to do this or not with the height of the line? and what can this array that this function returns look like without reducing the height of the string?

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska 2.0 has different column heights in the table before and after the scroll line

#4 Post by Eugene Lutsenko »

I'll try to find the source code of your function and figure it out myself

User avatar
rdonnay
Site Admin
Posts: 4722
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Alaska 2.0 has different column heights in the table before and after the scroll line

#5 Post by rdonnay »

I'll try to find the source code of your function and figure it out myself
The source for DC_BrowPres() is in \exp20\source\dclipx\_dcpres.prg
The eXpress train is coming - and it has more cars.

Wolfgang Ciriack
Posts: 478
Joined: Wed Jan 27, 2010 10:25 pm
Location: Berlin Germany

Re: Alaska 2.0 has different column heights in the table before and after the scroll line

#6 Post by Wolfgang Ciriack »

If your aPres should be the default for all browses, then you can set it with DC_BrowPres(aPres) before your cases.
If you change in your aPres XBP_PP_COL_DA_ROWHEIGHT and XBP_PP_COL_DA_CELLHEIGHT from 20 to 26 , it should be nearly the same as under 1.9.
_______________________
Best Regards
Wolfgang

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska 2.0 has different column heights in the table before and after the scroll line

#7 Post by Eugene Lutsenko »

rdonnay wrote: Wed Dec 16, 2020 6:24 am
I'll try to find the source code of your function and figure it out myself
The source for DC_BrowPres() is in \exp20\source\dclipx\_dcpres.prg
Yes, thank you, Roger! I already found it. I can find it quickly by searching for text with context in Total Commander. Still, you can somehow refer to your function with an array parameter so that the tables are displayed as in 1.9. How do I do this? What should be the array passed as a parameter?

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska 2.0 has different column heights in the table before and after the scroll line

#8 Post by Eugene Lutsenko »

Wolfgang Ciriack wrote: Wed Dec 16, 2020 6:55 am If your aPres should be the default for all browses, then you can set it with DC_BrowPres(aPres) before your cases.
If you change in your aPres XBP_PP_COL_DA_ROWHEIGHT and XBP_PP_COL_DA_CELLHEIGHT from 20 to 26 , it should be nearly the same as under 1.9.
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
*******************************************************************************************

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska 2.0 has different column heights in the table before and after the scroll line

#9 Post by Eugene Lutsenko »

rdonnay wrote: Tue Dec 15, 2020 12:17 pm Use your aPres array instead of DC_BrowPres().

DC_BrowPres() now sets the row height to -1 so it scales to the font size for each column.
You want the row height to be 20 px.
Thank you so much, Roger! Everything turned out great! Now everything is smooth!

Post Reply