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??
>
>   

Responder a