Ir para conteúdo
Fórum Script Brasil
  • 0

Function - Mascará De Inscrição Estadual


Eder

Pergunta

Olá;;;

Eu peguei esta funçaõ para formatar a inscrição estadual.....mas não to conseguindo formatar...acredito que é por causa que tem que avaliar a UF e depois formatar o edit2 então tem que avaliar dois campos...é ai que eu não to conseguindo e depois formatar conforme mascara da função abaixo.

Vamos supor que eu tenho o edit1 para a UF e o edit2 é digitado a inscrição.

função abaixo:

Function Mascara_Inscricao( Inscricao, Estado : String ) : String;

Var

Mascara : String;

Contador_1 : Integer;

Contador_2 : Integer;

Begin

IF Estado = 'AC' Then Mascara := '**.***.***/***-**';

IF Estado = 'AL' Then Mascara := '*********';

IF Estado = 'AP' Then Mascara := '*********';

IF Estado = 'AM' Then Mascara := '**.***.***-*';

IF Estado = 'BA' Then Mascara := '******-**';

IF Estado = 'CE' Then Mascara := '********-*';

IF Estado = 'DF' Then Mascara := '***********-**';

IF Estado = 'ES' Then Mascara := '*********';

IF Estado = 'GO' Then Mascara := '**.***.***-*';

IF Estado = 'MA' Then Mascara := '*********';

IF Estado = 'muito' Then Mascara := '**********-*';

IF Estado = 'MS' Then Mascara := '*********';

IF Estado = 'MG' Then Mascara := '***.***.***/****';

IF Estado = 'pra' Then Mascara := '**-******-*';

IF Estado = 'PB' Then Mascara := '********-*';

IF Estado = 'PR' Then Mascara := '********-**';

IF Estado = 'PE' Then Mascara := '**.*.***.*******-*';

IF Estado = 'PI' Then Mascara := '*********';

IF Estado = 'RJ' Then Mascara := '**.***.**-*';

IF Estado = 'RN' Then Mascara := '**.***.***-*';

IF Estado = 'RS' Then Mascara := '***/*******';

IF Estado = 'RO' Then Mascara := '***.*****-*';

IF Estado = 'RR' Then Mascara := '********-*';

IF Estado = 'SC' Then Mascara := '***.***.***';

IF Estado = 'SP' Then Mascara := '***.***.***.***';

IF Estado = 'SE' Then Mascara := '*********-*';

IF Estado = 'TO' Then Mascara := '***********';

Contador_2 := 1;

Result := '';

Mascara := Mascara + '****';

For Contador_1 := 1 To Length( Mascara ) Do Begin

IF Copy( Mascara, Contador_1, 1 ) = '*' Then Result := Result + Copy( Inscricao, Contador_2, 1 );

IF Copy( Mascara, Contador_1, 1 ) <> '*' Then Result := Result + Copy( Mascara , Contador_1, 1 );

IF Copy( Mascara, Contador_1, 1 ) = '*' Then Contador_2 := Contador_2 + 1;

End;

Result := Trim( Result );

End;

:D

muito Grato..

t+

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Eder, o que a função faz é aplicar a máscara a uma sequencia de números (sem os caracteres: / . - ). Ou seja, recebe um número de inscrição não formatado e retorna ele formatado.

Acredito que esta função poderia ser adaptada para fazer algo diferente. Ao digitar a UF, você chamaria ela passando apenas este campo e poderia retornar uma máscara (no padrão MaskEdit) e esta ser aplicada a um componente MaskEdit (ao invés de um edit).

Aconselho, também, a incluir os ELSE's nas cláusulas IF's que testa Estado. É fácil entender que ser Estado for "AL", não há necessidade de continuar testando Estado nos outros IF's. ;)

Link para o comentário
Compartilhar em outros sites

  • 0

beleza..amigo entendi....mas de momento a solução da funçaõ em consegui assim:

//aqui formata a incrição estadual conforme o estado

//analisando o edit UF(estado). esta função esta la em cima junto com a função da validação da IE.

Edit2.Text := Mascara_Inscricao(Edit2.Text,Edit1.Text);

beleza.....t+ :D

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...