Generación de CSV
Para la creación de un csv se hace lo siguiente:
Se recoge la fecha+segundos+minutos+milisegundos y se convierte a LONG
se codifica estos dos valores en bse36 y se convierte a un array de char .
se recoge el id de la aplicación y se convierte en un array de char
Para poder evitar errores con generar dos csv iguales en distinto nodo y a la misma vez, se genero un código el cual hace lo siguiente:
Se recoge el nombre del nodo que se esta ejecutando y posteriormente se convierte en un array de char
En el caso de que el nombre del nodo tenga números entre el 10 al 40, se multiplican estos dos números para que no haya repeticiones a la hora de convertir de números a letras y de letras a números
La tabla es la siguiente : Se recorre cada letra del nombre de nodo, se convierte en numero y se suma con el numero siguiente, hasta que haya recorrido todo el nombre del nodo y quede un numero final, ejemplo: 435.
Letra | Numero |
---|---|
a | 0 |
b | 1 |
c | 2 |
d | 3 |
e | 4 |
f | 5 |
g | 6 |
h | 7 |
i | 8 |
j | 9 |
k | 10 |
l | 11 |
m | 12 |
n | 13 |
ñ | 14 |
o | 15 |
p | 16 |
q | 17 |
r | 18 |
s | 19 |
t | 20 |
u | 21 |
v | 22 |
w | 23 |
x | 24 |
y | 25 |
z | 26 |
0 | 27 |
1 | 28 |
2 | 29 |
3 | 30 |
4 | 31 |
5 | 32 |
6 | 33 |
7 | 34 |
8 | 35 |
9 | 36 |
El numero final, ejemplo: 445, se divide entre 37 y cogemos el resto ya que el resto es único y evitamos que hayan decimales y redondeos que provocaría que se repita el valor.
Una vez que nos devuelve un numero final entre el 0 y el 36, convertimos ese numero a LETRA o numero: ejemplo: 12 -->M
Una vez hecho esto se añade la letra o el numero al CSV --> como nuestro numero era el 12, siguiendo la tabla, le pertenece la letra (M).
Quedaría de esta manera [C, S, V, F, S, 7, G, 1, 5, B, 6, C, C, 1, E, AQUI SE AÑADE LA LETRA (M) , , , , ], el resto corresponde a la aplicación que ejecute esta librería.
Librería para generación del código CSV
Versión | Fecha | Cambios | Librería |
---|---|---|---|
1.0.2
|
|
|
|
|
|
|
|