2 <TITLE>File: serializacionutils.pas </TITLE>
\r
3 <META NAME="GENERATOR" CONTENT="PasToHTML(Bystricky Vladimir)">
\r
5 <BODY BGCOLOR="#FFFFFF">
\r
6 <A NAME=serializacionutils.pas><CENTER><H3>serializacionutils.pas</H3></A><I> from <A HREF=/proyecto/doc/src-html/AlgoWars.html> Project: AlgoWars.dpr</A></I></CENTER>
\r
9 <I><FONT COLOR="Navy">{** Funciones útiles para complementar la utilización de la serialización en
\r
10 este modelo en particular}</FONT></I>
\r
11 <B>unit</B> SerializacionUtils;
\r
18 <I><FONT COLOR="Navy">{** Crea un objeto a partir de un string con el nombre de su clase y otro
\r
19 con su representación serializada.}</FONT></I>
\r
20 <B>function</B> <A HREF="#restaurarObjeto">restaurarObjeto</A>( clase, str: <B>string</B> ): cObjetoVolador;
\r
22 <B>implementation</B>
\r
31 <I><FONT COLOR="Navy">{** Crea un objeto a partir de un string con el nombre de su clase y otro
\r
32 con su representación serializada.
\r
33 @param clase Clase del Objeto
\r
34 @param str Representación del objeto serializado
\r
35 @return Puntero al nuevo objeto.}</FONT></I>
\r
36 <B>function</B> <A NAME=restaurarObjeto>restaurarObjeto</A>( clase, str: <B>string</B> ): cObjetoVolador;
\r
38 <B>if</B> clase = 'cMeteorito' <B>then</B>
\r
39 result := cMeteorito.crearDeSerializado( str )
\r
40 <B>else</B> <B>if</B> clase = 'cLaser' <B>then</B>
\r
41 result := cLaser.crearDeSerializado( str )
\r
42 <B>else</B> <B>if</B> clase = 'cMisil' <B>then</B>
\r
43 result := cMisil.crearDeSerializado( str )
\r
44 <B>else</B> <B>if</B> clase = 'cMisilDirigido' <B>then</B>
\r
45 result := cMisilDirigido.crearDeSerializado( str )
\r
46 <B>else</B> <B>if</B> clase = 'cNavePropia' <B>then</B>
\r
47 result := cNavePropia.crearDeSerializado( str )
\r
48 <B>else</B> <B>if</B> clase = 'cNavePesada' <B>then</B>
\r
49 result := cNavePesada.crearDeSerializado( str )
\r
50 <B>else</B> <B>if</B> clase = 'cNaveLiviana' <B>then</B>
\r
51 result := cNaveLiviana.crearDeSerializado( str )
\r
52 <B>else</B> <B>if</B> clase = 'cNaveEspia' <B>then</B>
\r
53 result := cNaveEspia.crearDeSerializado( str )
\r
54 <B>else</B> <B>if</B> clase = 'cNaveSuicida' <B>then</B>
\r
55 result := cNaveSuicida.crearDeSerializado( str )
\r
57 <B>raise</B> ESerializacion.create( 'No se puede crear un objeto de la clase "' +
\r
58 clase + '". Clase Desconocida!' );
\r