home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / TURBOPAS / V1DIR.ZIP / TV1DIR.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1985-12-28  |  2.0 KB  |  80 lines

  1. {    This program demonstrates Turbo Pascal include file V1DIR.INC.  It shows
  2. how to traverse the returned directory and how to RELEASE the space it
  3. contains after you are done with it.
  4.  
  5.      File MATCHCH.PAS contains FUNCTION match_char.
  6.  
  7. Lew Paper
  8. E-1212 First National Bank Building
  9. St. Paul, MN 55101
  10. 3/17/85}
  11.  
  12.  
  13. PROGRAM tv1dir;
  14.  
  15. TYPE
  16.   str255 = STRING[255];
  17.  
  18. {$IMATCHCH.PAS}
  19.  
  20. {$I V1DIR.INC}
  21.  
  22. CONST
  23.   space_15 = '               ';
  24.   total_size_desc = 'Total size = ';
  25.  
  26. {Function V2 is from the anonymous public domain file WHEN.PAS}
  27.  TYPE v2_string2 = STRING[2];
  28.  
  29.  Function V2(I:Integer):v2_string2;
  30.     Begin
  31.       V2:=Chr(48+I Div 10)+Chr(48+I Mod 10);
  32.     End;
  33.  
  34. VAR
  35.   input_name: str255;
  36.   output_pointer: dirpoint;
  37.   mark_pointer: intpoint;
  38.   bad_result: BOOLEAN;
  39.   n_files: INTEGER;
  40.   k: INTEGER;
  41.   total_size: REAL;
  42.   i, x: INTEGER;
  43.  
  44. BEGIN
  45.   WRITELN('Test v1dir');
  46.   WRITELN;
  47.   WRITE('File name: ');
  48.   READLN(input_name);
  49.   n_files := v1dir(input_name, output_pointer, mark_pointer, bad_result);
  50.   IF n_files > 0 THEN
  51.     BEGIN
  52.       total_size := 0.0;
  53.       WRITELN('Directory Records');
  54.       WHILE output_pointer <> NIL DO
  55.         BEGIN
  56.           WITH output_pointer^ DO
  57.             BEGIN
  58.               WRITE(full_name);
  59.               FOR i := LENGTH(full_name) + 1 TO 15 DO WRITE(' ');
  60.               WRITE(hours:2, ':', V2(minutes), ':', V2(seconds), ' ');
  61.               WRITE(month:2, '/', V2(day), '/', year:4, ' ');
  62.               WRITELN(size:8:0);
  63.               total_size := total_size + size;
  64.               output_pointer := next;
  65.             END; {WITH output_pointer^}
  66.         END; {WHILE output_pointer <> NIL}
  67.       RELEASE(mark_pointer);
  68.     END; {IF n_files > 0}
  69.   WRITE('  ', n_files, ' files');
  70.   IF n_files > 0 THEN
  71.     BEGIN
  72.       x := 15 + 9 + 11 + 1;
  73.       GOTOXY(x - LENGTH(total_size_desc), WHEREY);
  74.       WRITE(total_size_desc, total_size:8:0);
  75.     END; {IF n_files > 0}
  76.   WRITELN;
  77. END.
  78.  
  79.  
  80.