Ir para conteúdo
Otacildo

Expressão não é um método

Recommended Posts

Estou desenvolvendo um sistema em vb.net 2010. A solução contém cinco projetos, um EXE (Principal) e quatro DLL (Cadastro, Financeiro, Jurídico e Biblioteca). A Biblioteca.dll contém uma classe Utils com funções para validar CPF, encriptar Senha e outras. Referenciei a Biblioteca.dll no projeto Principal.exe.  Quando chamo fValidaCPF(txtCPF.text) do Projeto Principal.exe é apresentado um erro “Expressão não é um método”.

 

'----------------------------------------------------------------------

'Projeto Principal.exe

'----------------------------------------------------------------------

Imports Biblioteca

Imports Biblioteca.Utils

Imports System.Windows.Forms

Public Class Principal

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        fValidaCPF(TextBox1.Text)

    End Sub

End Class

 

 

 

'----------------------------------------------------------------------

'Projeto Biblioteca.dll

'Valida CPF

'----------------------------------------------------------------------

Public Function FValidaCPF(ByVal CPF As String) As Boolean

    Dim i, x, n1, n2 As Integer

    CPF = CPF.Trim

    For i = 0 To dadosArray.Length - 1

        If CPF.Length <> 14 Or dadosArray(i).Equals(CPF) Then

            Return False

        End If

    Next

    'remove a maskara

    'If Len(CPF) > 11 Then

    CPF = CPF.Substring(0, 3) + CPF.Substring(4, 3) + CPF.Substring(8, 3) + CPF.Substring(12)

    'End If

    For x = 0 To 1

        n1 = 0

        For i = 0 To 8 + x

            n1 = n1 + Val(CPF.Substring(i, 1)) * (10 + x - i)

        Next

        n2 = 11 - (n1 - (Int(n1 / 11) * 11))

        If n2 = 10 Or n2 = 11 Then n2 = 0

        If n2 <> Val(CPF.Substring(9 + x, 1)) Then

            MsgBox("O CPF informado não é válido. Verifique se digitou corretamente.", _

                   MsgBoxStyle.Information, "GA .Net Consultoria")

            Return False

        End If

    Next

 

    MsgBox("O CPF informado é válido.", _

           MsgBoxStyle.Information, "GA .Net Consultoria")

 

    Return True

End Function

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Robson Wenzel
      Olá, sou novo no VB
       
      Estou desenvolvendo um programa de atendimento médico onde tem vários textboxs e um deles é de Valor (R$).
       
      O meu problema é o seguinte...
      No meu banco de dados o campo valor é do tipo moeda e o banco é em access
      No meu programa no dataset configurei ele para double e por código consegui colocar automaticamente ponto e virgula.
      Até ai acho que tudo bem...
      Só que quando eu clico para salvar ele automaticamente esquece do ponto e virgula e salva no datagridview o valor sem ponto e virgula, e dai quando eu seleciono o registro ele esquece dos centavos
       
      Ex.:
      Eu digito na text box: R$ 1.250,00
      E quando eu salvo aparece na datagridview: 1250
      Quando seleciono o mesmo registro ele fica assim na textbox: R$ 12,50
      Só se os centavos não forem zerados ele salva mais se forem 00 ele não salva
       
      Por favor! me ajudem.
       
      Segue o código da formula para colocar os ponto e virgula para vocês darem uma olhada e ver se tem erros...
       
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Public Shared Sub Moeda(ByRef txt As TextBox)         Dim n As String = String.Empty         Dim v As Double = 0         Try             n = txt.Text.Replace(",", "").Replace(".", "")             If n.Equals("") Then n = ""             n = n.PadLeft(3, "0")             If n.Length > 3 And n.Substring(0, 1) = "0" Then n = n.Substring(1, n.Length - 1)             v = Convert.ToString(n) / 100             txt.Text = String.Format("{0:C2}", v)             txt.SelectionStart = txt.Text.Length         Catch ex As Exception         End Try     End Sub     Private Sub valortxt_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles valortxt.KeyPress         Select Case (valortxt.TextLength)             Case 4                 valortxt.SelectionStart = 5         End Select     End Sub     Private Sub valortxt_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles valortxt.TextChanged         Atendimentos.Moeda(valortxt)     End Sub ------------------------------------------------------------------------------------------------------------------------------------------------------------
    • Por Roberto Paes
      System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; startInfo.FileName = "cmd.exe"; startInfo.Arguments = "/C start copy " + Application.StartupPath + @"\launcher\Sanchez.Patcher.exe " + Application.StartupPath; process.StartInfo = startInfo; process.Start(); Oi pessoal, Boa noite. Me chamo Roberto e estou tendo problemas em usar o cmd com o c#. O meu código funciona perfeitamente, mas eu não consigo ocultar a janela do cmd. Bom, apresentado o meu problema. Espero que possam me ajudar.
       
       
    • Por felipegon02
      Gostaria da ajuda de vocês membros, estou fazendo um projeto que é pro meu TCC utilizando o MYSQL  e o Visual Basic, neste projeto queria fazer agendamento de clientes, mas para isso, queria comparar o horário selecionado pelo cliente com o banco de dados, para ver se o horário está disponível mas não sei com fazer isso. Obrigado 
    • Por Everaldo Miceli d Avila
      Estou iniciando no Visual Studio (VB) estou usando um banco de dados Access interligado com vários DBF., porém não consegui que o VS montasse a edição e gravação desta o VS dá uma mensagem de que tem erro com a grafia
       "   Private Sub DBF_11ABindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles DBF_11ABindingNavigatorSaveItem.Click         Me.Validate()         Me.DBF_11ABindingSource.EndEdit()         Me.TableAdapterManager.UpdateAll(Me.DatabaseSisdespDataSet)     End Sub  "
      alguém pode me ajudar?
       
    • Por mpsouzaa
      Fala galera, to com uma dúvida que tá me fazendo coçar a cabeça. Talvez seja muito simples de resolver.
       
      Eu fiz este código para que, ao selecionar uma linha na ListView1 ele adicione a palavra "PAGO" na linha selecionada na coluna "N" da planilha "DBPEDIDOS" e está funcionando certo, mas só funciona quando tenho apenas 1 linha selecionada.
      For i = Listview1.ListItems.Count To 1 Step -1 If Listview1.ListItems(i).Selected = True Then Dim ID As Variant ID = Listview1.ListItems.Item(i) Listview1.ListItems.Remove i Plan6.Range("A2").Select With Worksheets("DBPEDIDOS").Range("A:A") Set C = .Find(ID, LookIn:=xlValues, lookat:=xlPart) If Not C Is Nothing Then C.Activate ActiveCell.Offset(0, 13).Value = "PAGO" End If End With End If Next i O que eu quero fazer é que ele insira a palavra "PAGO" em todas as linhas caso eu selecione mais de uma na listview. Se alguém puder dar uma força agradeço demais.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.