MORE INFORMATION
The term FormatX$ actually refers to the functions FormatI$, FormatL$,
FormatS$, FormatD$, and FormatC$. For more information on the FormatX$
functions, query in this Knowledge Base on the word "FormatX$".
To use the FormatX$ functions with the User Interface Toolbox in the
QBX.EXE environment, you must first create a Quick library (a .QLB
file) containing the code for both the User Interface routines and
also the FormatX$ routines. Here are two methods to do this:
Method 1
To create the Quick library from provided .LIB libraries, combine the
libraries into a new library as follows
LIB UITFMT.LIB+UITBEFR.LIB ;
LIB UITFMT.LIB+DTFMTER.LIB ;
then create the new Quick library (UITFMT.QLB) as follows:
LINK /Q UITFMT.LIB, UITFMT.QLB,,QBXQLB.LIB ;
Note that the first LIB command line above creates UITFMT.LIB. LIB.EXE
creates UITFMT.LIB automatically since UITFMT.LIB did not previously
exist. The second LIB command line appends DTFMTER.LIB to UITFMT.LIB.
To invoke QBX.EXE (the QuickBasic Extended environment) with the
UITFMT.QLB Quick library (created in Method 1 above), use the
following command:
Method 2
To create the .QLB file from the original .OBJ files, use the
following LINK command:
LINK /q WINDOW.OBJ+MENU.OBJ+MOUSE.OBJ+GENERAL.OBJ+UIASM.OBJ+
QBX.LIB+DTFMTER.LIB,UIFMT.QLB,,QBXQLB.LIB;
NOTE: In the preceding LINK line, you must use DTFMTER.LIB, where "E"
stands for Emulator math package, and "R" stands for MS-DOS real mode.
Quick libraries used in QBX.EXE cannot be compiled for Alternate math
or protected mode.
To invoke QBX.EXE (QuickBasic Extended) with the UIFMT.QLB Quick
library (created in Method 2 above), use the following command:
To use the UI Toolbox routines and the FormatX$ routines in an
executable (.EXE) program, you must link to the UITFMT.LIB (created in
Method 1 above) to your program, or separately link the DTFMTxx.LIB
and UITBxxx.LIB libraries (shipped by Microsoft) into your program.
The following code sample gives an example of using the FormatS$
function to convert a single-precision number into a dollar amount,
and then print the result in a UI Toolbox window:
Code Sample
DEFINT A-Z
REM $INCLUDE: 'window.bi'
REM $INCLUDE: 'mouse.bi'
REM $INCLUDE: 'menu.bi'
REM $INCLUDE: 'general.bi'
REM $INCLUDE: 'format.bi'
COMMON SHARED /uitools/ glomenu AS menumisctype
COMMON SHARED /uitools/ glotitle() AS menutitletype
COMMON SHARED /uitools/ gloitem() AS menuitemtype
COMMON SHARED /uitools/ glowindow() AS windowtype
COMMON SHARED /uitools/ globutton() AS buttontype
COMMON SHARED /uitools/ gloedit() AS editfieldtype
COMMON SHARED /uitools/ glostorage AS windowstoragetype
COMMON SHARED /uitools/ glowindowstack() AS INTEGER
COMMON SHARED /uitools/ globuffer$()
DIM glotitle(maxmenu) AS menutitletype
DIM gloitem(maxmenu, maxitem) AS menuitemtype
DIM glowindow(MAXWINDOW) AS windowtype
DIM globutton(MAXBUTTON) AS buttontype
DIM gloedit(MAXEDITFIELD) AS editfieldtype
DIM glowindowstack(MAXWINDOW) AS INTEGER
DIM globuffer$(MAXWINDOW + 1, 2)
CLS
MenuInit
windowinit
windowopen 1, 3, 3, 20, 40, 7, 0, 7, 0, 15, 0, 0, 0, 0, 1, "Format Example"
' Set the variable name:
a! = 123.34
' Convert the variable to a string:
b$ = STR$(a!)
'convert the variable to a formatted string:
x$ = formats$(a!, "$0000.00")
' Print out the results:
windowprint 1, "The unformatted variable is:"
windowprint 1, b$
windowprint 1, "The formatted variable using the"
windowprint 1, "form '$0000.00':"
windowprint 1, x$