Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol COBOL - General
COBOL - General Discusiones de temática general sobre el lenguaje COBOL y todo lo relacionado con él.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Duda] Leer dos archivos y crear uno nuevo. dariodr COBOL - General 5 19 de diciembre de 2023 11:46
[Compilador] No puedo leer archivos. dariodr COBOL - General 4 10 de marzo de 2023 10:23
[Duda] Leer archivos RM Cobol desde PowerCobol Roger PowerCOBOL (ActiveX, v4 - v11) 11 23 de marzo de 2020 14:01
[Sintaxis] Leer archivos Cobol desde VB6 drvedia1981 PowerCOBOL v3 (V3L10, Win32) 8 31 de enero de 2018 00:53
[Duda] Leer y llenar archivos PDF lfortuny PowerCOBOL (ActiveX, v4 - v11) 12 24 de abril de 2016 19:36

Respuesta

  #1
Antiguo 10 de febrero de 2023, 09:04
dariodr
Forero
Última Actividad 21.09.2026 13:09
Posts Posts: 57
Likes enviados Enviados: 17
Likes recibidos Recibidos: 11
Predeterminado Leer archivos COBOL
0 Inactivo Inactivo

Hola, amigos coboleros otra vez yo (jeje). Tengo estos dos codigos uno es para crear un archivo y el otro es para leerlo, el problema esta que a la hora de leerlo lo hace en forma desordenada, donde esta mi error.
Saludos.

Codigo para crear el archivo.
Código COBOL:
  1.        identification division.
  2.        program-id. agenda.
  3.      *
  4.        environment division.
  5.        input-output section.
  6.        file-control.
  7.            select agenda assign to "agenda.txt".
  8.  
  9.       *
  10.        data division.
  11.        file section.
  12.        fd  agenda
  13.            recording mode f.
  14.        01  persona.
  15.            03 nombre     pic x(10).
  16.            03 edad       pic 99.
  17.            03 direccion  pic x(25).
  18.            03 telefono   pic 9(7).
  19.        working-storage section.
  20.        01  i    pic 99.
  21.      *
  22.        procedure division.
  23.        proceso.
  24.      *------ abrir archivo para escritura -----
  25.            open output agenda.
  26.  
  27.       *---- ingreso de datos ------
  28.            perform varying i from 1 by 1 until i > 3
  29.                display "Datos de la persona Nro " i ": "
  30.                perform leer-datos
  31.                write persona
  32.            end-perform.
  33.            close agenda.
  34.            stop run.
  35.  
  36.        leer-datos.
  37.            display "Nombre: " no advancing.
  38.            accept nombre.
  39.            display "Edad: " no advancing.
  40.            accept edad.
  41.            display "Direccion: " no advancing.
  42.            accept direccion.
  43.            display "Telefono: " no advancing.
  44.            accept telefono.

Codigo para leer el archivo.
Código COBOL:
  1.        identification division.
  2.        program-id. agendalee.
  3.  
  4.        environment division.
  5.        input-output section.
  6.        file-control.
  7.            select agenda assign to "agenda.txt"
  8.                organization is line sequential.
  9.  
  10.        data division.
  11.        file section.
  12.        fd  agenda.
  13.        01  persona.
  14.            05 nombre       pic x(20).
  15.            05 edad         pic 99.
  16.            05 direccion    pic x(30).
  17.            05 telefono     pic x(12).
  18.        working-storage section.
  19.        01  fin-archivo     pic a value "N".
  20.  
  21.        procedure division.
  22.        proceso.
  23.            open input agenda.
  24.            perform until fin-archivo = "S"
  25.                read agenda
  26.                    at end move "S" to fin-archivo
  27.                    not at end perform lista-personas
  28.                end-read
  29.            end-perform.
  30.            close agenda.
  31.            stop run.
  32.  
  33.        lista-personas.
  34.            display 'Nombre: ' nombre.
  35.            display 'Edad: ' edad.
  36.            display 'Direccion: ' direccion.
  37.            display 'Telefono: ' telefono.

Miniatura de Adjuntos
Pulsar la imagen para la versión amplia
Nombre:  Captura de pantalla_2023-02-09_11-26-39.png
Vistas: 55
Tamaño:  37,3 KB  
dariodr is offline   Responder Con Cita
  #2
Antiguo 10 de febrero de 2023, 12:04
Kuk
Administrador
Última Actividad 21.09.2026 18:24
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@dariodr, las estructuras que usas en escritura y en lectura son diferentes:

Código COBOL:
  1.        01  persona.
  2.            03 nombre     pic x(10).
  3.            03 edad       pic 99.
  4.            03 direccion  pic x(25).
  5.            03 telefono   pic 9(7).
  6.  
  7.        01  persona.
  8.            05 nombre       pic x(20).
  9.            05 edad         pic 99.
  10.            05 direccion    pic x(30).
  11.            05 telefono     pic x(12).



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:44.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.