 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
tiagopdnjdc Novato

Registrado: Domingo, 18 de Fevereiro de 2007 Mensagens: 52
|
Enviada: Ter Mar 13, 2007 4:10 pm Assunto: Verificação MaskEdit |
|
|
Boa tarde Caros
Por favor tenho uma maskedit com uma máscara de CEP:
-
Porém quando algum usuário tenta cadastrar algum cep e deixa faltando algum caracter o programa da erro dizendo que está incorreto, gostaria de tratar isso para que quando estivesse errado ele não deixasse passar e voltaria no campo.
Minha dúvida é..como ficaria essa verificação...existe algum caracter coringa? EX:
if maskedit.text <> #####-### then
begin
ShowMessage('Erro de CEP);
Maskedit1.text.SetFocus;
end;
Seria isso que eu havia pensado..alguém pode me ajudar?
Muito Obrigado
Abs. |
|
Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Ter Mar 13, 2007 5:10 pm Assunto: |
|
|
Esta funçao foi tirado aqui do site, espero que ti ajude
Código: | function VerificaCEP(UF, CEPDigitado: string): Boolean;
Declare-a onde achar melhor, na seção public, private, ou na sua biblioteca de funções. Apenas se atente que, se declarada como private, somente a unit atual poderá utilizá-la.
Depois disso, faça o corpo de nossa função (copie e cole que é mais fácil! rs):
//Função: verificar o CEP de acordo com o estado escolhido
//Retorna: True caso esteja correto, False caso incorreto
//Exemplo: VerificaCEP(CmbBoxEstado.Text, edtCEP.Text)
//Obs.: Deve-se utilizar os seguintes items para a combo:
(*
AC,AL,AM,AP,BA,CE,DF,ES,GO,MA,MG,MS,MT,PA,PB,PE,PI,PR,RJ,RN,RO,RR,RS,SC,SE,SP,TO
*)
function VerificaCEP(UF, CEPDigitado: String): Boolean;
//esta função retira os caracteres diferentes de 0..9 de uma string
function SoNum(digitado: String): String;
var i: integer;
begin
Result := '';
for i:=1 To Length(digitado) do
if digitado[I] In ['0', '1','2','3','4','5','6','7','8','9'] then
Result := Result + digitado[I];
end;
var
cep : integer; //guarda o cep sem mascara como inteiro
begin
Result := True;
cep := StrToInt(SoNum(CEPDigitado));
//verifica o cep digitado em relacao ao estado escolhido
if UF='' then exit;
if UF='SP' then if ((cep<1000000>19999999)) then Result := False;
if UF='RJ' then if ((cep<20000000>28999999)) then Result := False;
if UF='MS' then if ((cep<79000000>79999999)) then Result := False;
if UF='MG' then if ((cep<30000000>39999999)) then Result := False;
if UF='MT' then if ((cep<78000000>78899999)) then Result := False;
if UF='AC' then if ((cep<69900000>69999999)) then Result := False;
if UF='AL' then if ((cep<5700000>57999999)) then Result := False;
if UF='AM' then if ((cep<6900000>69899999)) then Result := False;
if UF='AP' then if ((cep<68900000>69999999)) then Result := False;
if UF='BA' then if ((cep<40000000>48999999)) then Result := False;
if UF='CE' then if ((cep<60000000>63999999)) then Result := False;
if UF='DF' then if ((cep<70000000>73699999)) then Result := False;
if UF='ES' then if ((cep<29000000>29999999)) then Result := False;
if UF='GO' then if ((cep<73700000>76999999)) then Result := False;
if UF='MA' then if ((cep<65000000>65999999)) then Result := False;
if UF='PA' then if ((cep<66000000>68899999)) then Result := False;
if UF='PB' then if ((cep<58000000>58999999)) then Result := False;
if UF='PE' then if ((cep<50000000>56999999)) then Result := False;
if UF='PI' then if ((cep<64000000>64999999)) then Result := False;
if UF='PR' then if ((cep<80000000>87999999)) then Result := False;
if UF='RN' then if ((cep<59000000>59999999)) then Result := False;
if UF='RO' then if ((cep<78900000>78999999)) then Result := False;
if UF='RR' then if ((cep<69300000>69399999)) then Result := False;
if UF='RS' then if ((cep<90000000>99999999)) then Result := False;
if UF='SC' then if ((cep<88000000>89999999)) then Result := False;
if UF='SE' then if ((cep<49000000>49999999)) then Result := False;
if UF='TO' then if ((cep<77000000>77999999)) then Result := False;
end; |
_________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
Voltar ao Topo |
|
 |
chip_set Experiente


Registrado: Quarta-Feira, 14 de Dezembro de 2005 Mensagens: 448
|
|
Voltar ao Topo |
|
 |
tiagopdnjdc Novato

Registrado: Domingo, 18 de Fevereiro de 2007 Mensagens: 52
|
Enviada: Ter Mar 13, 2007 10:06 pm Assunto: |
|
|
Ola..obrigado pela ajuda..porém estou precisando de um código mesmo, não vou usar componentes externos.
Alguém tem alguma idéia?
Eu estou gravando ele como string mesmo na tabela...mascarado já!
Abs. |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|