Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Duda] Como eliminar componente no instalado alabrador Fujitsu COBOL 2 3 de noviembre de 2023 12:27
[Componente] Eliminar Control de un Formulario Fito PowerCOBOL (ActiveX, v4 - v11) 7 3 de octubre de 2023 20:41
[Sintaxis] Retorno de carro Josber PowerCOBOL (ActiveX, v4 - v11) 3 7 de febrero de 2020 20:28
[Sintaxis] Salto de página GabrielACE COBOL - General 5 15 de abril de 2019 19:20

Respuesta

  #1
Antiguo 9 de junio de 2016, 20:47
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492
Post Eliminar Retorno de Carro/Salto de líena
0 Inactivo Inactivo

Quiero cambiar el retorno de carro de una variable por un espacio, hace tiempo lo hice con un INSPECT y no encuentro donde lo usé, y ahora no lo consigo, he probado con

Código COBOL:
  1. INSPECT ARTDESL REPLACING ALL X"0A" BY " ".

y con

Código COBOL:
  1. INSPECT ARTDESL REPLACING ALL X"0D" BY " ".

No funciona de ninguna de las dos maneras, alguna ayuda, porfa ...

Muchas gracias.-
Josber is offline   Responder Con Cita
  #2
Antiguo 9 de junio de 2016, 21:27
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, en Windows es de 2 bytes:

Código COBOL:
  1. INSPECT ARTDESL REPLACING ALL X"0D0A" BY X"2020".

En este caso el INSPECT exige que la longitud del BY sea la misma que la de REPLACING. Si quieres reemplazar con 1 sólo espacio, haz un bucle.



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
  #3
Antiguo 9 de junio de 2016, 21:29
Adrianeloy
Forero Junior
Última Actividad 24.11.2020 17:31
Posts Posts: 39
Likes enviados Enviados: 29
Likes recibidos Recibidos: 34

A mi me funciona correctamente, Josber, tanto con "0D" como con "0A"... Fijate si el caracter a reemplazar no tiene otro valor distinto a esos dos.
Es una variable compuesta? Probá moverla a una variable PIC X(256) e intentalo nuevamente...
Adrianeloy is offline   Responder Con Cita
  #4
Antiguo 10 de junio de 2016, 10:31
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Kuk, Nada, no hay manera, el caso es que he encontrado donde tenía la otra instrucción, que es como la segunda que he puesto, y funciona perfectamente.
Josber is offline   Responder Con Cita
  #5
Antiguo 10 de junio de 2016, 10:42
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Citación del post de Josber Ver Mensaje
Nada, no hay manera
Quieres decir que no te funciona incluso con el INSPECT que tenías hecho antes y te funcionaba? Estás seguro de que no funciona? Dónde DISPLAYas dicha variable? Si es en un CmStatic centrado o un CmEdit von vScroll activado, puede que haya funcionado pero estos controles hacen salto de línea automáticamente.

Por cierto, no tendrás campos COMP-3 en dicha variable?



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
  #6
Antiguo 10 de junio de 2016, 12:38
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

No Kuk, es un campo con PIC X(300), que exporto a un fichero de texto plano, junto con otros campos, el problema está en que si lleva algún CR+LF, descuadra todo el fichero de exportación. El texto viene de un campo TextBox vulgar y corriente.

Un saludo.-
Josber is offline   Responder Con Cita
  #7
Antiguo 10 de junio de 2016, 12:57
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, haz el bucle siguiente y me dices si ha funcionado o no:

Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  01  CAMPO          PIC X(300).
  3.  01  IDX-1          PIC 9(3).
  4.  PROCEDURE DIVISION.
  5.      
  6.      MOVE 1 TO IDX-1
  7.      
  8.      PERFORM UNTIL IDX-1 > 300
  9.          IF  CAMPO(IDX-1:2) = X"0D0A"
  10.              MOVE CAMPO(IDX-1 + 2:) TO CAMPO(IDX-1 + 1:)
  11.              MOVE SPACES            TO CAMPO(IDX-1:1)
  12.          END-IF
  13.          
  14.          IF  CAMPO(IDX-1:1) = X"0D" OR
  15.              CAMPO(IDX-1:1) = X"0A"
  16.              MOVE SPACES TO CAMPO(IDX-1:1)
  17.          END-IF
  18.          
  19.          ADD 1 TO IDX-1
  20.      END-PERFORM
  21.      

Lo he probado con:

Código COBOL:
  1.     MOVE "ABDCE" & X"0D0A" & "FGH" & X"0D" & "IJKLM" & X"0A" & "NOP" TO CAMPO

Y aquí tienes la prueba de que funciona.

Miniatura de Adjuntos
Pulsar la imagen para la versión amplia
Nombre:  Salto_Linea.png
Vistas: 167
Tamaño:  35,6 KB  



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
  #8
Antiguo 12 de junio de 2016, 17:57
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Kuk, Ahora funciona de las dos maneras, manda webos ..., he puesto tu rutina en un sitio de los dos en las que tenía que ponerlo y funciona, y en el otro sitio, donde está la rutina de siempre, con otra variable, ahora funciona, sin tocar nada, cosas de brujería, así es que lo dejo como está y "pa'lante".

Un saludo.-
Josber is offline   Responder Con Cita
  #9
Antiguo 13 de junio de 2016, 13:39
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, por lo que he visto, al Make se le va a veces la pinza. Por ello, cuando ves que algo evidente no funciona, haz Build y no Make.



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
  #10
Antiguo 13 de junio de 2016, 15:17
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Citación del post de Kuk Ver Mensaje
haz Build y no Make
, suelo hacer un Make siempre, pero da la casualidad que a éste proyecto, le hice un ReBuild All, porque había cambiado una cosa en los ficheros y como estan en un #INCLUDE, necesitaba hacerlo, y todo ello después de insertar mi rutina, así es que la conclusión final, es que de vez en cuando, el compilador hace lo que le sale de los nísperos...

Un saludo.-
Josber 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 16:23.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.