| 
       Sample  | 
    
     
       
      
     
     | 
  
| 
 
 This is a simple console application that defines 2 script functions, INC and TITLE_CASE. INC will increments the supplied INTEGER by one and TITLE_CASE will convert the supplied string to a Title Case string where each word is capitalized. 
 Sample Application: 
 ///////////////////////////////////////////////////////////////////////////// // // SampleScriptApp.cpp : Defines the entry point for the console application. // ///////////////////////////////////////////////////////////////////////////// // #include "stdafx.h" 
 ///////////////////////////////////////////////////////////////////////////// // *** NOTE *** // Make sure to define _MB2_PARSE_MACROS before including MyBASIC2.h if // we want to use the Parsing Macros // #define _MB2_PARSE_MACROS #include "MyBASIC2.h" 
 ///////////////////////////////////////////////////////////////////////////// // Increment INTEGER parameter by one int _inc_func( mb_interpreter_t* s, void** l ) { // Parse Parameter(s) BEGIN_PARSE( s, l ) POP_INT( nPar ) END_PARSE 
 // Return incremented integer parameter RETURN_INT( ++nPar ); } 
 ///////////////////////////////////////////////////////////////////////////// // Capitalize each word in a string int _title_case_func( mb_interpreter_t* s, void** l ) { // Parse Parameter BEGIN_PARSE( s, l ) POP_STRING( pStrPar ) END_PARSE 
 // Make a copy that we can return COPY_STRING( pOutput, pStrPar ) 
 // Make all lower first strlwr( pOutput ); 
 // Always make sure first is Upper pOutput[0] = toupper( pOutput[0] ); 
 // Convert first character of every word to upper case for ( unsigned i = 1; i < strlen( pOutput ); i++ ) { if ( ( pOutput[i-1] == ' ' ) || ( pOutput[i-1] == '\t' ) ) { pOutput[i] = toupper( pOutput[i] ); } } 
 // Return Converted String RETURN_STRING( pOutput ); } 
 ///////////////////////////////////////////////////////////////////////////// // MAIN Function. If file name argument not supplied then prompt for it // int main( int argc, char* argv[] ) { char strName[_MAX_PATH]; mb_interpreter_t* bas = NULL; 
 // Check if we have a file as argument if ( argc < 2 ) { printf( "_Enter Script File: " ); scanf( "%s", strName ); } else { strcpy( strName, argv[1] ); } 
 // Make sure we have a file name if ( strlen( strName ) > 0 ) { // Initialize and open an interpreter mb_init(); mb_open( &bas ); 
 // Register our functions mb_register_func( bas, "INC", _inc_func ); mb_register_func( bas, "TITLE_CASE", _title_case_func ); 
 // Load and Run our Script file if ( mb_load_file( bas, strName ) == MB_FUNC_OK ) { if ( mb_run( bas ) != MB_FUNC_END ) { printf( "ERROR, An Error occurred when running Script File: %s\n", strName ); } } else { printf( "ERROR, Loading Script File: %s\n", strName ); } 
 // Remove Functions mb_remove_func( bas, "INC" ); mb_remove_func( bas, "TITLE_CASE" ); 
 // Close down MyBASIC2 mb_close( &bas ); mb_exit(); } else { printf( "ERROR, No Script File Provided\n" ); } 
 _getch(); return 0; } 
 Sample Script File 
 OPTION BASE 1 
 DIM strings(4) AS STRING DIM i AS INTEGER 
 strings(1) = "kalle anka was here today." strings(2) = "Nisse Hult was also here." strings(3) = "Pelle was somewhere else. Of course !!!" strings(4) = "kalle and nisse had to do it on their own :-(" 
 i = 0 
 DO i = INC( i ) PRINT TITLE_CASE( strings( i ) ), UNTIL i = 4 
 END 
 Output 
 Kalle Anka Was Here Today. Nisse Hult Was Also Here. Pelle Was Somewhere Else. Of Course !!! Kalle And Nisse Had To Do It On Their Own :-( 
  |