Ver Mensaje Individual
  #6  
Antiguo 09-06-2006
rafita rafita is offline
Miembro
 
Registrado: ago 2003
Ubicación: Cuenca- España.
Posts: 309
Reputación: 23
rafita Va por buen camino
Hola Jon,

Vayamos por partes.

No recuerdo exactamente las características de los ficheros de texto en pascal, pero creo que tienes toda la razón: no permite modificar, tan solo abrir para leer y para escribir (borrando lo que tuviese). Sin embargo en los ficheros "con tipo" sí permitía acceder directamente a un registro y modificarlo.

Al leer tu primer mensaje de este hilo entendí que tú generabas el fichero, y que el problema era que fuese compatible con otra aplicación. Luego bastaba con generarlo correctamente (para no tener que modificar después ninguna lína), por eso te comente lo de los ficheros de texto.

Si en tu aplicación vas a tener que acceder a un registro concreto y modificarlo, se me ocurren varias posibilidades:

1ª) trabaja con un fichero "con tipo" (si puedes, mejor con una base de datos), y cuando necesites el fichero para comunicarte con la otra aplicación, lo generas como tipo texto.

2ª) prueba a trabajar con un fichero "con tipo", pero agrupando todos los campos en uno sólo (respetando las longitudes para poder codificarlo y decodificarlo), quizá así la otra aplicación no rechace el caracter de fin de campo.

3ª) si la modificación en un registro/línea va a ser algo puntual, puedes generarte el fichero de tipo texto y modificarlo "a mano" con cualquier editor de texto.

4ª) (trabajando con Delphi) si la modificación de los registros va a ser habitual, podrías generar el fichero de texto y utilizar (mediante Delphi) las posibilidades de reemplazar texto que te dan algunos procesadores de texto como Word (mira el apartado Server de este foro).

5ª) finalmente, puedes trabajar a lo bestia. Es decir, tienes tu fichero de texto (abierto con reset) que vas pasando a otro de trabajo (abierto con rewrite), cuando llegues a la línea a modificar, la cambias, y continuas procesando el fichero hasta llegar a final. Después les cambias los nombres o vuelves a pasar el contenido del fichero de trabajo al original. Esto es trabajar a lo bestia pero lo hace la máquina, y con los procesadores de hoy en día... tampoco será tanto tiempo.

Saludos Jon (y ánimo que ya es viernes)
__________________
Rafita.
Responder Con Cita