Para determinar el [CodPostal] de un campo de direcciones, debes tomar las características de [CodPostal], en esta caso son 5 caracteres numéricos sin espacios intermedios.
El algoritmo (pseudocodigo) seria algo así:
1.- ln = len([Direccion])
2.- lnCarNum = 1 ; contador de caracteres numericos continuos
3.- lcCodPostal = ""
4.- lncic = 1 ; Contador de ciclo por caracteres
5.- lbOut = false ; bandera que va a indicar fin de ciclo
6.- while ! lbOut
7.- lcLetra = substr([Direccion],lnCic,1)
8.- si tipo(lcLetra) = "N" ; si es numerico incrementa contador lnCarNum...
; esto lo puedes hacer verificando si es igual a "0123456789" funcion instr()
8.1.1.- lcCodPostal = lcCodPostal + lcLetra ; agrega letra a cadena de codigo postal
8.1.2.- lnCarNum = lnCarNum +1
8.1.3.- si lnCarNum > 5 , lbOut = true ; sale dek ciclo, porque completo los 5 digitos
8.2.1.- lnCarNum = 0 ; no es numerico, asi que empieza de nuevo
8.2.2.- lcCodPostal = "" ; caso contrario
9.- Wend ;fin de ciclo
Como resultado vas a tener el código postal en la variable lcCodPostal
Suerte!