USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Duvida sobre o controle ActiveText
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 08/02/2006 07:18 hs            
Ola, amigos
Baixei aki do site o controle ActiveText para fazer alguns testes...
Mas encontrei algumas duvidas:
 
1) Qdo ele recebe o Foco, muda a cor de funco para Amarelo Claro. Tem como eu definir outra cor, ou permanecer a cor que estava???
 
2) Estou usando o formato de CGC. Qdo insiro um CGC inválido, ele dispara uma mensagem dizendo "CGC Inválido". Tem como eu desabilitar essa mensagem?
E tem como saber se o CGC digitado é Valido ou Não via Código???
 
3) Pra que serve a propriedade eAuto ???


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

     
Roßerto
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 08/02/2006 11:07 hs            
1. nao tem como, teria q mexer nos fontes da active( eu devo ter em algum lugar )
 
2. mesmo da anterior, não entendi isso "E tem como saber se o CGC digitado é Valido ou Não via Código???"
 
3. habilita o enter pra mudança de focus.
 
Roberto

Roberto
roberto@vbweb.com.br
     
PH1959
Pontos: 2843
SÃO JOSÉ DOS CAMPOS
SP - BRASIL
Postada em 08/02/2006 11:31 hs            
CGC válido :
no lost focus do seutxt vc chama a função
               Vl_Cpf = cgctxt.Text
               cpfval = Vl_Cpf
                If Fu_consistir_Cpf(Vl_Cpf) = False Then
                    MsgBox "Número de CPF Inválido"
                    cgctxt.Text = ""
                    cgctxt.SetFocus
                Else
                    If Len(Vl_Cpf) = 11 Then
                        cgctxt.Text = Format(Vl_Cpf, "000.000.000-00")
                    Else
                        cgctxt.Text = Format(Vl_Cpf, "000.000.000/000.0-00")
                    End If
                End If
end sub
 
Public Function Fu_consistir_Cpf(Vl_Cpf As Variant)
    Fu_consistir_Cpf = True
   
    Dim VA_Cpf           As String
    Dim VA_Digito           As String
    Dim VA_Resto            As Integer
    Dim VA_Resultado        As Integer
    Dim VA_SomaDigito10     As Integer
    Dim VA_resto1           As Integer
    Vl_CgcCpf = Vl_Cpf
    Static Numero(15)       As Integer
    VA_CgcCpf = Format(Vl_CgcCpf, "@@@@@@@@@@@@@@")
    VA_Digito = Mid(VA_CgcCpf, 13, 2)
      Fu_consistir_Cpf = False
      
    Numero(1) = Val(Mid(VA_CgcCpf, 1, 1))
    Numero(2) = Val(Mid(VA_CgcCpf, 2, 1))
    Numero(3) = Val(Mid(VA_CgcCpf, 3, 1))
    Numero(4) = Val(Mid(VA_CgcCpf, 4, 1))
    Numero(5) = Val(Mid(VA_CgcCpf, 5, 1))
    Numero(6) = Val(Mid(VA_CgcCpf, 6, 1))
    Numero(7) = Val(Mid(VA_CgcCpf, 7, 1))
    Numero(8) = Val(Mid(VA_CgcCpf, 8, 1))
    Numero(9) = Val(Mid(VA_CgcCpf, 9, 1))
    Numero(10) = Val(Mid(VA_CgcCpf, 10, 1))
    Numero(11) = Val(Mid(VA_CgcCpf, 11, 1))
    Numero(12) = Val(Mid(VA_CgcCpf, 12, 1))
    Numero(13) = Val(Mid(VA_CgcCpf, 13, 1))
    Numero(14) = Val(Mid(VA_CgcCpf, 14, 1))
   
    If Len(Trim(Vl_CgcCpf)) > 11 Then  ' Cgc
        VA_Resultado = Numero(1) * 2
        If VA_Resultado > 9 Then
            VA_SomaDigito10 = VA_Resultado + 1
        Else
            VA_SomaDigito10 = VA_Resultado
        End If
        VA_Resultado = Numero(3) * 2
        If VA_Resultado > 9 Then
            VA_SomaDigito10 = VA_SomaDigito10 + VA_Resultado + 1
        Else
            VA_SomaDigito10 = VA_SomaDigito10 + VA_Resultado
        End If
        VA_Resultado = Numero(5) * 2
        If VA_Resultado > 9 Then
            VA_SomaDigito10 = VA_SomaDigito10 + VA_Resultado + 1
        Else
            VA_SomaDigito10 = VA_SomaDigito10 + VA_Resultado
        End If
        VA_Resultado = Numero(7) * 2
        If VA_Resultado > 9 Then
            VA_SomaDigito10 = VA_SomaDigito10 + VA_Resultado + 1
        Else
            VA_SomaDigito10 = VA_SomaDigito10 + VA_Resultado
        End If
        VA_SomaDigito10 = VA_SomaDigito10 + Numero(2) + Numero(4) + Numero(6)
        If Mid(str(VA_SomaDigito10), Len(str(VA_SomaDigito10)), 1) = "0" Then
            VA_Resto = 0
        Else
            VA_Resto = 10 - Val(Mid(str(VA_SomaDigito10), Len(str(VA_SomaDigito10)), 1))
        End If
        If VA_Resto <> Numero(8) Then
            Exit Function
        End If
        VA_Resultado = (Numero(1) * 5) + (Numero(2) * 4) _
            + (Numero(3) * 3) + (Numero(4) * 2) _
            + (Numero(5) * 9) + (Numero(6) * 8) + _
            (Numero(7) * 7) + (Numero(8) * 6) + _
            (Numero(9) * 5) + (Numero(10) * 4) + _
            (Numero(11) * 3) + (Numero(12) * 2)
        ' Atribui para resto o resto da divisão
            ' de VA_resultado dividido por 11
            VA_Resto = VA_Resultado Mod 11
            If VA_Resto < 2 Then
            VA_resto1 = 0
        Else
            VA_resto1 = 11 - VA_Resto
        End If
        If VA_resto1 <> Numero(13) Then
            Exit Function
        End If
        VA_Resultado = (Numero(1) * 6) + _
            (Numero(2) * 5) + (Numero(3) * 4) + _
            (Numero(4) * 3) + (Numero(5) * 2) + _
            (Numero(6) * 9) + (Numero(7) * 8) + _
            (Numero(8) * 7) + (Numero(9) * 6) + _
            (Numero(10) * 5) + (Numero(11) * 4) + _
            (Numero(12) * 3) + (Numero(13) * 2)
        ' Atribui para resto o resto da divisão
            ' de VA_resultado dividido por 11
            VA_Resto = VA_Resultado Mod 11
        If VA_Resto < 2 Then
            VA_resto1 = 0
        Else
            VA_resto1 = 11 - VA_Resto
        End If
        If VA_resto1 <> Numero(14) Then
            Exit Function
        End If
    Else  ' Cpf
        VA_Resultado = (Numero(4) * 1) + (Numero(5) * 2) + (Numero(6) * 3) + (Numero(7) * 4) + (Numero(8) * 5) + (Numero(9) * 6) + (Numero(10) * 7) + (Numero(11) * 8) + (Numero(12) * 9)
        VA_Resto = VA_Resultado Mod 11
        If VA_Resto > 9 Then
            VA_resto1 = VA_Resto - 10
        Else
            VA_resto1 = VA_Resto
        End If
        If VA_resto1 <> Numero(13) Then
            Exit Function
        End If
       
        VA_Resultado = (Numero(5) * 1) + (Numero(6) * 2) + (Numero(7) * 3) + (Numero(8) * 4) + (Numero(9) * 5) + (Numero(10) * 6) + (Numero(11) * 7) + (Numero(12) * 8) + (VA_Resto * 9)
        VA_Resto = VA_Resultado Mod 11
        If VA_Resto > 9 Then
            VA_resto1 = VA_Resto - 10
        Else
            VA_resto1 = VA_Resto
        End If
        If VA_resto1 <> Numero(14) Then
            Exit Function
        End If
    End If
Fu_consistir_Cpf = True
End Function

     
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 08/02/2006 11:35 hs            
Roberto,
no item 2, o q eu quis dizer foi se tem alguma propriedade do ActiveText que eu possa consultar para saber se o numero de CGC q ta digitado é válido ou não?
pelo que eu vi, se o CGC for invalido ele dá a mensagem de erro, mas nao apaga o conteudo. Entao eu precisaria saber se o que está la dentro é valido ou nao.
 
Amigo PH1959, essa rotina que voce colocou ai é bem feia, ne? eu tenho uma de validar CNPJ com apenas 14 linhas... mesmo assim valeu... mas o q eu queria mesmo é fazer isso no proprio controle ActiveText, se for possivel...
 
Mesmo assim obrigado gente... t+


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

     
PH1959
Pontos: 2843
SÃO JOSÉ DOS CAMPOS
SP - BRASIL
Postada em 08/02/2006 12:12 hs            
realmente elieser esta rotina é bem feinha....a outra q costumo usar usa loop e é bem pequena...mas está em outra máquina. A propósito esta rotina aí valida CNPJ e CPF.
     
Tekki
Pontos: 2843 Pontos: 2843 Pontos: 2843
UBERLÂNDIA
MG - BRASIL
Postada em 08/02/2006 19:22 hs            
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página