Ver Mensaje Individual
  #2
Antiguo 29 de enero de 2016, 09:39
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Lascu, creo que te estás equivocando... Además, lo que tú quieres se puede hacer con un nivel 88 y un pequeño bucle:

Código COBOL:
  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID.    TESTMAIL.
  3.        DATA DIVISION.
  4.        WORKING-STORAGE SECTION.
  5.        01  WS-MAIL.
  6.            05  WS-MAIL-CHAR           PIC X OCCURS 50 TIMES.
  7.                88  WS-CHAR-VAL-SI           VALUES '@' '_' '.'
  8.                'a' THRU 'i', 'j' THRU 'r', 's' THRU 'z', '0' THRU '9'.
  9.  
  10.        01  IDX-1                      PIC 99.
  11.        01  SW-ERROR                   PIC X.
  12.            88  SW-ERROR-SI                 VALUE 'S'.
  13.            88  SW-ERROR-NO                 VALUE 'N'.
  14.  
  15.        PROCEDURE DIVISION.
  16.  
  17.            MOVE "[email protected]"  TO WS-MAIL *>EJEMPLO
  18.            MOVE FUNCTION LOWER-CASE(WS-MAIL) TO WS-MAIL
  19.  
  20.            SET SW-ERROR-NO TO TRUE
  21.  
  22.            MOVE 1 TO IDX-1
  23.  
  24.            PERFORM UNTIL WS-MAIL-CHAR(IDX-1) = SPACES OR IDX-1 > 50
  25.                IF  NOT WS-CHAR-VAL-SI(IDX-1)
  26.                    SET SW-ERROR-SI TO TRUE
  27.  
  28.                    EXIT PERFORM
  29.                END-IF
  30.  
  31.                ADD 1 TO IDX-1
  32.            END-PERFORM
  33.  
  34.            IF  SW-ERROR-SI
  35.                DISPLAY "Error de e-mail: " WS-MAIL-CHAR(IDX-1)
  36.  
  37.            ELSE
  38.                DISPLAY "¡E-mail correcto!"
  39.            END-IF
  40.  
  41.            GOBACK.



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