This is Brain.m in view mode; [Download] [Up]
#include <stdio.h> #import <appkit/Text.h> #import "Brain.h" #define MAXPATHLENGTH 300 @implementation Brain - init { FILE *systemCall; char *path = malloc(MAXPATHLENGTH); systemCall = popen("pwd", "r"); fscanf(systemCall, "%s", path); pclose(systemCall); savePanel = [SavePanel new]; //[savePanel setDirectory:path]; openPanel = [OpenPanel new]; //[openPanel setDirectory:path]; outputString = (char *)malloc(500); free(path); return self; } - free { [savePanel free]; [openPanel free]; free(outputString); return [super free]; } - saveIt:sender { int result; char *temp; result = [savePanel runModal]; sprintf(outputString, "Result of running SavePanel modal is: %d\nThe" " filename is:\n%s\n", result, [savePanel filename]); if (result) { theFile = fopen([savePanel filename], "r"); if (!theFile) { temp = (char *)malloc([fileText textLength] + 1); [fileText getSubstring:temp start:0 length:[fileText textLength] + 1]; theFile = fopen([savePanel filename], "w"); fprintf(theFile, "%s", temp); fclose(theFile); strcat(outputString, "Wrote TEXT to file.\n"); free(temp); } else { strcat(outputString, "File already exists--write aborted\n"); fclose(theFile); } } [outputText setText:outputString]; return self; } - openIt:sender { int result; NXStream *theStream; result = [openPanel runModal]; sprintf(outputString, "Result of running OpenPanel modal is: %d\nThe" " filename is:\n%s\n", result, [openPanel filename]); if (result) { theStream = NXMapFile([openPanel filename], NX_READONLY); if (!theStream) { strcat(outputString, "ERROR! Could not open file! Something is" " wrong with the OpenPanel.\n"); } else { [fileText readText:theStream]; NXClose(theStream); strcat(outputString, "Writing file's contents to TEXT.\n"); } } [outputText setText:outputString]; return self; } - clearText:sender { [fileText setText:""]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.