Programma di esempio UUENCODE.PRT |
; UUENCODE
;
; Programma per Proteus
;
; (C) 1998-2003 Simone Zanella Productions
;
; Questo programma scrive sull'uscita una versione UUENCODED del primo
; file specificato.
IF ISEMPTY(ARGV(5))
CONSOLELN "Sintassi: " ARGV(1) " " ARGV(2) \
" .. destinazione [nomefile]"
CONSOLELN ""
CONSOLELN "Scopo: scrive su destinazione una versione " \
"UUENCODED di nomefile"
ABORT 0
FI
SET H = FOPEN(ARGV(5), 1)
IF EQ(H, -1)
CONSOLELN "File \"" ARGV(5) "\" non trovato."
ABORT 1
FI
PRINTLN "begin " Attribs(ARGV(5)) " \"" QualifyName(ARGV(5)) "\""
WHILE NOT(FEOF(H))
SET S = FREAD(H, 45)
IF STRLEN(S)
PRINTLN UUENCODE(S)
FI
LOOP
PRINTLN "`"
PRINTLN "end"
ABORT 0
FUNCTION QualifyName(s)
!ifdef UNIX
SET p = STRRSTR(s, "/")
!else
SET p = STRRSTR(s, "\\")
!endif
IF p
SET s = RESTFROM(s, INC(p))
FI
RETURN s
FUNCTION Attribs(s)
!ifndef UNIX
RETURN "644"
!else
SET fa = FATTRIB(s)
RETURN NAND(fa, 7) NAND(SHIFTRT(fa, 5), 7) \
NAND(SHIFTRT(fa, 8), 7)
!endif