| Categoría : Programación
Autor : Pedro Pinedo
Título : Conversión Mayúsculas-Minúsculas
Descripción del truco:
Cambia según los parámetros de mayúsculas
a minúsculas o viceversa la primera o todas las
letras
* SWCAM - CAMPO DE TEXTO
*
* SWMAM - MAYUSCULAS A MINUSCULAS Y VICEVERSA
* 1 = MAYUSCULAS A MINUSCULAS
* 2 = MINUSCULAS A MAYUSCULAS
* SWPRI - PRIMERA LETRA EN MAYUSCULAS DE CADA PALABRA
* 0 = TODAS LAS LETRAS
* 1 = MAYUSCULA PRIMERA LETRA TODAS LAS PALABRAS
* 2 = MAYUSCULA PRIMERA LETRA PRIMERA PALABRA Código
en formato texto
Fecha 09-03-2004 Esto es para incluir en un programa de servicio
* LLAMADA A aumami
* MOVEL ASNOMX SWCA1
* MOVE *BLANKS SWCA2
* MOVE '1' SWMAM
* MOVE '1' SWPRI
* CALLP AUMAMI(SWCA1:SWCA2:SWMAM:SWPRI)
d AUMAMI PR
d 30
d 20
d 1 value
d 1 value
*****************************************************************
* *
* AUMAMI : PASO DE MAYUSCULAS A MINUSCULAS E INVERSO *
* *
*****************************************************************
*****************************************************************
* *
* INDICADORES UTILIZADOS *
* *
* 60 ON ENCONTRADO *
* 50 ON MAYUSCULAS A MINUSCULAS *
* 50 OFF MINUSCULAS A MAYUSCULAS *
* *
*****************************************************************
p AUMAMI B export
*****************************************************************
*. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+
* SWCAM - CAMPO DE TEXTO
*
* SWMAM - MAYUSCULAS A MINUSCULAS Y VICEVERSA
* 1 = MAYUSCULAS A MINUSCULAS
* 2 = MINUSCULAS A MAYUSCULAS
* SWPRI - PRIMERA LETRA EN MAYUSCULAS DE CADA PALABRA
* 0 = TODAS LAS LETRAS
* 1 = MAYUSCULA PRIMERA LETRA TODAS LAS PALABRAS
* 2 = MAYUSCULA PRIMERA LETRA PRIMERA PALABRA
*****************************************************************
d AUMAMI pi
d SWCA1 30
d swca2 20
d swmam 1 value
d swpri 1 value
D*
D* TABLAS DE TRABAJO
D*
D TEX S 1 DIM(50)
D CAM S 1 DIM(50)
D*
D* TABLAS DE CONVERSION
D*
D DS
d d1 1 2 inz('Qq')
d d2 3 4 inz('Ww')
d d3 5 6 inz('Ee')
d d4 7 8 inz('Rr')
d d5 9 10 inz('Tt')
d d6 11 12 inz('Yy')
d d7 13 14 inz('Uu')
d d8 15 16 inz('Ii')
d d9 17 18 inz('Oo')
d d10 19 20 inz('Pp')
d d11 21 22 inz('Aa')
d d12 23 24 inz('Ss')
d d13 25 26 inz('Dd')
d d14 27 28 inz('Ff')
d d15 29 30 inz('Gg')
d d16 31 32 inz('Hh')
d d17 33 34 inz('Jj')
d d18 35 36 inz('Kk')
d d19 37 38 inz('Ll')
d d20 39 40 inz('Ññ')
d d21 41 42 inz('Zz')
d d22 43 44 inz('Xx')
d d23 45 46 inz('Cc')
d d24 47 48 inz('Vv')
d d25 49 50 inz('Bb')
d d26 51 52 inz('Nn')
d d27 53 54 inz('Mm')
d d28 55 56 inz('Áá')
d d29 57 58 inz('Éé')
d d30 59 60 inz('Íí')
d d31 61 62 inz('Óó')
d d32 63 64 inz('Úú')
d d33 65 66 inz('Àà')
d d34 67 68 inz('Èè')
d d35 69 70 inz('Ìì')
d d36 71 72 inz('Òò')
d d37 73 74 inz('Ùù')
d d38 75 76 inz('Ää')
d d39 77 78 inz('Ëë')
d d40 79 80 inz('Ïï')
d d41 81 82 inz('Öö')
d d42 83 84 inz('Üü')
d d43 85 86 inz('Ââ')
d d44 87 88 inz('Êê')
d d45 89 90 inz('Îî')
d d46 91 92 inz('Ôô')
d d47 93 94 inz('Ûû')
D D 1 94 DIM(47)
*
D DS
D LEMA 1 1
D LEMI 2 2
D LET 1 2
*****************************************************************
* *
* PROCESO INICIAL *
* *
*****************************************************************
*
* INICIALIZACION DE CONSTANTES
*
C MOVEL SWCA1 CAMP 50
C MOVE SWCA2 CAMP 50
C MOVEA CAMP CAM
C Z-ADD 1 N 2 0
C Z-ADD 1 Z 2 0
C SETOFF 50
C SWMAM IFEQ '1'
C SWPRI IFEQ '1'
C SWPRI OREQ '2'
C SETON 50
C END
C END
C N DOWLE 50
C SWPRI IFEQ '0'
C *IN50 OREQ '0'
C cam(n) IFEQ '#'
C SWMAM IFEQ '1'
C MOVE 'ñ' CAM(N)
C ELSE
C MOVE 'Ñ' CAM(N)
C END
c else
C Z-ADD 1 X 2 0
C X DOWLE 47
C MOVE D(X) LET
C SWMAM IFEQ '1'
C LEMA IFEQ CAM(N)
C MOVE LEMI CAM(N)
C LEAVE
C END
C ELSE
C LEMI IFEQ CAM(N)
C MOVE LEMA CAM(N)
C LEAVE
C END
C END
C ADD 1 X
C ENDDO
C END
C END
C CAM(N) IFNE ' '
C 50 SETOFF 50
C END
C MOVE CAM(N) TEX(Z)
C SWPRI IFNE '0'
C CAM(N) ANDEQ '.'
C SETON 50
C END
C SWPRI IFEQ '1'
C CAM(N) IFEQ ' '
C CAM(N) OREQ '/'
C CAM(N) OREQ '='
C CAM(N) OREQ '('
C CAM(N) OREQ ')'
C CAM(N) OREQ '\"'
C CAM(N) OREQ '¿'
C CAM(N) OREQ '?'
C CAM(N) OREQ '¡'
C CAM(N) OREQ '!'
C CAM(N) OREQ '-'
C CAM(N) OREQ '&'
C SETON 50
C END
C END
C ADD 1 N
C ADD 1 Z
C ENDDO
C MOVEA TEX CAMP
C SWMAM IFEQ '1'
C SWPRI ANDEQ '1'
C EXSR COMPR
C END
C MOVEL CAMP SWCA1
C MOVE CAMP SWCA2
C RETURN
*/EJECT
*****************************************************************
* *
* COMPR : COMPROBAR MAYUSCULAS NO CORRECTAS *
* *
*****************************************************************
C COMPR BEGSR
*De
C Z-ADD 2 F 3 0
C 'De ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C MOVE 'd' TEX(F)
C MOVEA TEX CAMP
C 'De ' SCAN CAMP F 60
C ENDDO
*La
C Z-ADD 2 F 3 0
C 'La ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C MOVE 'l' TEX(F)
C MOVEA TEX CAMP
C 'La ' SCAN CAMP F 60
C ENDDO
*Las
C Z-ADD 2 F 3 0
C 'Las ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C MOVE 'l' TEX(F)
C MOVEA TEX CAMP
C 'Las ' SCAN CAMP F 60
C ENDDO
*Los
C Z-ADD 2 F 3 0
C 'Los ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C MOVE 'l' TEX(F)
C MOVEA TEX CAMP
C 'Los ' SCAN CAMP F 60
C ENDDO
*Les
C Z-ADD 2 F 3 0
C 'Les ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C MOVE 'l' TEX(F)
C MOVEA TEX CAMP
C 'Les ' SCAN CAMP F 60
C ENDDO
*El
C Z-ADD 2 F 3 0
C 'El ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C MOVE 'e' TEX(F)
C MOVEA TEX CAMP
C 'El ' SCAN CAMP F 60
C ENDDO
*Del
C Z-ADD 2 F 3 0
C 'Del ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C MOVE 'd' TEX(F)
C MOVEA TEX CAMP
C 'Del ' SCAN CAMP F 60
C ENDDO
*Un
C Z-ADD 2 F 3 0
C 'Un ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C MOVE 'u' TEX(F)
C MOVEA TEX CAMP
C 'Un ' SCAN CAMP F 60
C ENDDO
*Una
C Z-ADD 2 F 3 0
C 'Una ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C MOVE 'u' TEX(F)
C MOVEA TEX CAMP
C 'Una ' SCAN CAMP F 60
C ENDDO
*En
C Z-ADD 2 F 3 0
C 'En ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C MOVE 'e' TEX(F)
C MOVEA TEX CAMP
C 'En ' SCAN CAMP F 60
C ENDDO
*Con
C Z-ADD 2 F 3 0
C 'Con ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C MOVE 'c' TEX(F)
C MOVEA TEX CAMP
C 'Con ' SCAN CAMP F 60
C ENDDO
*Y
C Z-ADD 2 F 3 0
C ' Y ' SCAN CAMP F 60
C *IN60 DOWEQ '1'
C ADD 1 F 3 0
C MOVE 'y' TEX(F)
C MOVEA TEX CAMP
C ' Y ' SCAN CAMP F 60
C ENDDO
C ENDSR
C/EJECT
p e
*
Tienes algún truco que quieras compartir con todos
los profesionales de Recursos iSeries AS400?.Envianoslo
y si resulta seleccionado te enviaremos un vale de Amazon
por valor de 50$
|