home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a120 / 1.ddi / WATCOM_C / WAT44.C < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-16  |  2.3 KB  |  75 lines

  1. /*------------------------------------------------------------------*/
  2. /* ╡{ªí└╔ªW║┘: wat44.c                                              */
  3. /*------------------------------------------------------------------*/
  4. #include <stdio.h>
  5. #include <dos.h>
  6.  
  7. #define YEAR(t)     (((t & 0xFE00) >> 9)+1980)
  8. #define MONTH(t)    ((t & 0x01E0) >> 5)
  9. #define DAY(t)      (t & 0x001F)
  10. #define HOUR(t)     ((t & 0xF800) >> 11)
  11. #define MINUTE(t)   ((t & 0x07E0) >> 5)
  12. #define SECOND(t)   ((t & 0x001F) << 1)
  13.  
  14. void main()
  15. {
  16.    struct find_t fileblk;
  17.    unsigned done;
  18.    unsigned long FileAmount = 0;
  19.    int FileCounter = 0, DirCounter = 0, LineCounter = 0;
  20.  
  21.    printf("╜╨½÷Ñ⌠ñ@┴Σ╢}⌐lªCÑ▄Ñ╪½eÑ╪┐²ñU⌐╥ª│└╔«╫ñº¼█├÷░T«º \n");
  22.    getch();
  23.    done = _dos_findfirst("*.*", 0X003F, &fileblk);
  24.    while (!done)
  25.    {
  26.       if(!(fileblk.attrib & _A_VOLID))
  27.       {
  28.          if(fileblk.attrib & _A_SUBDIR)
  29.          {
  30.             DirCounter++;
  31.             printf("%13s <Ñ╪      ┐²>", fileblk.name);
  32.           }
  33.          else
  34.          {
  35.             FileCounter++;
  36.             printf("%13s %12d", fileblk.name, fileblk.size);
  37.             FileAmount += fileblk.size;
  38.          }
  39.          printf(" %02d/%02d/%02d %.2d:%.2d:%.2d",
  40.                   MONTH(fileblk.wr_date),
  41.                   DAY(fileblk.wr_date),
  42.                   YEAR(fileblk.wr_date),
  43.                   HOUR(fileblk.wr_time),
  44.                   MINUTE(fileblk.wr_time),
  45.                   SECOND(fileblk.wr_time));
  46.  
  47.          if(!(fileblk.attrib & _A_SUBDIR))
  48.          {
  49.            (fileblk.attrib & _A_RDONLY) ? printf(" ░▀┼¬└╔") : printf(" ------");
  50.            (fileblk.attrib & _A_SYSTEM) ? printf(" ¿t▓╬└╔") : printf(" ------");
  51.            (fileblk.attrib & _A_HIDDEN) ? printf(" ┴⌠┬├└╔") : printf(" ------");
  52.            (fileblk.attrib & _A_ARCH  ) ? printf(" Ñ╝│╞Ñ≈") : printf(" ------");
  53.          }
  54.          putchar('\n');
  55.        }
  56.        LineCounter++;
  57.        if(LineCounter > 22)
  58.        {
  59.          printf("╜╨½÷Ñ⌠ñ@┴Σ─~─≥...\n");
  60.          getch();
  61.          LineCounter = 0;
  62.        }
  63.        done = _dos_findnext(&fileblk);
  64.    }
  65.    if(DirCounter)
  66.    {
  67.       printf("ª@ %5d ¡╙Ñ╪┐²\n", DirCounter);
  68.    }
  69.    if(FileCounter)
  70.    {
  71.       printf("ª@ %5d ¡╙└╔«╫ : ª@ %ld ¡╙ª∞ñ╕▓╒╝╞\n",
  72.               FileCounter, FileAmount);
  73.    }
  74. }
  75.