Mas fácil do que isso não existe... Ele disse assim porque você disse que queria fazer um "cadastro", e, geralmente, cadastro é com Banco de Dados. Verificando a function que você citou, não dá erro nenhum não, a não ser que o CEP vc coloca acima ou abaixo de 8 números. Faça assim ow:
Coloque um TLabel no form; Um botão; a function você joga ela do jeito que está abaixo: ------------------ var Form1: TForm1; implementation {$R *.dfm} function tbFormataCEP( const CEP: string): string; var I: integer; begin Result := ''; for I := 1 to Length(CEP) do if CEP[I] in ['0'..'9'] then Result := Result + CEP[I]; if Length(Result) <> 8 then raise Exception.Create( 'CEP inválido.') else Result := Copy(Result, 1, 2) + '.' + Copy(Result, 3, 3) + '-' + Copy(Result, 6, 3); end; ----------------------- vá no evento onClick do botão e escreva: procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := tbFormataCEP(Edit1.Text); end; Pronto, agora você não pode digitar pontos nem o traço, só os 8 números do CEP. Funciona legal, para melhorar coloque no evento KeyPress do TEdit, coloque: if key in ['0'..'9',',',#8]=false then key:=#0; Pronto, só vai aceitar números no TEdit, sinal, letras, etc não aceitará. Não esqueça de colocar TRUE no KeyPreview da Form (objectInspector) Agora é sair para o abraço, qq coisa posta aí (sem reclamar) :) Janise Dantas escreveu: > > Que vergonha... > > Silvio Clécio > > Se eu disser que não entendo metade do que a maioria aqui na lista diz, > estarei mentindo, por que eu só entendo 1/10, isso sendo MUITO boa pra > mim. > > O prof ainda não ensinou banco de dados, estou fazendo por enquanto, > digamos > o esqueleto do meu projeto. Eu que me adianto, por que não aguento a > lerdeza > das aulas, fico agoniada. Sei que tem tanta coisa pra aprender e o > povo fica > de conversa!! > > Será que não tem uma coisa bem 'fraquinha' pra iniciante?? > > De qualquer forma eu agradeço de coração. > > Abraço > Janise Dantas > > Achei (não sabia fui procurar né!!), esse código mas dá erro: > > function tbFormataCEP( const CEP: string): string; > var > I: integer; > begin > Result := ''; > for I := 1 to Length(CEP) do > if CEP[I] in ['0'..'9'] then > Result := Result + CEP[I]; > if Length(Result) <> 8 then > raise Exception.Create( 'CEP inválido.') > else > Result := > Copy(Result, 1, 2) + '.' + > Copy(Result, 3, 3) + '-' + > Copy(Result, 6, 3); > end; > > (Isso a gente coloca antes da procedure, né?? ) > > O erro é em: raise Exception.Create( 'CEP inválido.') > Como que a gente faz isso que eu quero?? > >