Mesmo assim, ainda não procede. Desculpe, mas eu testei e o resultado não é como você acha que acontece. Se fizer:Eolo escreveu:Vamos lá: se CAMPO é C e vc quer identificar os registros que contêm só números, é usar VAL e VALTYPE.
? Valtype(Val("123X4"))
? Valtype(Val("8987"))
? Valtype(Val("89x87"))
? Valtype(Val("a8987"))
O resultado sempre será: "N"
Embora não tenha ainda se falado, existe a função CHARONLY, que remove todos os caracteres menos os que estão no primeiro parâmetro. Esta função pertence a CT.LIB e existe o equivalente em Harbour também. O exemplo abaixo sintetisa o procedimento, sem varrer o conteúdo caracter por caracter:
? CHARONLY("0123456789","123X4") // "1234"
? CHARONLY("0123456789","8987") // "8987"
? CHARONLY("0123456789","89x87") // "8987"
? CHARONLY("0123456789","a8987") // "8987"


