次の例は、この例関数を呼び出します:
ESSG_VOID_T DisplayOutput(
ESSG_HGRID_T hGrid,
ESSG_PPDATA_T ppDataOut,
ESSG_RANGE_T pRangeOut)
{
if (!ppDataOut)
{
printf("Data area is empty !\n");
return;
}
ESSG_ULONG_T RowIndx, ColIndx;
printf
("---- Row: %d Column: %d startRow: %d, startColumn: %d\n",
pRangeOut.ulNumRows,
pRangeOut.ulNumColumns,
pRangeOut.ulRowStart,
pRangeOut.ulColumnStart);
for(RowIndx = 0; RowIndx < pRangeOut.ulNumRows; RowIndx++)
{
for (ColIndx = 0; ColIndx < pRangeOut.ulNumColumns; ColIndx++)
{
switch(ppDataOut[RowIndx][ColIndx].usType)
{
case(ESSG_DT_STRING):
printf("%s", ppDataOut[RowIndx][ColIndx].Value.pszStr+1);
break;
case(ESSG_DT_LONG):
printf("%ld",ppDataOut[RowIndx][ColIndx].Value.lData);
break;
case(ESSG_DT_DOUBLE):
printf("%g", ppDataOut[RowIndx][ColIndx].Value.dblData);
break;
case(ESSG_DT_BLANK):
break;
case(ESSG_DT_RESERVED):
printf("#Reserved");
break;
case(ESSG_DT_ERROR):
printf("#Error");
break;
case(ESSG_DT_MISSING):
printf("#Missing");
break;
case(ESSG_DT_ZERO):
printf("%ld", ppDataOut[RowIndx][ColIndx].Value.lData);
break;
case(ESSG_DT_NOACCESS):
printf("#NoAccess");
break;
case(ESSG_DT_MEMBER):
printf("%s", ppDataOut[RowIndx][ColIndx].Value.pszStr+1);
break;
case(ESSG_DT_STRINGEX):
case(ESSG_DT_MEMBEREX):
printf("%s", ppDataOut[RowIndx][ColIndx].Value.pszStr+2);
break;
case ESSG_DT_SMARTLIST:
{
ESSG_STR_T val = 0;
printf("SmartList");
EssGGetFormattedValue(hGrid,&ppDataOut[RowIndx][ColIndx],&val);
if(val)printf("-%s",val);
EssGGetSmartlistforCell (hGrid,&ppDataOut[RowIndx][ColIndx],&val);
if(val)printf("Name -%s",val);
}
break;
case ESSG_DT_DATE:
{
ESSG_STR_T val = 0;
printf("Date");
EssGGetFormattedValue(hGrid,&ppDataOut[RowIndx][ColIndx],&val);
if(val)printf("-%s",val);
}
break;
case ESSG_DT_MNGLESS:
printf("MeaningLess");
break;
default:
break;
}
printf("(%d, %x)",ppDataOut[RowIndx][ColIndx].usType, ppDataOut[RowIndx][ColIndx].pAttributes);
if (ColIndx < pRangeOut.ulNumColumns - 1)
printf(",");
}
printf("\n");
}
}