/************************************************************************ ** ** FILE : fileio.c ** ** ZWECK : ** ** AUTOR : Michael C. Ancutici ** Universitaet Stuttgart, Fakultaet Informatik ** ** DATUM : 14.03.93 ** *************************************************************************/ #include "fileio.h" #include "filekaio.h" #include "filesteio.h" #include "filetraio.h" #include "misc.h" #include "haka.H" #include "haneumisc.h" #include "hamem.h" #include #include /************************************************************************* ** FUNKTION: SaveHeader ** ZWECK: ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ static void SaveHeader( f) FILE *f; { fprintf( f, "*******************************************\n"); fprintf( f, "** PNS-NETFILE **\n"); fprintf( f, "** WARNING: DON'T EDIT THIS FILE **\n"); fprintf( f, "*******************************************\n"); } /************************************************************************* ** FUNKTION: FileSave ** ZWECK: speichert Netzdaten ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ void FileSave( FileName) char *FileName; { FILE *f; f = fopen( FileName, "w"); SaveHeader( f); FileSaveSte( f); FileSaveTra( f); FileSaveKa( f); fclose( f); } /************************************************************************* ** FUNKTION: FileLoad ** ZWECK: ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ BOOLEAN FileLoad( FileName) char *FileName; { FILE *f; char b[ 600]; HaNeu(); f = fopen( FileName, "r"); while ( fgets( b, 600, f) ) switch ( b[ 0] ) { case '*': break; case 'S': if ( FileLoadSte( b) == NOT_OK) { fprintf( stderr, "*** FileLoad: Place defect ?. Terminate.\n"); fclose( f); return NOT_OK; } break; case 'T': if ( FileLoadTra( b) == NOT_OK) { fprintf( stderr, "*** FileLoad: Transition defect ?. Terminate.\n"); fclose( f); return NOT_OK; } break; case 'K': if ( FileLoadKa( b) == NOT_OK) { fprintf( stderr, "*** FileLoad: Edge defect ?. Terminate.\n"); fclose( f); return NOT_OK; } break; default: fprintf( stderr, "*** FileLoad: unknown object. Terminate.\n"); fclose( f); return NOT_OK; break; } fclose( f); HaWinSayMemI( (Widget)0, (XtPointer)0, (XtPointer)0); /* XSync( MyDisplay,0); fprintf(stderr, "*** FileLoad: Refresh all\n"); HaKaRedraw(); */ XSync( MyDisplay,0); return OK; }