This is Date.h in view mode; [Download] [Up]
/* A date class based on the routines in COMPUTER LANGAUGE V7, No12, 1990 page 57-62 */ #ifndef DATE_H #define DATE_H #import <objc/Object.h> #import "ObjectArchival.h" // Archival protocol typedef long JulianDate; typedef short WeekDay; typedef short Day; typedef short Month; typedef short Year; @interface Date : Object <ObjectArchival> { char *dateString; // A date string in the form day/month/year JulianDate date; // The Julian day number /* The corresponding integer values */ Day day; // 1-31 Month month; // 1-12 Year year; // year < 100 => year = year + CurrentCentury // year >= 100 => year = year /* The 24 hour time */ short hours; // 0-23 short minutes; // 0-59 short seconds; // 0-59 /* The error mode flag */ char errorMode; } /* Actions */ /* Class methods */ + (const char *) selName : (SEL) theSEL; /* initialization methods */ - initFromString : (char *) theDate; - initFromDate : (Day) d : (Month) m : (Year) y; - initFromJulianDate : (JulianDate) jDate; - initFromNow; - setTime : (short) hr : (short) min : (short) sec; - free; /* Set whether an invalid date will either 1) Simply return a nil object: mode = 0 (this is the default) 2) Display an alert panel and then return nil: mode = 1 3) Display an alert panel and allow the user to correct the date: mode = 2 */ - setErrorMode : (int) mode; /* Conversion functions */ // Returns the calendar date of jDate - calendarDate : (JulianDate) jDate : (Day *) d : (Month *) m : (Year *) y; - (JulianDate) julianRep : (Day) d : (Month) m : (Year) y; // Returns the Julian rep for the calendar date - (JulianDate) julianDate; // Returns the date in its Julian representation - (Day) day; // Returns the day of the month - (Month) month; // Returns the month [0-11] - (Year) year; // Returns the year - (short) hours; // Returns the hours - (short) minutes; // Returns the minutes - (short) seconds; // Returns the seconds - (unsigned long) extendedDate; - (void) time : (short *) hr : (short *) min : (short *) sec; // Set to the objects time - (const char *) stringDate; // Returns the date in the form "m/d/yyyy" - (const char *) stringFixedDate; // Returns the date in the form "mm/dd/yyyy" - (const char *) fullStringDate; // Returns the date in the form "DayOfWeek Month dd Year" - (const char *) time24hr; // Returns the time string "hh:mm" - (const char *) timeAM_PM; // Returns the time string "h[h]:mm [AP]m" where h <= 12 - (WeekDay) weekDay; // Returns the day of the week Sun-Sat [0-6] - (int) weekOfYear; // Returns the week number of the year [0-51] /* System time access */ // Set the componets to those returned by localtime(3) - (void) now : (Day *) d : (Month *) m : (Year *) y : (short *) hr : (short *) min : (short *) sec; // Return the system clock time(3) - (long) sysTime; /* Ouput */ - (void) print; /* Private methods to check the date and report errors */ - (BOOL) validDate; - invalidDate : (SEL) callingMethod; /* Method invoked by the Ok button of the editErrorPanel */ - dateOk : sender; /* Method invoked by the ``Return nil'' button of the editErrorPanel */ - dateCancel : sender; /*\ ---------------------- ObjectArchival Protocol ---------------------- \*/ /* The current version for new documents */ #define DATE_VERS 1 // Object release version #define DATE_SUBVERS 0 // Object subrelease version #define DATE_TYPE 0 // Object version type /* Object versions we know about */ #define DATE_VERSION_0 1000 - initFromTStream:(NXTypedStream *) stream; - readFromTStream:(NXTypedStream *) stream; - writeToTStream:(NXTypedStream *) stream; @end /*\ -------------------- Error & Debugging Categories -------------------- \*/ #import "Object_AllocNDebug.h" /* RCS Information: $Author: me $; $Date: 93/02/23 02:00:30 $; $Source: /usr1/me/NeXTSrc/MyClasses/RCS/Date.h,v $; $Revision: 1.1 $; */ #endif DATE_H
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.