home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pcmagazi / 1989 / 02 / pp802 / trytd.c < prev    next >
C/C++ Source or Header  |  1988-10-07  |  2KB  |  83 lines

  1. /*
  2.     TRYTD.C:    Demo of TD.C Time & Date Formatting Functions
  3.                 OS/2 version
  4.  
  5.     by Ray Duncan, Copyright (C) 1988 Ziff Davis
  6.  
  7.     Compile:    C>CL TRYTD.C TD.C  <Enter>
  8. */
  9.  
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12.  
  13. extern char * systcvt(int);         /* local function prototypes */
  14. extern char * sysdcvt(int);
  15. extern char * dirtcvt(int, unsigned);
  16. extern char * dirdcvt(int, unsigned);
  17. extern char * tcvt(int, int, int, int, int);
  18. extern char * dcvt(int, int, int, int);
  19.  
  20. #define API unsigned extern far pascal
  21.  
  22. API DosClose(unsigned);                /* API function prototypes */
  23.  
  24. API DosQFileInfo(unsigned, int, void far *, int);
  25.  
  26. API DosOpen(char far *, unsigned far *, unsigned far *, unsigned long,
  27.             unsigned, unsigned, unsigned, unsigned long);           
  28.  
  29. struct _finfo {                        /* used by DosGetFileInfo */
  30.     unsigned cdate;
  31.     unsigned ctime;
  32.     unsigned adate;
  33.     unsigned atime;
  34.     unsigned wdate;
  35.     unsigned wtime; 
  36.     long fsize;
  37.     long falloc;
  38.     unsigned fattr; } finfo;
  39.  
  40.  
  41. main()
  42. {   
  43.     char *tstr;                     /* pointer to formatted time */
  44.     char *dstr;                     /* pointer to formatted date */
  45.     unsigned fhandle, faction;        /* file handle, DosOpen action */
  46.     unsigned status;                /* scratch variable */
  47.  
  48.     tstr = systcvt(11);             /* format current time */
  49.     dstr = sysdcvt(8);              /* format current date */
  50.  
  51.                                     /* display time & date */
  52.     printf("\nThe current time and date are: %s %s\n", tstr, dstr);
  53.  
  54.                                        /* open the TRYTD.EXE file */
  55.     if(DosOpen("TRYTD.EXE", &fhandle, &faction, 0L, 0, 1, 0x40, 0L))
  56.     {   
  57.         puts("Can't open TRYTD.EXE");
  58.         exit(1);
  59.     }
  60.  
  61.                                     /* get file date & time */
  62.     if(DosQFileInfo(fhandle, 1, &finfo, sizeof(finfo)))
  63.     {   
  64.         puts("Can't get TRYTD.EXE file info");
  65.         exit(1);
  66.     }
  67.     
  68.     if(DosClose(fhandle))            /* close the file */
  69.     {   
  70.         puts("Can't close TRYTD.EXE");
  71.         exit(1);
  72.     }
  73.     
  74.     dstr = dirdcvt(8, finfo.wdate); /* format date & time */
  75.     tstr = dirtcvt(11, finfo.wtime);
  76.  
  77.                                     /* display time & date */
  78.     printf("\nThe TRYTD.EXE file time and date are: %s %s\n",
  79.             tstr, dstr);
  80. }
  81.  
  82.  
  83.