Utilidad para hacer copias de seguridad del directorio HOME
Al iniciar la aplicación, hay que indicar el número
de puerto en el que se hará el archivado (2 Flash, 3 Memoria SD ...) y
a continuación se creará una variable conteniendo la copia
de seguridad con el nombre arAAMMDD.nnn. Donde AA es el año,
MM el mes, DD el día y nnn es un número consecutivo que
sirve para distinguir las copias que se hacen en un mismo día.
El programa controla, mediante la captura de errores, cual es la extensión
'nnn' que debe darle al nombre de la variable. También proporciona mensajes
cuando hay un error o una situación inesperada como la falta de memoria o que se
sobrepase el número de copias admitido para un día (999).
Los símbolos '<<' , '>>' , '->' y '<>' se usan aquí en lugar de
los utilizados originalmente en la calculadora para 'inicio de programa' ,
'fin de programa' , 'flecha derecha' y 'distinto' respectivamente.
Los textos a la derecha del caracter @ son comentarios.
El programa archi ha sido probado en HP 49G y HP 49G+ .
<<
@Programa para archivar el
@directorio HOME en el puerto
@indicado.
@El nombre del archivado
@tiene la forma arAAMMDD.nnn
@Valor inicial
10 CHR 'cr' STO
2 'puerto' STO
0 'n' STO
999 'MAXNUM' STO
"¿Puerto para guardar" cr +
"el archivado?" +
puerto ->STR
INPUT OBJ-> 'puerto' STO
@Guarda la fecha "mM.DDAAAA"
DATE ->STR 'ftmp' STO
IF ftmp SIZE 9 <
THEN
"0" 'ftmp' STO+
END
ftmp 8 9 SUB 'aa' STO
IF -42 FC? @Test formato fecha
THEN @mM.DDAAAA
ftmp 4 5 SUB 'dd' STO
ftmp 1 2 SUB 'mm' STO
ELSE @dD.MMAAAA
ftmp 4 5 SUB 'mm' STO
ftmp 1 2 SUB 'dd' STO
END
|
1 'er' STO
WHILE er 1 ==
REPEAT
1 'n' STO+
n ->STR 'nnn' STO
WHILE nnn SIZE 3 <
REPEAT
"0" 'nnn' STO+
END
":" puerto + ":ar" +
aa + mm + dd + "." + nnn +
" ARCHIVE" + 'archivar' STO
IFERR
archivar STR->
THEN
@El error 9h se produce
@cuando el objeto ya
@existe
IF ERRN # 9h <>
THEN
2 'er' STO
END
IF n MAXNUM ==
THEN
3 'er' STO
END
ELSE
0 'er' STO
END
END
|
@Resultado del proceso y
@salida del programa
CLEAR
CASE
er 0 ==
THEN
"Se ha ejecutado"
" el comando " +
archivar + MSGBOX
END
er 2 ==
THEN
ERRM MSGBOX
"No se ha podido "
"ejecutar el comando " +
archivar + MSGBOX
END
er 3 ==
THEN
"El contador de "
"archivos ha superado "
+ MAXNUM + MSGBOX
END
END
{ ftmp archivar aa
dd mm puerto cr
er n nnn MAXNUM }
PURGE
>>
|
|
Conjunto de programas para hacer apuestas de Primitiva, Euro Millones y Quinielas
|
|