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
[PowerCOBOL v3] Mostrar imagenes en nuestra Aplicacion fastpho Cocina PowerCOBOL 17 7 de noviembre de 2022 22:47
[Sintaxis] Mostrar un fichero Word Begoguay PowerCOBOL (ActiveX, v4 - v11) 1 20 de noviembre de 2021 23:13
[Sintaxis] Mostrar un PDF en un control Begoguay PowerCOBOL (ActiveX, v4 - v11) 1 19 de noviembre de 2021 23:06
[Sintaxis] Leer nombre de archivo y separarlo en variables GAbo248 AcuCobol 3 26 de julio de 2020 19:27
[Componente] Mostrar codigos de barra en un form lfarias PowerCOBOL (ActiveX, v4 - v11) 1 14 de noviembre de 2016 12:34

Respuesta
 
Herramientas

  #1
Antiguo 19 de enero de 2024, 17:06
JonathanDemons_123
Acabo de llegar...
Última Actividad 08.10.2024 05:12
Posts Posts: 4
Likes enviados Enviados: 1
Likes recibidos Recibidos: 0
Predeterminado Mostrar 2 variables de un archivo
0 Inactivo Inactivo

Buenos dias Mis compas, estoy aprendiendo cobol:

Una de mis practicas es que de un archivo, sea lea y que imprima la linea del archivo.
De la posicion 1 al 20 es el nombre, de la 21 a la 40 es la direccion.

Y mi programa se tiene que imprimir
Nombre:
Direccion:

Esto debe se ser por cada linea, yo manejo sql server, debe de ser una funcion tipo substring, pero no encuentro bien la documentacion


Código COBOL:
  1.      *------
  2.      *-------------------------------------------------
  3.        IDENTIFICATION                   DIVISION.
  4.      *--------------------------------------------------
  5.        PROGRAM-ID.                      datos.
  6.        AUTHOR.                          Juan
  7.        DATE-WRITTEN.                    2023
  8.        SECURITY.              =============================================
  9.                               =============================================
  10.      *--------------------------------------------------------------------
  11.        ENVIRONMENT                       DIVISION.
  12.      *--------------------------------------------------------------------
  13.        CONFIGURATION                     SECTION.
  14.        SOURCE-COMPUTER.                  UNIX.
  15.        OBJECT-COMPUTER.                  UNIX.
  16.        INPUT-OUTPUT                       SECTION.
  17.        FILE-CONTROL.
  18.             SELECT RTRES ASSIGN TO "./DATOS.TXT"
  19.             ORGANIZATION IS LINE SEQUENTIAL.
  20.      *--------------------------------------------------------------
  21.        DATA DIVISION.
  22.        FILE                             SECTION.
  23.        FD RTRES.
  24.        01 REGISTRO.
  25.           05 R3 PIC X(156).
  26.  
  27.       ******************************************************************
  28.        WORKING-STORAGE                  SECTION.
  29.  
  30.        01 FDR3.
  31.           05 WS-STUDENT-ID PIC 9(15).
  32.           05 WS-NAME PIC A(55).
  33.        01 FIN PIC A(1).
  34.      ******************************************************************
  35.        PROCEDURE                        DIVISION.
  36.      ******************************************************************
  37.        OPEN INPUT RTRES.
  38.           PERFORM UNTIL FIN='Y'
  39.           READ RTRES INTO FDR3
  40.             AT END MOVE 'Y' TO FIN
  41.             NOT AT END DISPLAY FDR3(2:5)
  42.           END-READ
  43.         END-PERFORM.
  44.        CLOSE RTRES.
  45.        STOP RUN.

Asi va mi programa


Comentario de Moderador

Utiliza los botones de resalto de sintaxis

Última edición por Kuk fecha: 20 de enero de 2024 a las 10:57. Razón: resalto de sintaxis
JonathanDemons_123 is offline   Responder Con Cita
  #2
Antiguo 20 de enero de 2024, 11:33
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@JonathanDemons_123, la "función substring" en Cobol es nativa, forma parte de la sintaxis del lenguaje. Es decir, en cualquier variable alfanumérica puedes extraer un substring de la manera que lo haces en la línea 41 de tu código: variable(posición:longitud)

Ahora, si tienes una estructura en la que lees tu fichero, no hace falta substring porque te lo hace la "máscara" que se aplica con tu estructura:

Código COBOL:
  1.        WORKING-STORAGE                  SECTION.
  2.  
  3.        01 FDR3.
  4.           05 WS-STUDENT-ID PIC 9(15).
  5.           05 WS-NAME PIC A(55).
  6.        01 FIN PIC A(1).
  7.        
  8.        01  mi-fichero.
  9.            05  nombre      pic x(20).
  10.            05  direccion   pic x(20).
  11.          
  12.       ******************************************************************
  13.        PROCEDURE                        DIVISION.
  14.      ******************************************************************
  15.        OPEN INPUT RTRES.
  16.           PERFORM UNTIL FIN='Y'
  17.           READ RTRES INTO mi-fichero
  18.             AT END
  19.                 MOVE 'Y' TO FIN
  20.             NOT AT END
  21.                 DISPLAY "Nombre   : " nombre
  22.                 DISPLAY "Direccion: " direccion
  23.           END-READ
  24.         END-PERFORM

Un consejo: no pongas puntos después de las sentencias. El único punto obligatorio en PROCEDURE es el punto final (en tu código, después del STOP RUN).



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



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 13:07.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.