Ver Mensaje Individual
  #20  
Antiguo 27-04-2004
Avatar de Magician^
Magician^ Magician^ is offline
Miembro
 
Registrado: mar 2004
Ubicación: Lima - Perú
Posts: 74
Reputación: 21
Magician^ Va por buen camino
Pues si me indicas en que parte tienes dificultades te podre ayudar mejor, básicamente se trata de leer un archivo de texto, linea a linea, verificar si la linea leida es uno de nuestros "tag" y procesar la información que continúa segun indique el "tag" hasta encontrar la señalización de fin (":<end>" en el ejemplo).
al leer la primera línea ya sabrias cuantos memos tienes que crear en forma dinámica, para saber si una linea es un "tag" puedes usar la siguiente comparación, asumiento q en la variable S esta la linea de texto leida del archivo:
if RightStr(S,2)=':<' then // aquí ya sabes q es un tag.
Para saber si se trata de un tag en particular examina el texto antes del signo '=' y para el valor (como por ejemplo el numero de memos) convierte con un strtoint el valor comprendido entre el = y el final de la cadena menos 1 (para quitar el '>'):
tag=copy(S,3,Pos('=',S)-1); Con esto obtienes el tag en una cadena.
tagvalue=strtoint(copy(S,Post('=',S)+1,Length(S)-1)); y con esto el valor si es necesario.

Para crear el archivo, usa el rewrite, grabas primero el tag con el numero de memos y luego la información segun el formato del ejemplo.

En realidad la lógica es sencilla, cuando tengas listo el programa te va a sorprender lo pequeño y simple q resultó.

Nuevamente mi consejo es que en vez de usar ':<' uses algun tipo de secuencia de códigos de escape no vaya a ser q tu usuario justo se le ocurra escribir al comienzo de una linea ":<end" y el programa lo interprete como un tag. Aunque esto es algo exagerado, pero hay usuarios y usuarios!!

Saludos.
__________________
MAGICIAN^
Lima - Perú
=======
MagicTech.blogspot.com
Responder Con Cita