Programas en lenguaje User RPL

para calculadoras HP 49


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

 

 


Página inicial