Resultados 1 al 8 de 8

Tema: Texto centrado con recuadro simple en linea 23

  1. #1
      Junior
    Avatar de Paco_Diaz

    Registrado
    agosto de 2022
    Ubicación
    Córdoba
    Edad
    56
    Mensajes
    52
    Última visita
    31.07.2023

    Agradecimientos
     
    Recibidos
    14
    Enviados
    9

    Citaciones y menciones
     
    Mentioned
    32 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    1 Post(s)
    Poder de Reputación
    0

    Predeterminado Texto centrado con recuadro simple en linea 23

    Buenas.

    Después de haber dado la vara con colores, editores de pantalla y demás, he conseguido hacer una utilidad, que creo que es bastante interesante para cuando alguien quiera sacar un texto centrado en la fila 23 (o la que se quiera retocando el código) rodeado por un cuadro simple (o doble también retocando el código), y quiero compartirla.

    La he realizado en rm/cobol-85, compilada y ejecutada en un sobremesa con windows xp en modo texto, pero supongo que se podrá adaptar a otros entornos.

    He intentado documentarla con comentarios, explicando qué hace cada cosa en cada momento, incluyendo una ayuda visual en forma de regla en la fila 25 para comprobar que todo funciona correctamente, y que se puede desactivar.

    Como ayuda alternativa, he creado un sistema de variables con combinaciones de colores, que, por sus nombres, ayudan a la hora de programar, y que se pueden usar en otros programas (las combinaciones me han hecho aprender bastante sobre qué colores se pueden usar, y cuales son las restricciones.

    Es un subprograma que he llamado mensaje.cbl, y que para llamarla se hace desde cualquier punto de un programa se hace de la siguiente manera:

    Se define una variable que se llama mensaje pic x(55)

    Se le asigna como contenido el texto que queremos displayar en la fila 23 (procurar no escribir 2 espacios en blanco consecutivos, porque de lo contrario, no funcionará correctamente

    Se le llama con CALL "MENSAJE" USING MENSAJE

    Y voilá

    Este es el código:

    COBOL Código:
    1.        IDENTIFICATION DIVISION.
    2.        PROGRAM-ID. MENSAJE.
    3.        ENVIRONMENT DIVISION.
    4.        CONFIGURATION SECTION.
    5.        DATA DIVISION.
    6.        WORKING-STORAGE SECTION.
    7.  
    8.      ******** Colores
    9.  
    10.      ****** Amarillo sobre Azul
    11.        01   COL-AMA-AZU.
    12.             02 pic x(40) value "FCOLOR=BROWN, BCOLOR=BLUE".
    13.  
    14.      ****** Amarillo sobre Gris
    15.        01   COL-AMA-BLA.
    16.             02 pic x(40) value "FCOLOR=BROWN, BCOLOR=WHITE".
    17.  
    18.      ****** Amarillo sobre Cyan
    19.        01   COL-AMA-CYA.
    20.             02 pic x(40) value "FCOLOR=BROWN, BCOLOR=CYAN".
    21.  
    22.      ****** Amarillo sobre Gris
    23.        01   COL-AMA-GRI.
    24.             02 pic x(40) value "FCOLOR=BROWN, BCOLOR=WHITE".
    25.  
    26.      ****** Amarillo sobre Magenta
    27.        01   COL-AMA-MAG.
    28.             02 pic x(40) value "FCOLOR=BROWN, BCOLOR=MAGENTA".
    29.  
    30.      ****** Amarillo sobre Negro
    31.        01   COL-AMA-NEG.
    32.             02 pic x(40) value "FCOLOR=BROWN, BCOLOR=BLACK LOW".
    33.  
    34.      ****** Amarillo sobre Rojo
    35.        01   COL-AMA-ROJ.
    36.             02 pic x(40) value "FCOLOR=BROWN, BCOLOR=RED".
    37.  
    38.      ****** Amarillo sobre Verde
    39.        01   COL-AMA-VER.
    40.             02 pic x(40) value "FCOLOR=BROWN, BCOLOR=GREEN".
    41.  
    42.      ****** Azul sobre Azul
    43.        01   COL-AZU-AZU.
    44.             02 pic x(40) value "FCOLOR=BLUE, BCOLOR=BLUE".
    45.  
    46.      ****** Azul sobre Blanco
    47.        01   COL-AZU-BLA.
    48.             02 pic x(40) value "FCOLOR=BLUE, BCOLOR=WHITE".
    49.  
    50.      ****** Azul sobre Magenta
    51.        01   COL-AZU-MAG.
    52.             02 pic x(40) value "FCOLOR=BLUE, BCOLOR=MAGENTA".
    53.  
    54.      ****** Azul sobre Negro
    55.        01   COL-AZU-NEG.
    56.             02 pic x(40) value "FCOLOR=BLUE, BCOLOR=BLACK".
    57.  
    58.      ****** Azul sobre Verde
    59.        01   COL-AZU-VER.
    60.             02 pic x(40) value "FCOLOR=BLUE, BCOLOR=GREEN".
    61.  
    62.      ****** Blanco sobre Azul
    63.        01   COL-BLA-AZU.
    64.             02 pic x(40) value "FCOLOR=WHITE, BCOLOR=BLUE".
    65.  
    66.  
    67.      ****** Blanco sobre Gris
    68.        01   COL-BLA-GRI.
    69.             02 pic x(40) value "FCOLOR=WHITE, BCOLOR=WHITE".
    70.  
    71.      ****** Blanco sobre Cyan
    72.        01   COL-BLA-CYA.
    73.             02 pic x(40) value "FCOLOR=WHITE, BCOLOR=CYAN".
    74.  
    75.      ****** Blanco sobre Magenta
    76.        01   COL-BLA-MAG.
    77.             02 pic x(40) value "FCOLOR=WHITE, BCOLOR=MAGENTA".
    78.  
    79.      ****** Blanco sobre Negro
    80.        01   COL-BLA-NEG.
    81.             02 pic x(40) value "FCOLOR=WHITE, BCOLOR=BLACK LOW".
    82.  
    83.      ****** Blanco sobre Rojo
    84.        01   COL-BLA-ROJ.
    85.             02 pic x(40) value "FCOLOR=WHITE, BCOLOR=RED".
    86.  
    87.      ****** Blanco sobre Verde
    88.        01   COL-BLA-VER.
    89.             02 pic x(40) value "FCOLOR=WHITE, BCOLOR=GREEN".
    90.  
    91.      ****** Cyan sobre Blanco
    92.        01   COL-CYA-BLA.
    93.             02 pic x(40) value "FCOLOR=CYAN, BCOLOR=WHITE".
    94.  
    95.      ****** Cyan sobre Negro
    96.        01   COL-CYA-NEG.
    97.             02 pic x(40) value "FCOLOR=CYAN, BCOLOR=BLACK".
    98.  
    99.      ****** Cyan sobre Rojo
    100.        01   COL-CYA-ROJ.
    101.             02 pic x(40) value "FCOLOR=CYAN, BCOLOR=RED".
    102.  
    103.      ****** Cyan sobre Verde
    104.        01   COL-CYA-VER.
    105.             02 pic x(40) value "FCOLOR=CYAN, BCOLOR=GREEN".
    106.  
    107.      ****** Gris sobre Azul, AÂ¥ADIRLE AL FINAL DE CONTROL LOW
    108.        01   COL-GRI-AZU.
    109.             02 pic x(40) value "FCOLOR=WHITE, BCOLOR=BLUE".
    110.  
    111.      ****** Gris sobre Negro, AÂ¥ADIRLE AL FINAL DE CONTROL LOW
    112.        01   COL-GRI-NEG.
    113.             02 pic x(40) value "FCOLOR=WHITE, BCOLOR=BLACK".
    114.  
    115.      ****** Gris sobre Verde, AÂ¥ADIRLE AL FINAL DE CONTROL LOW
    116.        01   COL-GRI-VER.
    117.             02 pic x(40) value "FCOLOR=WHITE, BCOLOR=GREEN".
    118.  
    119.      ****** Magenta sobre Amarillo
    120.        01   COL-MAG-DOR.
    121.             02 pic x(40) value "FCOLOR=MAGENTA, BCOLOR=BROWN".
    122.  
    123.      ****** Magenta sobre Azul
    124.        01   COL-MAG-AZU.
    125.             02 pic x(40) value "FCOLOR=MAGENTA, BCOLOR=BLUE".
    126.  
    127.      ****** Magenta sobre Blanco
    128.        01   COL-MAG-BLA.
    129.             02 pic x(40) value "FCOLOR=MAGENTA, BCOLOR=WHITE".
    130.  
    131.      ****** Magenta sobre Negro
    132.        01   COL-MAG-NEG.
    133.             02 pic x(40) value "FCOLOR=MAGENTA, BCOLOR=BLACK".
    134.  
    135.      ****** Negro sobre Azul
    136.        01   COL-NEG-AZU.
    137.             02 pic x(40) value "FCOLOR=BLACK, BCOLOR=BLUE".
    138.  
    139.      ****** Negro sobre Blanco
    140.        01   COL-NEG-BLA.
    141.             02 pic x(40) value "FCOLOR=BLACK, BCOLOR=WHITE".
    142.  
    143.      ****** Negro sobre Cyan
    144.        01   COL-NEG-CYA.
    145.             02 pic x(40) value "FCOLOR=BLACK, BCOLOR=CYAN".
    146.  
    147.      ****** Negro sobre Rojo
    148.        01   COL-NEG-ROJ.
    149.             02 pic x(40) value "FCOLOR=BLACK, BCOLOR=RED".
    150.  
    151.      ****** Negro sobre Verde
    152.        01   COL-NEG-VER.
    153.             02 pic X(37) value "FCOLOR=BLACK, BCOLOR=GREEN".
    154.  
    155.      ****** Rojo sobre Azul
    156.        01   COL-ROJ-AZU.
    157.             02 pic x(40) value "FCOLOR=RED, BCOLOR=BLUE".
    158.  
    159.      ****** Rojo sobre Blanco
    160.        01   COL-ROJ-BLA.
    161.             02 pic x(40) value "FCOLOR=RED, BCOLOR=WHITE".
    162.  
    163.      ****** Rojo sobre Cyan
    164.        01   COL-ROJ-CYA.
    165.             02 pic x(40) value "FCOLOR=RED, BCOLOR=CYAN".
    166.  
    167.      ****** Rojo sobre Negro
    168.        01   COL-ROJ-NEG.
    169.             02 pic x(40) value "FCOLOR=RED, BCOLOR=BLACK".
    170.  
    171.      ****** Rojo sobre Rojo
    172.        01   COL-ROJ-ROJ.
    173.             02 pic x(40) value "FCOLOR=RED, BCOLOR=RED".
    174.  
    175.      ****** Verde sobre Azul
    176.        01   COL-VER-AZU.
    177.             02 pic x(40) value "FCOLOR=GREEN, BCOLOR=BLUE".
    178.  
    179.      ****** Verde sobre Cyan
    180.        01   COL-VER-CYA.
    181.             02 pic x(40) value "FCOLOR=GREEN, BCOLOR=CYAN".
    182.  
    183.      ****** Verde sobre Gris
    184.        01   COL-VER-GRI.
    185.             02 pic x(40) value "FCOLOR=GREEN, BCOLOR=WHITE".
    186.  
    187.      ****** Verde sobre Negro
    188.        01   COL-VER-NEG.
    189.             02 pic x(40) value "FCOLOR=GREEN, BCOLOR=BLACK".
    190.  
    191.      ****** Verde sobre Verde
    192.        01   COL-VER-VER.
    193.             02 pic x(40) value "FCOLOR=GREEN, BCOLOR=GREEN".
    194.  
    195.  
    196.      ******** Bordes y Cuadros
    197.  
    198.        01   LIN-HOR-DOB-78 PIC X(78) VALUE ALL "Ã".
    199.  
    200.        01   BORDES-DOBLES.
    201.             02 ESQ-SUP-IZQ-DOB PIC X VALUE "É".
    202.             02 ESQ-SUP-DER-DOB PIC X VALUE "»".
    203.             02 ESQ-INF-IZQ-DOB PIC X VALUE "È".
    204.             02 ESQ-INF-DER-DOB PIC X VALUE "¼".
    205.             02 LIN-HOR-DOB     PIC X VALUE "Ã".
    206.             02 LIN-VER-DOB     PIC X VALUE "º".
    207.        01   BORDES-SIMPLES.
    208.             02 ESQ-SUP-IZQ-SIM PIC X VALUE "Ú".
    209.             02 ESQ-SUP-DER-SIM PIC X VALUE "¿".
    210.             02 ESQ-INF-IZQ-SIM PIC X VALUE "À".
    211.             02 ESQ-INF-DER-SIM PIC X VALUE "Ù".
    212.             02 LIN-HOR-SIM     PIC X VALUE "Ä".
    213.             02 LIN-VER-SIM     PIC X VALUE "³".
    214.  
    215.      ******** Variables Generales
    216.  
    217.        01   COLUMNA-FILA-22 PIC 99 VALUE 0.
    218.        01   COLUMNA-FILA-23 PIC 99 VALUE 0.
    219.        01   INDICE-FILA-23  PIC 99 VALUE 0.
    220.        01   COL-ESQ-SUP-IZQ-FILA-22   PIC 99 VALUE 0.
    221.        01   COL-ESQ-SUP-DER-FILA-22   PIC 99 VALUE 0.
    222.        01   COL-ESQ-INF-IZQ-FILA-24   PIC 99 VALUE 0.
    223.        01   COL-ESQ-INF-DER-FILA-24   PIC 99 VALUE 0.
    224.        01   COL-ESQ-SUP-DER-FILA-22-1 PIC 99 VALUE 0.
    225.  
    226.        01   SW     PIC 9 VALUE 0.
    227.        
    228.        01   TECLA PIC X.
    229.            
    230.      ****** Parte correspondiente al mensaje de la linea 23      
    231.  
    232.      ****** Tabla para guardar las letras sueltas de la linea 22
    233.        01   TAB-LETRAS.
    234.             02           PIC X  VALUE SPACE.
    235.  
    236.        01   RTAB-LETRAS REDEFINES TAB-LETRAS.
    237.             02 LETRAS   PIC X OCCURS 74 TIMES.
    238.  
    239.        01   NUM-LETRAS      PIC 99    VALUE 0.
    240.        01   INDICE-LETRAS   PIC 99    VALUE 99.
    241.  
    242.        01   REGLA PIC X(80) VALUE SPACES.
    243.        01   REGLA1 PIC X(20) VALUE "12345678901234567890".
    244.        01   REGLA2 PIC X(20) VALUE "12345678901234567890".
    245.        01   REGLA3 PIC X(20) VALUE "12345678901234567890".
    246.        01   REGLA4 PIC X(20) VALUE "12345678901234567890".
    247.  
    248.      ****** Tabla para guardar el texto de la linea 22
    249.        01   TAB-TEX.
    250.             02           PIC X(74).
    251.  
    252.        01   RTAB-TEX REDEFINES TAB-TEX.
    253.             02 RTAB-TEXTO     PIC X(74) OCCURS 1 TIMES.
    254.  
    255.        LINKAGE SECTION.
    256.        
    257.        01   MENSAJE PIC X(55).
    258.  
    259.  
    260.        PROCEDURE DIVISION USING MENSAJE.
    261.  
    262.        INICIO.
    263.  
    264.      ****** Displayar una regla en la linea 25 de ayuda visual
    265.             STRING REGLA1 DELIMITED BY SIZE
    266.                     REGLA2 DELIMITED BY SIZE
    267.                     REGLA3 DELIMITED BY SIZE
    268.                     REGLA4 DELIMITED BY SIZE
    269.                     INTO REGLA.
    270.  
    271.             DISPLAY REGLA
    272.             LINE 25 POSITION 1
    273.             CONTROL COL-BLA-AZU.
    274.  
    275.             PERFORM INICIALIZACION.
    276.             PERFORM CUENTA-LETRAS.
    277.             PERFORM COGE-LETRAS.
    278.             PERFORM CALCULA-COORDENADAS.
    279.             PERFORM SACA-CUADRO.
    280.  
    281.      ****** ATENCION!!!
    282.      ****** Con STOP RUN, el programa se puede usar por si solo
    283.      ****** Si se va a llamar desde otro programa, debe terminar as¡.
    284.              EXIT PROGRAM.
    285.  
    286.  
    287.  
    288.        INICIALIZACION.
    289.      ******************************************************************
    290.      ******************************************************************
    291.      ******************************************************************
    292.      ******************************************************************
    293.      ******************************************************************
    294.      ******************************************************************
    295.      ******************************************************************
    296.      ****** Muy importante poner el SW a 0, porque si n¢, no funcionar
    297.      ****** la segunda vez que se ejecute el subprograma !!!!!!
    298.              MOVE 0 TO SW.
    299.  
    300.      ******* Poner la tabla en blanco
    301.              MOVE 1 TO INDICE-LETRAS
    302.              PERFORM 74 TIMES
    303.                MOVE SPACE TO LETRAS(INDICE-LETRAS)
    304.                ADD 1 TO INDICE-LETRAS
    305.              END-PERFORM.
    306.  
    307.      ******* Poner el contador de letras a 0
    308.              MOVE 0 TO NUM-LETRAS.
    309.  
    310.        CUENTA-LETRAS.
    311.      ****** Cuenta todos los caracteres de la variable MENSAJE que hay
    312.      ****** antes de 2 espacios en blanco consecutivos
    313.              INSPECT MENSAJE TALLYING NUM-LETRAS FOR
    314.               CHARACTERS BEFORE INITIAL "  ".
    315.  
    316.        COGE-LETRAS.
    317.      ******Extrae caracter a caracter del texto, y lo almacena en una
    318.      ****** tabla que tiene 74 elementos
    319.      *      UNSTRING RTAB-TEXTO(1)
    320.             UNSTRING MENSAJE
    321.                INTO LETRAS(1)
    322.                     LETRAS(2)
    323.                     LETRAS(3)
    324.                     LETRAS(4)
    325.                     LETRAS(5)
    326.                     LETRAS(6)
    327.                     LETRAS(7)
    328.                     LETRAS(8)
    329.                     LETRAS(9)
    330.                     LETRAS(10)
    331.                     LETRAS(11)
    332.                     LETRAS(12)
    333.                     LETRAS(13)
    334.                     LETRAS(14)
    335.                     LETRAS(15)
    336.                     LETRAS(16)
    337.                     LETRAS(17)
    338.                     LETRAS(18)
    339.                     LETRAS(19)
    340.                     LETRAS(20)
    341.                     LETRAS(21)
    342.                     LETRAS(22)
    343.                     LETRAS(23)
    344.                     LETRAS(24)
    345.                     LETRAS(25)
    346.                     LETRAS(26)
    347.                     LETRAS(27)
    348.                     LETRAS(28)
    349.                     LETRAS(29)
    350.                     LETRAS(30)
    351.                     LETRAS(31)
    352.                     LETRAS(32)
    353.                     LETRAS(33)
    354.                     LETRAS(34)
    355.                     LETRAS(35)
    356.                     LETRAS(36)
    357.                     LETRAS(37)
    358.                     LETRAS(38)
    359.                     LETRAS(39)
    360.                     LETRAS(40)
    361.                     LETRAS(41)
    362.                     LETRAS(42)
    363.                     LETRAS(43)
    364.                     LETRAS(44)
    365.                     LETRAS(45)
    366.                     LETRAS(46)
    367.                     LETRAS(47)
    368.                     LETRAS(48)
    369.                     LETRAS(49)
    370.                     LETRAS(50)
    371.                     LETRAS(51)
    372.                     LETRAS(52)
    373.                     LETRAS(53)
    374.                     LETRAS(54)
    375.                     LETRAS(55)
    376.                     LETRAS(56)
    377.                     LETRAS(57)
    378.                     LETRAS(58)
    379.                     LETRAS(59)
    380.                     LETRAS(60)
    381.                     LETRAS(61)
    382.                     LETRAS(62)
    383.                     LETRAS(63)
    384.                     LETRAS(64)
    385.                     LETRAS(65)
    386.                     LETRAS(66)
    387.                     LETRAS(67)
    388.                     LETRAS(68)
    389.                     LETRAS(69)
    390.                     LETRAS(70)
    391.                     LETRAS(71)
    392.                     LETRAS(72)
    393.                     LETRAS(73)
    394.                     LETRAS(74).
    395.            
    396.        CALCULA-COORDENADAS.
    397.            
    398.      ****** Calcula la columna para centrar el texto, ejp
    399.      ****** si NUM-LETRAS = 50, entonces
    400.      ****** COLUMNA-FILA-23 = (80 - 50) / 2, o sea, 15
    401.             COMPUTE COLUMNA-FILA-23 = (80 - NUM-LETRAS) / 2.
    402.             ADD 1 TO COLUMNA-FILA-23.
    403.  
    404.      ****** Calcula la columna para la esquina superior izquierda,
    405.      ****** restando 1 espacio de separaci¢n
    406.             COMPUTE COL-ESQ-SUP-IZQ-FILA-22 = COLUMNA-FILA-23 - 1.
    407.  
    408.      ****** Calcula la columna para la esquina superior derecha que es
    409.      ****** el numero de letras + 1
    410.             COMPUTE COL-ESQ-SUP-DER-FILA-22 = COL-ESQ-SUP-IZQ-FILA-22
    411.               + NUM-LETRAS + 1.
    412.  
    413.      ****** Calcula la columna de la fila 23 donde va el texto
    414.      ****** que es la columna de la fila 22 - 1
    415.             COMPUTE COLUMNA-FILA-22 = COLUMNA-FILA-23 - 1.
    416.  
    417.        SACA-CUADRO.
    418.  
    419.      ****** Graficos linea 22.
    420.      ****** Esquina superior izquierda simple linea 22 "Ú"
    421.             DISPLAY ESQ-SUP-IZQ-SIM
    422.                LINE 22 POSITION COLUMNA-FILA-22
    423.                CONTROL COL-BLA-ROJ.
    424.  
    425.      ****** Linea horizontal de la fila 22 "Ä"
    426.             COMPUTE
    427.                COL-ESQ-SUP-DER-FILA-22-1 = COL-ESQ-SUP-DER-FILA-22 - 1.
    428.             PERFORM CREA-FILA-22 VARYING INDICE-FILA-23 FROM
    429.               COLUMNA-FILA-23 BY 1 UNTIL INDICE-FILA-23 >
    430.               COL-ESQ-SUP-DER-FILA-22-1.
    431.  
    432.      ****** Esquina superior derecha del mensaje de la fila 22 "¿"
    433.             DISPLAY ESQ-SUP-DER-SIM
    434.               LINE 22 POSITION COL-ESQ-SUP-DER-FILA-22
    435.               CONTROL COL-BLA-ROJ.
    436.  
    437.      ****** Linea vertical a la izquierda del texto "³"
    438.             DISPLAY LIN-VER-SIM
    439.               LINE 23 POSITION COL-ESQ-SUP-IZQ-FILA-22
    440.               CONTROL COL-BLA-ROJ.
    441.  
    442.      ****** Linea vertical a la derecha del texto "³"
    443.             DISPLAY LIN-VER-SIM
    444.                LINE 23 POSITION COL-ESQ-SUP-DER-FILA-22
    445.                CONTROL COL-BLA-ROJ.
    446.            
    447.      ******Esquina inferior izquierda de la fila 24 "À"
    448.             DISPLAY ESQ-INF-IZQ-SIM
    449.               LINE 24 POSITION COL-ESQ-SUP-IZQ-FILA-22
    450.               CONTROL COL-BLA-ROJ.
    451.  
    452.      ******Linea horizontal de la fila 24 "Ä"
    453.             COMPUTE
    454.                COL-ESQ-SUP-DER-FILA-22-1 = COL-ESQ-SUP-DER-FILA-22 - 1.
    455.  
    456.             PERFORM CREA-FILA-24 VARYING INDICE-FILA-23 FROM
    457.               COLUMNA-FILA-23 BY 1 UNTIL INDICE-FILA-23 >
    458.               COL-ESQ-SUP-DER-FILA-22-1.
    459.            
    460.      ******Esquina inferior derecha de la fila 24 "Ù"
    461.             DISPLAY ESQ-INF-DER-SIM
    462.                LINE 24 POSITION COL-ESQ-SUP-DER-FILA-22
    463.                CONTROL COL-BLA-ROJ.
    464.  
    465.      ****** Para que se vea el mensaje
    466.             ACCEPT TECLA
    467.                LINE 25 POSITION 80 NO BEEP.
    468.  
    469.      ******Linea horizontal simple superior "Ä"
    470.        CREA-FILA-22.
    471.             DISPLAY LIN-HOR-SIM
    472.                LINE 22 POSITION INDICE-FILA-23
    473.                CONTROL COL-BLA-ROJ.
    474.  
    475.      ******Linea horizontal simple inferior "Ä"
    476.        CREA-FILA-24.
    477.             DISPLAY LIN-HOR-SIM
    478.                LINE 24 POSITION INDICE-FILA-23
    479.                CONTROL COL-BLA-ROJ.
    480.  
    481.             COMPUTE COLUMNA-FILA-22 = COLUMNA-FILA-23 - 1.
    482.             MOVE 0 TO INDICE-LETRAS.
    483.  
    484.             IF SW = 0
    485.                PERFORM VARYING INDICE-LETRAS FROM 1 BY 1
    486.                   UNTIL INDICE-LETRAS > NUM-LETRAS
    487.  
    488.                   DISPLAY LETRAS(INDICE-LETRAS)
    489.                      LINE 23 POSITION COLUMNA-FILA-23
    490.                      CONTROL COL-AMA-VER
    491.                   ADD 1 TO COLUMNA-FILA-23
    492.                   MOVE 1 TO SW
    493.                END-PERFORM.

    0 Not allowed!

  2. #2
      Junior
    Avatar de Paco_Diaz

    Registrado
    agosto de 2022
    Ubicación
    Córdoba
    Edad
    56
    Mensajes
    52
    Última visita
    31.07.2023

    Agradecimientos
     
    Recibidos
    14
    Enviados
    9

    Citaciones y menciones
     
    Mentioned
    32 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    1 Post(s)
    Poder de Reputación
    0

    Predeterminado

    Buenas.

    Acabo de ver que todo lo que es caracteres gráficos (lineas doble, simples, esquinas y demás), además de la palabra acentuadas, no se ven correctamente, y eso hará que quien copie y pegue el código, no lo va a poder utilizar.

    No puedo borrarlo y volverlo a escribir, porque ya no me aparece la opción de editado, así que lo volveré a pegar a ver que pasa.

    Un saludo. Paco.

    0 Not allowed!

  3. #3
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,290
    Última visita
    Hoy a las 15:46

    Agradecimientos
     
    Recibidos
    1,038
    Enviados
    888

    Citaciones y menciones
     
    Mentioned
    104 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    31 Post(s)
    Poder de Reputación
    10

    Predeterminado

    @Paco_Diaz, porque lo estás copiando de donde lo tengas que está en UTF8, y el foro está en ISO-8859-1.

    Pasa por Notepad++ o similar, convierte y pega después.

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

  4. #4
      Junior
    Avatar de Paco_Diaz

    Registrado
    agosto de 2022
    Ubicación
    Córdoba
    Edad
    56
    Mensajes
    52
    Última visita
    31.07.2023

    Agradecimientos
     
    Recibidos
    14
    Enviados
    9

    Citaciones y menciones
     
    Mentioned
    32 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    1 Post(s)
    Poder de Reputación
    0

    Predeterminado

    Buenas.

    @Kuk, la página de códigos que uso es la 437.

    Si recargo el código en la que me dices, los caracteres gráficos, no se ven bien, son sustituidos por otros, al igual que las letras acentuadas, a mí no me salen, si no, fíjate en el texto del principio.

    Un saludo. Paco.

    0 Not allowed!

  5. #5
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,290
    Última visita
    Hoy a las 15:46

    Agradecimientos
     
    Recibidos
    1,038
    Enviados
    888

    Citaciones y menciones
     
    Mentioned
    104 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    31 Post(s)
    Poder de Reputación
    10

    Predeterminado

    @Paco_Diaz, lo enconding/code-page son historias muy complicadas. En todo caso, lo es cierto es que la que usas tú que es la OEM-US no es compatible con la ISO8859, por lo tanto los caracteres especiales no se van a ver. En general, lo mejor es indicar los caracteres especiales en hexadecimal, así no hay conversión ninguna y el valor se queda fijo, sea la que sea la codificación.

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

  6. #6
      Junior
    Avatar de Paco_Diaz

    Registrado
    agosto de 2022
    Ubicación
    Córdoba
    Edad
    56
    Mensajes
    52
    Última visita
    31.07.2023

    Agradecimientos
     
    Recibidos
    14
    Enviados
    9

    Citaciones y menciones
     
    Mentioned
    32 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    1 Post(s)
    Poder de Reputación
    0

    Predeterminado

    Buenas.

    @Kuk, No sé como se hace eso.

    Yo tengo varios editores de texto, pero para que salgan los caracteres OEM, uso la página de códigos 437 como te dije. Si hago un reloado con otra página, los caracteres se sustituyen por "marcianitos", y así he trabajado siempre. El sistema que dices, lo desconozco.

    Un saludo. Paco.

    0 Not allowed!

  7. #7
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,290
    Última visita
    Hoy a las 15:46

    Agradecimientos
     
    Recibidos
    1,038
    Enviados
    888

    Citaciones y menciones
     
    Mentioned
    104 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    31 Post(s)
    Poder de Reputación
    10

    Predeterminado

    @Paco_Diaz, resumiendo lo que te quería decir es que el foro es como un editor más con una codificación concreta que es la ISO-8859-1 y la BBDD del foro está igual latin1_general_ci. Lo cual significa que los caracteres especiales de OEM 437 nunca se van a ver bien en el foro.

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

  8. #8
      Junior
    Avatar de Paco_Diaz

    Registrado
    agosto de 2022
    Ubicación
    Córdoba
    Edad
    56
    Mensajes
    52
    Última visita
    31.07.2023

    Agradecimientos
     
    Recibidos
    14
    Enviados
    9

    Citaciones y menciones
     
    Mentioned
    32 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    1 Post(s)
    Poder de Reputación
    0

    Predeterminado

    Buenas.

    Ok, en ese caso, si hay alguien interesado en el programa, que me lo pida, y yo se lo paso gustosamente.

    Un saludo. Paco.

    0 Not allowed!

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. [Sintaxis] Cargar un combo en linea
    Por Breew en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 3
    Último Mensaje: 19.02.2021, 07:51
  2. [Componente] TextBox Multilinea y saltos de línea
    Por Begoguay en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 3
    Último Mensaje: 06.02.2017, 20:55
  3. [Sintaxis] Pasar parametros por linea de Comandos
    Por Joseg en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 6
    Último Mensaje: 19.04.2016, 22:07
  4. [Sintaxis] Leer archivo texto con codificacion UTF-8
    Por Recato53 en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 1
    Último Mensaje: 18.04.2016, 10:47
  5. [Aporte] Selección de línea en Table control
    Por Kuk en el foro Cocina PowerCOBOL V3L10
    Respuestas: 1
    Último Mensaje: 19.12.2015, 21:39

Marcadores

Marcadores

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •