Programma di esempio WC.PRT |
; WC
;
; Programma per Proteus
;
; (C) 1998-2003 Simone Zanella Productions
;
; Stampa il numero di parole, linee, caratteri e caratteri non bianchi.
; Parametri impliciti: output predefinito a console
;!proteus -o
; Inizializza
FUNCTION ONSTART()
IF STREQ(ARGV(3), "..")
CONSOLELN "Sintassi: " ARGV(1) " " ARGV(2) " nomefile"
CONSOLELN ""
CONSOLELN "Scopo: conta parole e caratteri in nomefile"
ABORT 0
FI
_NW = 0
_NC = 0
RETURN
; Conta il numero di parole sulla linea
TKH = TOKNEW(L, " ")
NTK = TOKNUM(TKH)
; Aggiunge il numero di caratteri in ogni parola a NC
FOR CurTok = 1 TO NTK
ADD(@NC, STRLEN(TOKGET(TKH, CurTok)))
NEXT
TOKFREE(TKH)
ADD(@NW, NTK)
; Stampa i totali alla fine del file
FUNCTION ONEND()
PRINTLN "Statistiche per il file: " _F
PRINTLN "Dimensioni: " _S
PRINTLN "Numero di caratteri non-bianchi: " _NC " (" \
PFORMAT("2.2f", MUL(FDIV(_NC, _S), 100)) "%)"
PRINTLN "Numero di linee: " _N
PRINTLN "Numero di parole: " _NW
RETURN