Code: Select all
FUNCTION MAISCULA()
PARAMETERS VDBF
IF VDBF = NIL
? "Informe o nome do DBF"
QUIT
ELSE
IF !( "." $ VDBF )
VDBF := VDBF + ".DBF"
ENDIF
IF !FILE( VDBF )
? "Arquivo " + VDBF
QUIT
ENDIF
ENDIF
SELE 1
USE ( VDBF )
IF !FILE( "DBF.OLD" )
COPY TO "DBF.OLD"
ENDIF
VQCAM := FCOUNT()
CAR_OLD := { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " ", "‚", "¡", "¢", "£", "Æ", "ä", "ƒ", "ˆ", "Œ", "“", "–", "…", "Š", "", "•", "—", "„", "‰", "‹", "”", "", "‡", "¤", "µ", "", "Ö", "à", "é", "Ç", "å", "¶", "Ò", "×", "â", "ê", "·", "Ô", "Þ", "ã", "ë", "Ž", "Ó", "Ø", "™", "š", "€", "¥" }
CAR_NEW := { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "E", "I", "O", "U", "A", "O", "A", "E", "I", "O", "U", "A", "E", "I", "O", "U", "A", "E", "I", "O", "U", "€", "¥", "A", "E", "I", "O", "U", "A", "O", "A", "E", "I", "O", "U", "A", "E", "I", "O", "U", "A", "E", "I", "O", "U", "€", "¥" }
DO WHILE ( 1->( !EOF() ) )
FOR I = 1 TO VQCAM
VGET := FIELDGET( I )
IF VALTYPE( VGET ) = "C"
VQTAM := LEN( ALLTRIM( VGET ) )
VPOE := .F.
VTXT := ""
FOR U = 1 TO VQTAM
VSUB := SUBSTR( VGET, U, 1 )
VP := ASCAN( CAR_OLD, VSUB )
IF VP > 0
VCAR := CAR_NEW[VP]
VPOE := .T.
ELSE
VCAR := VSUB
ENDIF
VTXT := VTXT + VCAR
NEXT
IF VPOE = .T.
FIELDPUT( I, VTXT )
ENDIF
ENDIF
NEXT
SKIP
ENDDO
/*
WIN_CAR_LOW:='áéíóúãõâêîôûàèìòùäëïöüçñ'
WIN_CAR_HIG:='ÁÉÍÓÚÃÕÂÊÎÔÛÀÈÌÒÙÄËÏÖÜÇÑ'
DOS_CAR_LOW:=' ‚¡¢£Æ䃈Œ“–…Š•—„‰‹”‡¤'
DOS_CAR_HIG:='µÖàéÇå¶Ò×âê·ÔÞãëŽÓØ™š€¥'
*/
RETURN NIL
Saludos.