home *** CD-ROM | disk | FTP | other *** search
- * Program.: DOS-.PRG
- * Author..: Luis A. Castro
- * Date....: 01/22/84
- * Notice..: Copyright 1984, Luis A. Castro, All Rights Reserved.
- * Version.: dBASE II, version 2.4
- * Notes...: Front-end program to utilize the DOS subroutines:
- * DOS-STAT, DOS-COPY, DOS-PATH, DOS-TIME, DOS-DATE.
- * Local...: string, select
- *
- SET TALK OFF
- SET BELL OFF
- SET COLON OFF
- ERASE
- @ 2, 0 SAY "D O S Assembly Subroutines Demonstration"
- @ 2,72 SAY DATE()
- @ 3, 0 SAY "========================================"
- @ 3,40 SAY "========================================"
- STORE "X" TO select
- DO WHILE select <> " "
- @ 11,0
- STORE " " TO select
- @ 5,0 SAY "1. DOS-STAT = disk space remaining"
- @ 6,0 SAY "2. DOS-COPY = copy utility"
- @ 7,0 SAY "3. DOS-PATH = directory functions"
- @ 8,0 SAY "4. DOS-TIME = system time"
- @ 9,0 SAY "5. DOS-DATE = system date"
- @ 10,0 GET select PICTURE "!"
- READ
- IF select = " " .OR. .NOT. select $ "12345"
- LOOP
- ENDIF
- @ 12,0
- @ 13,0
- @ 14,0
- @ 10,0 SAY " "
- * ---Execute a routine.
- DO CASE
- CASE select = "1"
- * ---DOS-STAT = disk space remaining.
- STORE " " TO drive
- @ 11,0 SAY "Enter a drive letter " GET drive PICTURE "!"
- READ
- IF drive <> " "
- @ 11,0 SAY "E"
- DO Dos-stat
- IF is:error
- ? "UNSUCCESSFUL"
- ELSE
- ? "DISK SPACE REMAINING = ",storage," BYTES "
- ?? storage/1024," KILOBYTES"
- ENDIF
- RELEASE storage
- ENDIF
- RELEASE drive,is:error
- CASE select = "2"
- * ---DOS-COPY = copy utility
- ? "Enter <source> <destination> of COPY "
- ACCEPT TO string
- STORE !(TRIM(string)) TO string
- DO CASE
- CASE string = " "
- CASE @(" ",string) > 0 .AND.;
- @(" ",string) < LEN(string)
- STORE $(string,1,@(" ",string)-1) TO source
- STORE $(string,@(" ",string)+1) TO dest
- DO Dos-copy
- IF is:error
- ? "FILE I/O ERROR"
- ELSE
- ? "COPY COMPLETED"
- ENDIF
- RELEASE source,dest,is:error
- ENDCASE
- CASE select = "3"
- * ---DOS-PATH = directory functions.
- ? "Enter <[MD,RD,CD]> <pathname>"
- ACCEPT TO string
- STORE !(string) TO string
- DO CASE
- CASE string = " "
- CASE @(" ",string) > 1 .AND.;
- @(" ",string) < LEN(string)
- STORE $(string,1,@(" ",string)-1) TO command
- STORE $(string,@(" ",string)+1) TO path
- DO Dos-path
- IF is:error
- ? "UN-SUCCESSFUL"
- ELSE
- ? "SUCCESSFUL"
- ENDIF
- RELEASE command,path,is:error
- ENDCASE
- CASE select = "4"
- * ---DOS-TIME = system time.
- DO Dos-time
- ?
- ? "MILITARY TIME: ",time:dos
- ? " [AM/PM] TIME: ",time:ampm
- RELEASE time:dos,time:ampm
- CASE select = "5"
- * --- DOS-DATE = system date.
- DO Dos-date
- ?
- ? "Current date is ",date:dos
- RELEASE date:dos
- ENDCASE
- @ 11,0
- ENDDO
- SET BELL ON
- SET TALK ON
- SET COLON ON
- RELEASE string, select
- RETURN
- * EOF: DOS-.PRG