Código: Selecionar todos
/* Função ValidUF - Validador de campo Estado
Para Clipper 5.3/Harbour
Para o fórum CLIPPER ONLINE
Gilberto T. Iwasa
OBS.: Densenvolvi esta função utilizando Matriz e CodeBlock
Este é sem o banco de dados
*/
Function MAIN()
local vUF:="SP"
Cls
SEtMode( 25,80 )
DO While Lastkey() # 27
@ 10,10 say "Digite o Estado:" get vUF pict "@!K" VALID ValidUF(vUF) ; IIF( vUF # SPACE(02) , Eval( {|| ValidUF(vUF)} ) , )
read
EndDO
Return .t.
// Função Validador ValidUF()
// **************************
Function ValidUF(cUF)
local lRET:=.F.
local aUF:={}, nSEEK
aADD(aUF, {"AC", "ACRE "} )
aADD(aUF, {"AP", "AMAPA "} )
aADD(aUF, {"AL", "ALAGOAS "} )
aADD(aUF, {"AM", "AMAZONAS "} )
aADD(aUF, {"BA", "BAHIA "} )
aADD(aUF, {"CE", "CEARA "} )
aADD(aUF, {"DF", "DISTRITO FEDERAL "} )
aADD(aUF, {"ES", "ESPIRITO SANTO "} )
aADD(aUF, {"GO", "GOIAS "} )
aADD(aUF, {"MA", "MARANHAO "} )
aADD(aUF, {"MT", "MATO GROSSO "} )
aADD(aUF, {"MS", "MATO GROSSO DO SUL "} )
aADD(aUF, {"MG", "MINAS GERAIS "} )
aADD(aUF, {"PA", "PARA "} )
aADD(aUF, {"PB", "PARAIBA "} )
aADD(aUF, {"PR", "PARANA "} )
aADD(aUF, {"PE", "PERNAMBUCO "} )
aADD(aUF, {"PI", "PIAUI "} )
aADD(aUF, {"RJ", "RIO DE JANEIRO "} )
aADD(aUF, {"RN", "RIO GRANDE DO NORTE "} )
aADD(aUF, {"RS", "RIO GRANDE DO SUL "} )
aADD(aUF, {"RO", "RONDONIA "} )
aADD(aUF, {"RR", "RORAIMA "} )
aADD(aUF, {"SC", "SANTA CATARINA "} )
aADD(aUF, {"SP", "SAO PAULO "} )
aADD(aUF, {"SE", "SERGIPE "} )
aADD(aUF, {"TO", "TOCANTINS "} )
nSEEK:=Ascan( aUF , {|x| x[1]==cUF} )
If cUF==Space(02)
@row(),col()+1 say Space(20)
lRET=.F.
Elseif nSEEK==0
@row(),col()+1 say " - [UF] INVALIDO!!! "
lRET:=.F.
Else
@row(),col()+1 say " - " + aUF[nSEEK][2]
lRET:=.T.
Endif
Return(lRET)
