本文整理匯總了C++中EA_vCls函數的典型用法代碼示例。如果您正苦於以下問題:C++ EA_vCls函數的具體用法?C++ EA_vCls怎麽用?C++ EA_vCls使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了EA_vCls函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: TmsMenu
void TmsMenu(void)
{
#ifdef TMS
uint uiRet;
while(1)
{
PubDisplayCen(0 , "TMS分發");
PubDisplay(1 , "1.簽到 2.通訊設置");
PubDisplay(2 , "3.新裝機密鑰分發");
PubDisplay(3 , "4.重置密鑰5.密鑰加載");
PubDisplay(4 , "6.離線分發");
uiRet = PubuiInkey(60);
PubDisplayCen(0 , " ");//清屏
switch(uiRet)
{
case EM_key_NOHIT:
case EM_key_CANCEL:
EA_vCls();
return;
case EM_key_1:
EI_tms_ucKeyposLogin(&EG_TMSHead,&FV.EG_TMSstru);
break;
case EM_key_2:
PubTMSSet(&EG_TMSHead,&FV.EG_TMSstru);
break;
case EM_key_3:
EI_tms_ucPosDownKey(&EG_TMSHead,&FV.EG_TMSstru);
break;
case EM_key_4:
EI_tms_ucPosResetKey(&EG_TMSHead,&FV.EG_TMSstru);
break;
case EM_key_5:
EI_tms_ucPosLoadKey(&EG_TMSHead,&FV.EG_TMSstru);
break;
case EM_key_6:
TMKDeliveTMS();
break;
case EM_key_FUNC5:
if (PubuiInkey(5) == EM_key_FUNC6)
{
gbDebugFlag = 1;
EA_vCls();
PubDisplay(2 , "設置debug成功");
PubuiInkey(5);
}
break;
default:
break;
}
}
return;
#else
EA_vCls();
PubDisplay(1 , "目前不支持TMS分發");
PubuiInkey(60);
return;
#endif
}
示例2: ProQueryOper
/*
* 函數功能:查看櫃員
* 入口參數:無
* 出口參數:無
* 返 回 值:無
*/
int ProQueryOper(void)
{
int nCount;
uchar nNum;
EA_vCls();
nNum = 1;
for (nCount = 0; nCount < FV.gbnOperCnt; nCount++)
{
if (nNum > 6)
{
nNum = 1;
PubuiInkey(TIPS_TIMEOUT);
EA_vCls();
}
if (nCount + 1 < FV.gbnOperCnt) {
PubDisplays(nNum, 1, "%d.[%s] %d.[%s]",
nCount, FV.gbStruOperSeq[nCount].szOperNo,
nCount + 1, FV.gbStruOperSeq[nCount + 1].szOperNo);
}
else { // 奇數個,最後一排隻顯示一個
PubDisplays(nNum, 1, "%d.[%s]", nCount, FV.gbStruOperSeq[nCount].szOperNo);
}
nCount++;
nNum++;
}
PubuiInkey(TIPS_TIMEOUT);
return NORMAL;
}
示例3: ProReadCardId
/*
* 函數功能:讀取卡組織代碼
* 入口參數:無
* 出口參數:無
* 返 回 值:NORMAL--成功
* EXCEPTION--失敗
*/
int ProReadCardId(void)
{
uint uiRet;
if(strlen(TlvSendValue.szCreditCompany)>0)
{
memcpy(szCardId,TlvSendValue.szCreditCompany,3);
return NORMAL;
}
else
{
EA_vCls();
PubDisplay(0, " 離線結算");
PubDisplayInv(1, "選擇國際公司代碼:");
PubDisplays(3, 1, "1.CUP 2.VIS");
PubDisplays(4, 1, "3.MCC 4.MAE");
PubDisplays(5, 1, "5.JCB 6.DCC");
PubDisplays(6, 1, "7.AEX");
while (1)
{
uiRet = PubuiInkey(60);
if (uiRet == EM_key_CANCEL)
{
PubDisplay(0, " ");
return EXCEPTION;
}
if ((uiRet > '0' && uiRet < '8') || uiRet == EM_key_ENTER)
break;
}
EA_vCls();
PubDisplay(0, " ");//第0行必須用空格才能清屏
switch (uiRet)
{
case '1':
case EM_key_ENTER:
strcpy(szCardId, "CUP");
return NORMAL;
case '2':
strcpy(szCardId, "VIS");
return NORMAL;
case '3':
strcpy(szCardId, "MCC");
return NORMAL;
case '4':
strcpy(szCardId, "MAE");
return NORMAL;
case '5':
strcpy(szCardId, "JCB");
return NORMAL;
case '6':
strcpy(szCardId, "DCC");
return NORMAL;
case '7':
strcpy(szCardId, "AEX");
return NORMAL;
default:
return EXCEPTION;
}
}
}
示例4: System_Init
/*****************************************************************
函數原型:System_Init()
功能描述:參數等初始化
參數描述:
返回值: OK ? NOTOK
作 者: 許岩/劉及華
日 期: 2012-11-24
修改曆史:
日期 修改人 修改描述
------ --------- -------------
*****************************************************************/
INT8U System_Init(void)
{
INT8U i = 0;
INT16U key = EM_key_NOHIT;
EA_vCls();
EA_ucSetInverse(EM_lcd_INVOFF);
EA_vDisp(1, 1, " 版本號: ");
EA_vDisp(1, 13, VERSION);
SleepMs(2000);
EA_vCls();
EA_vDisp(2, 1, " 係統初始化中... ");
key = EA_uiInkeyMs(2000);
if ( key == EM_key_F3 )
{
format_process(); //可以進行係統格式化操作
}
//重要參數部分初始化函數
appfile_Init();
memset((void *)&DevStat, 0x00, sizeof(DevStat));
i = ReadParam();
if ( i != ok )
{
param_factory_default(0); //格式化重要參數DEV.STATE
}
DevStat.POS_type = POS_T_NORMAL; //盒類型為正常采集
DevStat.record_number = query_rec_num();
memset((void *)&CardInfo, 0x00, sizeof(CardInfo)); //清除卡的信息
memset((void *)&ErrCardInfo, 0x00, sizeof(ErrCardInfo)); //清除錯誤卡的信息
//這裏應該添加一個函數,負責管理所有的設備的句柄結構!!!!
i = Device_Handle_Init();
if( i != ok)
{
return notok;
}
if( LowBatteryDisplay() != ok ) //電池電量檢測
{
lcddisperr("電池電量檢測失敗");
return notok;
}
if( SystemCheck() != ok ) //PSAM係統檢測
{
lcddisperr("PSAM卡檢測失敗");
return notok;
}
return ok;
}
示例5: TimeModify
/******************************************************************************
函數名稱:TimeModify
功能描述:要求輸入時間,進行修改
參數描述:
參數名稱: 輸入/輸出? 類型 描述
返 回 值:無
作 者 :許岩
日 期:2004-09-02
修改曆史:
日期 修改人 修改描述
------ --------- -------------
******************************************************************************/
void TimeModify(void)
{
INT8U i = 0;
INT8U input[50];
INT8U buf[50];
BUS_TIME ltime;
for (;;)
{
EA_vCls();
Get_Time(<ime);
EA_vDisp(1, 1, "當前時間:");
sprintf((void *)buf, "%02X%02X-%02X-%02X-%02X:%02X:%02X", ltime.century, ltime.year, ltime.month,
ltime.day, ltime.hour, ltime.minute, ltime.second);
EA_vDisp(2, 1, (void *)buf);
EA_vDisp(3, 1, "請輸入新的時間:");
(void)EA_ucClrKeyBuf();
strcpy((void *)input, "");
i = EA_ucGetInputStr(4, 1, 20, EM_BIG_FONT | EM_MODE_NUMBER | EM_ALIGN_LEFT | EM_SHOW_ORIGINALLY
, 14, 14, 0, (void *)input);
// sprintf(dbuf, "%s", input);
// EA_vDisp(3, 1, dbuf);
// sprintf(dbuf, "result:%02X", i);
// EA_vDisp(4, 1, dbuf);
if ( i == EM_ABOLISH )
return;
if ( i != EM_SUCCESS )
continue;
ltime.century = (ascii_to_hex(input[0]) << 4) | ascii_to_hex(input[1]);
ltime.year = (ascii_to_hex(input[2]) << 4) | ascii_to_hex(input[3]);
ltime.month = (ascii_to_hex(input[4]) << 4) | ascii_to_hex(input[5]);
ltime.day = (ascii_to_hex(input[6]) << 4) | ascii_to_hex(input[7]);
ltime.hour = (ascii_to_hex(input[8]) << 4) | ascii_to_hex(input[9]);
ltime.minute = (ascii_to_hex(input[10]) << 4) | ascii_to_hex(input[11]);
ltime.second = (ascii_to_hex(input[12]) << 4) | ascii_to_hex(input[13]);
i = CheckTimeFormat(<ime);
if ( i != ok )
{
EA_vCls();
EA_vDisp(4, 1, "時間格式錯誤");
SleepMs(1500);
// EA_vCls();
continue;
}
Modify_Time(<ime);
EA_vCls();
EA_vDisp(4, 1, "時間修改成功");
SleepMs(1500);
break;
}
}
示例6: ProReadCardId
/*
* 函數功能:讀取卡組織代碼
* 入口參數:無
* 出口參數:無
* 返 回 值:NORMAL--成功
* EXCEPTION--失敗
*/
int ProReadCardId(void)
{
uint uiRet;
EA_vCls();
PubDisplay(0, " 離線結算");
PubDisplayInv(1, "選擇國際公司代碼:");
PubDisplays(3, 1, "1.CUP 2.VIS");
PubDisplays(4, 1, "3.MCC 4.MAE");
PubDisplays(5, 1, "5.JCB 6.DCC");
PubDisplays(6, 1, "7.AMX"); //AEX ->AMX modify by chenjis 20120719
while (1)
{
uiRet = PubuiInkey(60);
if (uiRet == EM_key_CANCEL || uiRet == EM_key_NOHIT)
{
PubClearIcon();
EA_vCls();
return EXCEPTION;
}
if ((uiRet > '0' && uiRet < '8') || uiRet == EM_key_ENTER)
break;
}
EA_vCls();
PubClearIcon();
switch (uiRet)
{
case '1':
case EM_key_ENTER:
strcpy(szCardId, "CUP");
return NORMAL;
case '2':
strcpy(szCardId, "VIS");
return NORMAL;
case '3':
strcpy(szCardId, "MCC");
return NORMAL;
case '4':
strcpy(szCardId, "MAE");
return NORMAL;
case '5':
strcpy(szCardId, "JCB");
return NORMAL;
case '6':
strcpy(szCardId, "DCC");
return NORMAL;
case '7':
strcpy(szCardId, "AMX"); //AEX ->AMX modify by chenjis 20120719
return NORMAL;
default:
return EXCEPTION;
}
}
示例7: PubICReadCard
int PubICReadCard(char* pszOut, int *pLen)
{
unsigned char ucRecBuf[256];
unsigned int uiRetLen;
unsigned char CFlagGetKey;
EA_vCls();
CFlagGetKey = NO;
EA_vCls();
if ( PubOpenUserICCardDev () != NORMAL )
return EXCEPTION;
PubDisplayInv(1, "聯名卡");
PubDisplayCen(2, "請插入IC卡");
PubDisplayCen(3, "按<取消>退出");
while(1)
{
if ( PubUserICCardIn() == NORMAL )
break;
if (EA_ucKBHit () == EM_key_HIT)
{
if (PubuiInkey (1) == CANCEL)
{
return EXCEPTION;
}
}
}
if ( PubUserICCardPowerUp() != NORMAL )
return EXCEPTION;
if ( ProICCComm1 ("MF選擇",CPU_CARD, 0x00, 0xa4, 0x00, 0x00, 0x02, "\x3f\x00",
0x00, ucRecBuf, &uiRetLen) != NORMAL )
return EXCEPTION;
if ( ProICCComm1 ("EF05選擇",CPU_CARD, 0x00, 0xa4, 0x00, 0x00, 0x02, "\xEF\x05",
0x00, ucRecBuf, &uiRetLen) != NORMAL )
return EXCEPTION;
if ( ProICCComm1 ("讀文件選擇",CPU_CARD, 0x00, 0xB0, 0x00, 0x00, 0x00, "",
0x00, ucRecBuf, &uiRetLen) != NORMAL )
return EXCEPTION;
EA_ucCloseDevice (&gbhdlUserCard);
memcpy(pszOut, ucRecBuf, uiRetLen);
*pLen = uiRetLen;
EA_ucCloseDevice (&gbhdlUserCard);
return NORMAL;
}
示例8: SetComNumber
void SetComNumber(void)
{
uint uiRet ;
int nComNumber , nComHostNumber;
nComNumber = FV.gbnComNumber;
nComHostNumber = FV.gbnComHostNumber;
while(1)
{
EA_vCls();
PubDisplay(0 , " ");
PubDisplayInv( 1 , "設置接收密鑰端口號");
PubDisplay( 2 , "輸入端口號(0-9):%d", nComHostNumber);
PubDisplay( 3 , "提示:8-USBH 9-USBD");
PubDisplay( 4 , "0-設置為默認端口");
uiRet = PubuiInkey(0);
if (uiRet>='0' && uiRet<='9')
nComHostNumber = uiRet - '0';
EA_vCls();
PubDisplay(0 , " ");
PubDisplayInv( 1 , "設置下載密鑰端口號");
PubDisplay( 2 , "輸入端口號(0-9):%d", nComNumber);
PubDisplay( 3 , "提示:8-USBH 9-USBD");
PubDisplay( 4 , "0-設置為默認端口");
uiRet = PubuiInkey(0);
if (uiRet>='0' && uiRet<='9')
nComNumber = uiRet - '0';
if (nComNumber == 0 &&nComHostNumber == 0)
{
SetE5DefaultPort();
return;
}
if (nComHostNumber == nComNumber)
{
EA_vCls();
PubDisplay(1 , "接收和下載密鑰使用");
PubDisplay(2 , "相同的端口,聯機分發");
PubDisplay(3 , "時候要拔插串口");
PubDisplay(4 , "按1鍵確認 其他鍵重設");
if (PubuiInkey(10) != '1')
continue;
}
FV.gbnComNumber = nComNumber;
PubWriteMemFile(&FV.gbnComNumber, sizeof(FV.gbnComNumber));
FV.gbnComHostNumber = nComHostNumber;
PubWriteMemFile(&FV.gbnComHostNumber, sizeof(FV.gbnComHostNumber));
break;
}
return ;
}
示例9: dlm_main
/**********************************************************************
* 函數名稱:
*
* 功能描述:
*
* 輸入參數: arc - 無意義
* argv - 無意義
* 輸出參數:
*
* 返回值:
*
* 曆史紀錄
* 修改人 日期 版本號 修改內容
* 洪曉輝 2004-01-21 1.00 創建
***********************************************************************/
int dlm_main(void)
{
int nTransType;
uint uiRet;
PubDispHeadTitle( );
PubInitData();
PubInitGlobal( );
PubAbout( );
PubCheckTerminal( );
while(1)
{
PubDispHeadTitle( );
if( FV.gbstCfg.nPosState == POSLOGOUT) //增加取消鍵切換應用
{
EA_vCls();
PubDisplayInv(1,"儲值卡");
PubDisplayCen(3,"按任意鍵簽到");
PubDisplayCen(4,"按取消鍵切換應用");
uiRet = PubuiInkey(10);
if (uiRet == EM_key_FUNC9|| uiRet == EM_key_CANCEL)
{
EA_vCls();
// PubClearIcon();// //清圖標行
PubDisplayCen(2, "應用切換");
PubuiInkeyMs(500);
// PubDelAllBit(&iso);
// close_all_dev();
EA_vCls();
return EM_ERROR;
}
}
if( PubBeForeTrans() != NORMAL )
continue;
memset( (char *)&gbstTrackInfo, 0x00, sizeof(ST_TRACK));
nTransType = PubProcMenu(FV.gbstMenuRes, (char *)"德基廣場", 120);
// [4/23/2013 zyf] 取消鍵切換應用
if ( nTransType == EM_key_CANCEL)
return EM_ERROR;
PubTransProcess( nTransType );
}
}
示例10: ProDisdoterColor
void ProDisdoterColor(void)
{
char szBuffer[100];
uint nLen;
BUFCLR(szBuffer);
PubGetPosTypeName(szBuffer);
nLen = 21 - 8 - strlen(szBuffer);
EA_vCls();
if (strlen(gbPosTags))// 有廣告
{
if(PubDispJpg(5, 45, EM_BMP_ROTATE0,EM_BMP_NOT_TRANSPARENCE,"銀聯LOGO.jpg")!=EM_SUCCESS)
{
EA_vDrawBitmap(1, 48, EM_BMP_ROTATE0, EM_BMP_NOT_TRANSPARENCE, dispstr);
}
EA_vTextOut(185, 50, EM_key_FONT12X24, 0, 1, 1, "蘇州銀行");
EA_vTextOut(170, 90, EM_key_FONT12X24, 0, 1, 1, "請刷卡/插卡");
EA_vTextOut(170, 130, EM_key_FONT12X24, 0, 1, 1, "%s%s", szBuffer,FV.Other.gbszVerNoYS);
}
else
{
if(PubDispJpg(15, 68, EM_BMP_ROTATE0,EM_BMP_NOT_TRANSPARENCE,"銀聯LOGO.jpg")!=EM_SUCCESS)
{
EA_vDrawBitmap(1, 48, EM_BMP_ROTATE0, EM_BMP_NOT_TRANSPARENCE, dispstr);
}
EA_vTextOut(195, 80, EM_key_FONT12X24, 0, 1, 1, "蘇州銀行");
EA_vTextOut(178, 120, EM_key_FONT12X24, 0, 1, 1, "請刷卡/插卡");
EA_vTextOut(178, 180, EM_key_FONT12X24, 0, 1, 1, "%s%s", szBuffer,FV.Other.gbszVerNoYS);
}
return;
}
示例11: ProDisdoterNormal
void ProDisdoterNormal(void)
{
char szBuffer[100];
uint nLen;
BUFCLR(szBuffer);
PubGetPosTypeName(szBuffer);
nLen = 21 - 8 - strlen(szBuffer);
EA_vCls();
if (strlen(gbPosTags))// 有廣告
{
PubClearIcon();// //清圖標行
EA_vDrawBitmap(1, 2, EM_BMP_ROTATE0, EM_BMP_NOT_TRANSPARENCE, dispstr);
EA_vTextOut(70, 4, EM_key_FONT6X12, 0, 1, 1, "蘇州銀行");
EA_vTextOut(60, 18, EM_key_FONT6X12, 0, 1, 1, "請刷卡/插卡");
PubDisps(3 ,nLen+1, "%s%s",szBuffer , FV.Other.gbszVerNoYS);
}
else
{
EA_vDrawBitmap(1, 13, EM_BMP_ROTATE0, EM_BMP_NOT_TRANSPARENCE, dispstr);
PubDisp(1 , 13 , "蘇州銀行");
EA_vTextOut(60, 34, EM_key_FONT6X12, 0, 1, 1, "請刷卡/插卡");
PubDisps(5 ,nLen+1, "%s%s",szBuffer , FV.Other.gbszVerNoYS);
}
return;
}
示例12: AnalyAndDisplayNote
// *****************************************************************
// 功能: AnalyAndDisplayNote
// 說明: 查詢日結表,並顯示日結信息
// 入口參數:
// 出口參數: Null
// 作者:
// 返回值:
// *****************************************************************
void AnalyAndDisplayNote(INT8U * strTradeInfo)
{
INT8U time[7+2];
char strbuff[30];
INT8U temp[30];
// float fBuf = 0;
// INT8U LOCAL_V_TYPE temp_buf[100];
_BANLANCE_IN_HAND * prec = (_BANLANCE_IN_HAND *)strTradeInfo;
EA_vCls();
sprintf(strbuff, "加油次數:%7d次", prec->consume_cnt);
EA_vDisplay(1, strbuff);
//消費金額
sprintf(strbuff, "加油體積:%6.2f元", (float)(prec->consume_amt)/100);
EA_vDisplay(2, strbuff);
//上班時間
memcpy(time, (INT8U*)&prec->work_datetime,7);
htoa(temp, time, 7);
sprintf(strbuff, "上班:%s", temp);
EA_vDisplay(3, strbuff);
//下班時間
memcpy(time, (INT8U*)&prec->down_datetime,7);
htoa(temp, time, 7);
sprintf(strbuff, "下班:%s",temp);
EA_vDisplay(4, strbuff);
}
示例13: AnalyAndDisplayNote
// *****************************************************************
// 功能: AnalyAndDisplayNote
// 說明: 查詢日結表,並顯示日結信息
// 入口參數:
// 出口參數: Null
// 作者:
// 返回值:
// *****************************************************************
void AnalyAndDisplayNote(INT8U * strTradeInfo)
{
INT8U time[7+2];
char strbuff[30];
INT8U temp[30];
_BANLANCE_IN_HAND * prec = (_BANLANCE_IN_HAND *)strTradeInfo;
EA_vCls();
sprintf(strbuff, "加油次數:%7d次", (prec->consume_cnt[0]+prec->consume_cnt[1]+prec->consume_cnt[2]+prec->consume_cnt[3]));
EA_vDisplay(1, strbuff);
//消費金額
sprintf(strbuff, "加油金額:%6.2lf元", (double)(prec->consume_amt[0]+prec->consume_amt[1]+prec->consume_amt[2]+prec->consume_amt[3])/100.0);
EA_vDisplay(2, strbuff);
//上班時間
memcpy(time, (INT8U*)&prec->work_datetime, 6);
htoa(temp, time, 6);
sprintf(strbuff, "上班時間:%s", temp);
EA_vDisplay(4, strbuff);
//操作員
memcpy(strbuff, (INT8U*)&prec->oper_id, 3);
htoa((void *)temp, (void *)strbuff, 3);
sprintf(strbuff, "加 油 員:%s",temp);
EA_vDisplay(3, strbuff);
}
示例14: ProFuncOthergbnSKFlag
int ProFuncOthergbnSKFlag(void *p1, void *p2)
{
int iOption;
uint uiKey;
iOption = FV.Other.gbnSKFlag;
EA_vCls();
PubDisplay(1 , "設置閃卡功能[%d]", iOption);
PubDisplay(2 , "0 不支持閃卡");
PubDisplay(3 , "1 支持閃卡");
uiKey = PubuiInkey(120);
switch(uiKey)
{
case EM_key_CANCEL:
case EM_key_NOHIT:
return CANCELED;
case EM_key_F1:
case EM_key_FEED:
return BACK;
case '1':
FV.Other.gbnSKFlag = 1;
PubWriteMemFile(&FV.Other.gbnSKFlag,sizeof(FV.Other.gbnSKFlag));
break;
case '0':
FV.Other.gbnSKFlag = 0;
PubWriteMemFile(&FV.Other.gbnSKFlag,sizeof(FV.Other.gbnSKFlag));
break;
default :
break;
}
return NORMAL;
}
示例15: SetS100LoadKeyMode
int SetS100LoadKeyMode(void)
{
uchar aucOut[20], ucRet;
DevHandle hDevHandle;
uint uiOutLen;
int nReturn;
nReturn = 0;
ucRet = EA_ucOpenDevice("COM", EM_io_PORT2, &hDevHandle);
if ( ucRet != EM_SUCCESS)
{
EA_vCls();
PubDisplay(2,"打開端口錯誤 %d", ucRet);
PubuiInkey(30);
return -1;
}
EA_ucInitRS232(hDevHandle, EM_232_115200BPS, EM_232_NOPAR, EM_232_8DBS);
EA_ucClearRS232(hDevHandle);//清除緩衝區
memcpy(aucOut,"\x02\x06\x9a\x01\x00\x00\x03\x02",8);
ucRet = EA_ucWriteDevice(hDevHandle, 8, 1, (char*)aucOut);
memset(aucOut, 0x00, 8);
memcpy(aucOut+8,"\x06\x02\x04\x00\x01\x03\x02",7);
uiOutLen = 0;
ucRet = EA_ucReadDevice(hDevHandle, 7, 3, aucOut, &uiOutLen);
if ( ucRet != EM_SUCCESS|| uiOutLen != 7)
{
EA_vCls();
PubDisplay(2,"從端口讀數據錯 %d %d", ucRet, uiOutLen);
PubuiInkey(30);
nReturn = -2;
}
else
{
if(memcmp(aucOut+8, aucOut, 7))
{
EA_vCls();
PubDisplay(2,"數據校驗錯誤");
PubuiInkey(30);
nReturn = -3;
}
}
EA_ucCloseDevice(&hDevHandle);
return nReturn;
}