FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
file of, caracter de separación
hola a todos!
No se si es el lugar más adecuado, ya que ahora estoy programando en Pascal, pero supongo que muchos de vosotros habréis hecho pinitos (y más) con él. Estoy haciendo un programilla que debe guardar unos registros de un tipo determinado (tipoNuevo) en un fichero en disco. Creo un file of tipoNuevo, y al grabar o leer los registros me los graba / lee bien. El problema surge cuando edito el archivo como texto. Entre campo y campo de cada registro veo que me ha insertado un carácter variable (puede ser cualquiera). El asunto es que necesito quitar este caracter, pues las ristras que le dejo yo las usa otro programa que no espera encontrar nada ahí. He probado a escribir todo como un archivo de texto, pero el problema es que al permitir solo reset, rewrite, append no puedo acceder a la fila que yo quiero y modificarla. ¿Alguien me puede dar laguna pista? Muuuuuuuuuuchísimas gracias. Jon |
#2
|
||||
|
||||
Como archivo de texto, si usas Rewrite te borrará el archivo, pero con Reset te puedes situar la principio, y despues con ReadLn puedes ir leyendo hasta situarte en la línea adecuada, para modificar, usas WriteLn.
Si usas un File of TRecord, no puedes modificar despues a mano el archivo, porque se crean las marcas de fin de registro, si lo modificas, despues al leer dará fallos. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
|||
|
|||
gracias Lepe,
es lo que he intentado, pero existe el siguiente problema. Si abro con reset el archivo es solo de lectura (ya que es de texto), por lo que aunque lea las líneas y me posiciones en la que yo quiero, a la hora de escribir tendré que hacer un rewrite, con lo que me borrará el archivo y me creará uno vacío. ¿Alguna ideas más? Muchas gracias, Jon |
#4
|
||||
|
||||
Quizás fuera conveniente leer todo el archivo en memoria ¿es muy grande?
Si no lo es, 2000 o 3000 registros, puedes usar un TStringList y quitarte de todos esos problemas:
saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
muchas gracias lepe, pero (parezco el hombre de los peros) me temo que en turbo pascal no existe TStringList (o al menos yo no lo conozco). Lo único que se me ocurre es antes de escribir leer todo, añadir en el sitio adecuado la ristra que quiero y volver a escribir todo. Pero no me convence en absoluto.
Un saludo Jon |
#6
|
|||
|
|||
porque no pruebas a bajar el FreePascal? si mal no recuerdo ya tiene la clase de TStrings o TStringList,
otra opcion seria que hicieras el guardado de registros a mano, pero guardandolos como texto delimitado por comas, y donde cada registro es un renglon por ejemplo "reg1campo1","reg1campo2","reg1Campo3","etc" "reg2campo1","reg2campo2","etc","etc" lo que si, es que es mas chamba, sin embargo, no dudo que haya por ahi una unidad ya hecha para leer y guardar datos en este formato... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayudaaaa!!! Tabla ASCII: El carácter Ñ vs. carácter ¥ | Berto2003 | Varios | 5 | 26-07-2005 15:37:48 |
mainmenu y barritas de separación | unreal4u | Varios | 2 | 22-04-2005 21:19:46 |
Caracter \r\n | FRANKER | Varios | 3 | 03-06-2004 10:02:43 |
busqueda caracter a caracter | Irina | SQL | 3 | 20-05-2003 13:12:53 |
sql a file | jsanchez | SQL | 2 | 13-05-2003 21:34:03 |
|