#include <stdio.h>
#include <stdlib.h>
#include "/prg/prg.h"
#include "/prg/prgclass.h"
/*******************************************************************
*/
class AppCntr : public ApplicationControl
{
class classPPtable *PP_tbl; // описания физ. управл. параметров
class classPDtable *PD_tbl; // значения физ. управл. параметров
int FunIni( int narg, char *sarg[] );
int FunEditOnly( short int narchive );
};
/*******************************************************************
выделить цветом значения физических параметров, не равные 0
*/
int AppCntr::FunEditOnly( short int narchive )
{
int i, j;
int natt=PD_tbl->GetNatt(); // кол. параметров
int ntup=PD_tbl->GetNtup(); // кол. значений каждого параметра
unsigned char *pd;
for (i=0; i<natt; i++)
{
pd=(unsigned char*)PD_tbl->GetAdrParam( i+1 );
for (j=0; j<ntup; j++)
if ((pd[j] & ~PRG_COLOR_VAR)) pd[j] |= PRG_COLOR_VAR;
}
return 0;
}
/*******************************************************************
создание и инициализация объектов
*/
int AppCntr::FunIni( int narg, char *sarg[] )
{
//..... создать объекты
if (!(PP_tbl=NewPPtable())) return 1;
if (!(PD_tbl=NewPDtable())) return 1;
if (AdrPar.SetPar( PP_tbl, PD_tbl ) == -1) return 1; // парный
//..... инициализировать объекты
if (PP_tbl->Ini( "B_PP_EXA", // имя таблицы
1, // номер плоскости
1, 5 ) // номера начальной, конечной строк
) return 1;
if (PD_tbl->Ini( "B_PD_EXA", // имя таблицы
1, 5, // номера начального, конечного столбцов
20, // число значений
1, // есть редактирование
1 )) return 1; // горизонтальное расположение
return 0;
}
/*******************************************************************
*/
int main( int narg, char *sarg[] )
{
AppCntr Ap;
return Ap.MakeRun( narg, sarg );
}
/*******************************************************************
*/
|