home *** CD-ROM | disk | FTP | other *** search
- Program PascalDirectory;
- { Driver program to demonstrate procedure directory()
-
- All externals in Pascal/Z Users Group Library "ASL.REL"
-
- translated to Pascal/Z - 07/10/82 (rep)
- added peek(), poke(), call(), and additional comments.
-
- original program by Daniel S. Hunt
- 822 Green Valley
- Newbury Park, CA. 91320
- as published in BYTE, June 1982, page 497
- }
-
- type byte = 0..255;
- strng12 = packed array [1..12] of char;
-
-
- { peek() returns the contents of the memory location given }
- { by address. the value returned is a single byte integer. }
- function peek ( address: integer ): byte;
- external;
-
- { poke() stores the low-order eight bits of abyte }
- { at the memory location pointed to by address. }
- procedure poke ( address: integer; abyte: byte );
- external;
-
- {$iDIRCTRY.P }
-
- { Simple driver for procedure directory. Constructs a string of }
- { 11 chars = '?'. First char is the binary value of the requested }
- { drive unit. }
- procedure list;
- var
- title : strng12;
- ch : char;
- i : byte;
-
- function toupper ( ch: char ): char; external;
-
- begin
- title := '0???????????'; { 12 chars. 1st char = drive unit }
- {
- Example string to search for all *.COM files on logged in dr unit...
- title := '0????????COM';
- NOTE: MUST be in uppercase!
- }
- write ( 'LIST DISK DIRECTORY: UNIT "A" OR "B"? ' );
- readln ( ch );
- ch := toupper(ch);
-
- { construct the proper binary unit identifier:
- 0 = logged in drive unit
- 1 = drive unit 'A'
- 2 = drive unit 'B'
- }
- title[1] := chr( ord(ch) - ord('A') + 1 );
- writeln;
- directory ( title );
- writeln
- end{ list };
-
- {$C+}{ enable control-c keypress checking in main program }
-
- BEGIN {MAIN }
- repeat
- list
- until false
- END.
-