Appendix A: System Routines — Token Operations
1089
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
NG_RPNToText
(continued)
Example:
(continued)
while (KB_ENTER == Dialog( &dGetName,-1,-1, inpBuf, NULL)) {
if (FS_OK == TokenizeName( inpBuf, nameBuf ))
if (hsym = SymFindMain( TokNameRight(nameBuf) )) {
SymPtr = DerefSym( hsym );
if (hVal = SymPtr->hVal) {
switch ((BYTE) *HToESI( hVal )) {
/* NG_RPNToText cannot handle these types */
case GEO_FILE_TAG:
case GEO_MACRO_TAG:
case DATA_VAR_TAG:
case GDB_VAR_TAG:
case ASM_PRGM_TAG:
case PIC_VAR_TAG:
case GEN_DATA_TAG:
case TEXT_VAR_TAG:
DlgNotice( "NOTE", "Can not display value" );
break;
/* programs/functions are special, would need
to use GetFuncPrgmBodyPtr */
case USER_DEF_TAG:
DlgNotice( "NOTE", "Program or function" );
break;
default:
HeapLock( hVal ); /* tokenized */
TRY
hText = NG_RPNToText( hVal, TRUE, TRUE );
ONERR
hText = H_NULL;
ERD_dialog( errCode, FALSE );
ENDTRY
HeapUnlock( hVal );
if (hText) {
HeapLock( hText );
DlgNotice( (char *) inpBuf, (char *) (HeapDeref(hText)) );
HeapFree( hText );
}
} /* end switch */
} else
DlgNotice( "ERROR", "Symbol has no value" );
} else
DlgNotice( "ERROR", "Symbol not found" );
} /* end while */
} /* end vSym */