home *** CD-ROM | disk | FTP | other *** search
- /* TCHK 2.1 - Howard Kapustein's Turbo C library 6-6-89 */
- /* Copyright (C) 1988,1989 Howard Kapustein. All rights reserved. */
-
- /* demodate.c - used for testing TCHK date conversions */
-
- #include <howard.h>
- #include <datehk.h>
- #include <dateconv.h>
- #include <stdio.h>
- #include <dos.h>
- #include <stdlib.h>
- #include <string.h>
-
- void main(void);
-
- void main(void)
- {
- extern int _argc;
- extern char **_argv;
- extern char *Days[];
- FILE *fp;
- struct date today;
- /* char *c, buff[80], *c2, temp[20];*/
- char US[12],Euro[12],Jap[12], *us,*euro,*jap, Sho[80],Ful[80], *shortd,*full;
- double cal,calcent,julA,julB,julE;
- struct ddate dd, *DD;
-
- if ((_argc<2) || ((fp = fopen(_argv[1],"w")) == NULL)) {
- printf("DemoDate is a demonstration program for the date conversions of TCHK.\n\n");
- printf("Usage: demodate filename.ext\n\n");
- printf(" demodate will write to the file you specify a small chart\n");
- printf(" of possible date conversions. Cross index the date formats\n");
- printf(" you wish to convert. If the entry is 0 (zero) there is no\n");
- printf(" conversion presently available. Otherwise today's date will\n");
- printf(" appear in the format specified in the To column.\n\n");
- printf("In the works is a generic date conversion function that can convert\n");
- printf("over 40 different date formats quickly and easily. See TCHK.DOC for\n");
- printf("more details.");
- exit(1);
- }
-
-
-
- getdate(&today);
- fprintf(fp,"DATEHK\n\n");
- fprintf(fp," To Greg-USA Greg-Eur Greg-Jap Calendar CalCent Jul-E Jul-A Jul-B dd-> mon day year\n");
- fprintf(fp,"From\n");
- /* USA*/
- sprintf(US,"%02d-%02d-%02d",today.da_mon,today.da_day,today.da_year-1900);
- sprintf(Euro,"%02d-%02d-%02d",today.da_day,today.da_mon,today.da_year-1900);
- sprintf(Jap,"%02d-%02d-%02d",today.da_year-1900,today.da_mon,today.da_day);
- cal = GregtoCal(US);
- calcent = GregtoCalCent(US);
- julE = julA = julB = 0;
- dd.dday = dd.dmon = dd.dyear = 0;
- fprintf(fp,"Greg-USA %s %s %s %10.2f %10.2f %10.2f %10.2f %10.2f %02d %02d %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
- cal = GregEurotoCal(Euro);
- calcent = GregEurotoCalCent(Euro);
- fprintf(fp,"Greg-Euro %s %s %s %10.2f %10.2f %10.2f %10.2f %10.2f %02d %02d %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
- cal = GregJaptoCal(Jap);
- calcent = GregJaptoCalCent(Jap);
- fprintf(fp,"Greg-Jap %s %s %s %10.2f %10.2f %10.2f %10.2f %10.2f %02d %02d %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
- us = CaltoGreg(cal);
- strcpy(US,us);
- euro = CaltoGregEuro(cal);
- strcpy(Euro,euro);
- jap = CaltoGregJap(cal);
- strcpy(Jap,jap);
- julE = CaltoJul(cal);
- julA = CaltoJulA(cal);
- julB = CaltoJulB(cal);
- calcent = CaltoCalCent(cal);
- fprintf(fp,"Calendar %s %s %s %10.2f %10.2f %10.2f %10.2f %10.2f %02d %02d %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
- cal = CalCenttoCal(calcent);
- fprintf(fp,"Cal-Cent %s %s %s %10.2f %10.2f %10.2f %10.2f %10.2f %02d %02d %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
- us = JultoGreg(julE);
- strcpy(US,us);
- euro = JultoGregEuro(julE);
- strcpy(Euro,euro);
- jap = JultoGregJap(julE);
- strcpy(Jap,jap);
- cal = JultoCal(julE);
- calcent = JultoCalCent(julE);
- DD = Jultoddate(julE);
- dd = *DD;
- fprintf(fp,"Jul-E %s %s %s %10.2f %10.2f %10.2f %10.2f %10.2f %02d %02d %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
- julA = CaltoJulA(cal);
- us = JulAtoGreg(julA);
- strcpy(US,us);
- euro = JulAtoGregEuro(julA);
- strcpy(Euro,euro);
- jap = JulAtoGregJap(julA);
- strcpy(Jap,jap);
- cal = JulAtoCal(julA);
- calcent = JulAtoCalCent(julA);
- DD = JulAtoddate(julA);
- dd = *DD;
- fprintf(fp,"Jul-A %s %s %s %10.2f %10.2f %10.2f %10.2f %10.2f %02d %02d %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
- julB = CaltoJulB(cal);
- us = JulBtoGreg(julB);
- strcpy(US,us);
- euro = JulBtoGregEuro(julB);
- strcpy(Euro,euro);
- jap = JulBtoGregJap(julB);
- strcpy(Jap,jap);
- cal = JulBtoCal(julB);
- calcent = JulBtoCalCent(julB);
- DD = JulBtoddate(julB);
- dd = *DD;
- fprintf(fp,"Jul-B %s %s %s %10.2f %10.2f %10.2f %10.2f %10.2f %02d %02d %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
- julB = 0.0;
- julA = 0.0;
- julE = 0.0;
- cal = 0;
- calcent = 0;
- us = CaltoGreg(cal);
- strcpy(US,us);
- euro = CaltoGregEuro(cal);
- strcpy(Euro,euro);
- jap = CaltoGregJap(cal);
- strcpy(Jap,jap);
- fprintf(fp,"ddate %s %s %s %10.2f %10.2f %10.2f %10.2f %10.2f %02d %02d %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
-
- julE = CaltoJul(GregtoCal(us));
- fprintf(fp,"\nDay of week: %d = %s\n",dayofweek(julE),Days[dayofweek(julE)]);
-
- fprintf(fp," dd->mo dd->da dd->yr short full\n");
- shortd = ddatetoshort(&dd);
- strcpy(Sho,shortd);
- full = ddatetofull(&dd);
- strcpy(Ful,full);
- fprintf(fp,"ddate: %2d %2d %2d %s %s\n",dd.dmon,dd.dday,dd.dyear,Sho,Ful);
- DD = shorttoddate(shortd);
- dd = *DD;
- strcpy(Ful,"");
- fprintf(fp,"short: %2d %2d %2d %s %s\n",dd.dmon,dd.dday,dd.dyear,Sho,Ful);
- DD = fulltoddate(full);
- dd = *DD;
- strcpy(Sho,"");
- strcpy(Ful,full);
- fprintf(fp,"full: %2d %2d %2d %s %s\n",dd.dmon,dd.dday,dd.dyear,Sho,Ful);
-
-
- /* quit */
- fclose(fp);
- exit(0);
- }
-
- /* Yes, I know, this program is a memory waster. Between most
- fprintfs I should free() some memory before using the variable
- again. This is only a demo. When you use the functions, make
- sure you free your allocated memory. */
-