home *** CD-ROM | disk | FTP | other *** search
- /* Test without cin/cout from WB */
-
- /* if we want the standard amigados ReadArgs to behave like the programs
- in the C-directory, we can define
-
- TEMPLATE for the template of our arguements
- TEMPLATE_HELP [optional] for the help for the tenplate string
- TEMPLATE_COUNT for the number of expected arguements
- */
-
- #define TEMPLATE "TEST/S"
- #define TEMPLATE_HELP "Just a test prg"
- #define TEMPLATE_COUNT 1
-
- /* if we include <use_amiga_argc_argv.h>, magicially the Libraries
-
- icon.library
- commodities.library
- mathffp.library
- mathtrans.library
- mathieeedoubtrans.library
- mathieeedoubbas.library
- utility.library
-
- are opened, and our int main(int argc, char *argv[]) gets standard
- (or AmigaDos) argc and argv.
-
- this means:
-
- CLI-Startup:
-
- argc = number of arguements (at least 1 for the program name)
-
- argv[0] = program name
- argv[1] = arguement 1
- argv[x] = last arguement
- argv[x+1] = NULL
-
- WB-Startup:
-
- argc = 0
- argv = pointer to our WBStartup-Message
-
- */
-
- extern "C" {
- #include <clib/dos_protos.h>
- }
-
- #include <use_amiga_argc_argv.h>
-
-
- UBYTE **ToolTypes=NULL; /* for WB-startup */
-
- int main(int argc, char *argv[])
- {
- if(argc)
- {
- /* Start from CLI */
- Printf((UBYTE *)"Start from CLI\n");
-
- if(argv[1]) Printf((UBYTE *)"Test: passed\n");
- }
- else
- {
- /* Start from WB */
-
- ToolTypes = ArgArrayInit(argc,(UBYTE **)argv);
-
- stdin=Open(ArgString(ToolTypes,(STRPTR)"WINDOW", (STRPTR)"CON:0/0/640/200/Default Window/AUTO/CLOSE/WAIT"),MODE_NEWFILE);
-
- if(!stdin)
- stdin=Open((STRPTR)"CON:0/0/640/200/Default Window/AUTO/CLOSE/WAIT", MODE_NEWFILE);
-
- stdout=stdin;
- SelectInput(stdin);
- SelectOutput(stdout);
-
- /* Do something */
-
- Printf((UBYTE *)"Test... passed.\n");
-
-
-
-
- Close(stdin);
-
- stdin=0;
- stdout=0;
- SelectInput(0);
- SelectOutput(0);
- }
-
- return RETURN_OK;
- }
-