FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas con archivo tipo TXT
Estoy tratando de crear un archivo tipo TXT para cargar información por Internet pero se me presentan varios problemas. Presento un pedacito del resultado del archivo para detallar los problemas:
ALFONSORTO JOSEQUES 30303030408043 408000 408000 408000 408000 0.1550063200 2000 2000 67200 0.1200049000 0.0052200 2100 0.0400016300 0.005002000 0.0300012200 0.005002000 0.010004100 0200010CC3836049 1 70702ACOSTAA Entre campo y campo del registro me esta generando esos cuadritos y los nombres quedan sobreescritos. Otra preguntica, como hago para cambiar de linea, es decir, la función que cumplia el WRITELN es Pascal. No he encontrado la función que lo supla en delphi y el resultado sale pegado. Muchas Gracias. |
#2
|
||||
|
||||
Cita:
Cita:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Pero, ¿cómo vamos a saber de dónde vienen los cuadritos si no sabemos ni el origen de la información ni la forma en que estás leyendo los datos y creando el archivo?
Cita:
// Saludos |
#4
|
||||
|
||||
Quizás, y repito lo de quizás, quizás esos "cuadritos" sean saltos de teclado (cambiar de una línea a otra). Pero en Windows los saltos se representan con dos carácteres (CR y LF, #13 y #10, uno detrás del otro), mientras que en Macintosh solo se usa LF y en UNIX y Linux solo el CR. Esto se soluciona con la función AdjustLineBreaks que está en la uses SysUtils. En cuanto a lo de WriteLn, pues coincido con nuestro amigo, siempre ha estado ahí.
Espero que te haya sido de ayuda. Saludos |
#5
|
||||
|
||||
En general los "cuadritos", como les has llamado, son caracteres no imprimibles, es decir, con un asii menor a 32.
Tu cadena en particular está plagada de caracteres #1, #2, #4, #5, #6 y #7, que, si no los pone tu programa, deben proceder del origen de los datos. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate Última edición por jachguate fecha: 10-10-2006 a las 20:15:10. |
#6
|
|||
|
|||
Esos cuadritos creo que son el Chr 1... no lo se seguro, pero eso creo.
Saludos |
#7
|
|||
|
|||
Parece que no fui claro con la inquietud. Voy a presentar el codigo para realizar nuevemente la consulta.
Lo que intento hacer es generar el archivo plano para una Planilla de Pago por Internet. Debe traer un Registro Tipo 1 que se genera en LlenaTipo1 y un Tipo 2 que tiene tantos como funcionarios tenga la entidad. Cabe anotar que la planilla es para aportes Fiscales y parafiscales. Hasta ahi no hay problema. Sin embargo, cuando reviso el Archivo resultante, que se llama PlanillaSGP01.txt, veo en el resultado cuadros que separan los diferentes campos del Registro. Esos son los cuadritos a los cuales me refiero. Además, al revisar dicho archivo, veo que los nombres se mezclan, por ejemplo, el Primer nombre es ANDRES y el Segundo es ROBERTO y el resultado que veo es ANDRESERTO. Lo mismo pasa con los apellidos. Y por ultimo, lo ideal es que cada registro inicie línea pero no se como darle el salte. Intente con WRITELN y me dio el error Writeln(R02,Dato02); Illegal type en Write/Writeln statement. Muchas gracias por la colaboración. Última edición por roman fecha: 10-10-2006 a las 20:49:03. |
#8
|
||||
|
||||
El problema está aquí:
creo que más bien deberías hacer:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#9
|
|||
|
|||
Muchas Gracias Lepe por la colaboración pero te comento que el archivo me genero igual.
Como inserto el cambio de lìnea, cual instruccion debo utilizar para que cada registro inicie linea y pueda obtener registros de longitud 487. Muchas Gracias. |
#10
|
||||
|
||||
El problema es que estas usando archivos binarios y tratando de producir un archivo de texto.
Esto, porque writeln solamente tiene sentido en archivos de texto. El "montaje" de los nombres ocurre porque, al grabar un archivo binario, (file of record) almacenará tantos caracteres como tenga reservados el registro para la cadena del nombre y del apellido, y evidentemente estos espacios no están resultando suficientes. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cargar archivo de tipo de letra TTF | dabas | Varios | 5 | 18-06-2010 20:40:09 |
Abrir cualquier tipo de archivo desde mi aplicación | Albano | Varios | 3 | 06-10-2006 20:48:31 |
Como leer un archivo del cual no se el tipo ? | ilichhernandez | Varios | 4 | 04-07-2006 10:02:18 |
Guardar cualquier tipo de datos en un mismo archivo | metalfox6383 | Varios | 5 | 22-08-2005 21:35:54 |
Crear mi propio tipo de archivo. | JuanErasmo | C++ Builder | 3 | 18-08-2005 14:53:05 |
|