1004
Appendix A: System Routines — Strings
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
XR_stringPtr
Declaration:
char *
XR_stringPtr
(ULONG
n
)
Category(ies):
Strings
Description:
Returns a string pointer from the string cross-reference table.
Nearly all strings in the calculator are collected together in the string
cross-reference table. This includes the text of menus, dialog boxes, error
messages, and such. Language localizers can be installed in the calculator
to override any and all strings in the cross-reference table to provide local
language customization of the calculator.
String numbers in the range 0x0 to 0x7FF are reserved for system string
numbers. Every system string number has an associated macro beginning
with “XR_” in tiams.h. String numbers in the range 0x800
(OO_FIRST_APP_STRING) to 0xFFF are reserved for applications. See
sections
7.3.1.3.19 Attribute OO_APPSTRING
and
7.3.1.4 Example
for
an illustration of how to create a string cross-reference table in your app.
Note:
App menu IDs (hence their corresponding string numbers) are limited to the
range 0x800 – 0xEFF. The OS uses menu IDs in the range 0xF00 – 0xFFF for
some dynamically-built menus.
The string cross-reference table is implemented as frame attribute slots
0x800 through 0x17FF. System strings occupy slots 0x800
(OO_FIRST_STRING) through 0xFFF. App strings occupy slots 0x1000
(OO_APPSTRING) through 0x17FF. Hence, requesting string
n
fetches the
pointer to string OO_FIRST_STRING +
n
.
XR_stringPtr
looks first through
the running app’s string cross-reference table, then through the current
language localizer string table (if any), and finally at the system string table.
Inputs:
n
— Number of string to fetch.
Outputs:
Returns a pointer to the requested string. This is usually a pointer to Flash
memory, so copy it to RAM first if you need to modify it.
Assumptions:
None
Side Effects:
None
Availability:
All versions of the TI-89 / TI-92 Plus.
(continued)