Duas funções um Botão
13/08/2007
0
Bom dia Pessoal, eu tenho um sério problema e não sei como resolver.
Eu fiz uma classe com duas funções que são chamadas via botão de comando.
Só que eu fiz cada botão chamar uma função para testar se tudo estivesse OK.. cada função funciona perfeitamente com o seu botão.. Mas o que eu preciso agora era que as duas fossem executadas da mesma forma que são hoje em seus botões só que juntas num único botão.
Como fazer isso? Me falaram em fazer métodos..
metodo1()
metodo2()..
Mas nem sei como começar.. Como colocar os códigos dentro disso tudo..
Será que alguém pode me ajudar a montar esse código?
Segue abaixo minha classse/funções e o código de cada botão que chama as funções.
Agora o código que está em cada botão que chama as funções.
Código que chama a função que valida as data de nascimento.
Agora o código que está no botão que valida CPF.
Como deixar isso apenas em um botão.. e ainda mostrar as mensagens de erro ou de acerto para o usuário.. Pois isso é de suma importância.. Pois esse projeto depois irá para a WEB e quando o usuário for fazer o UPLOAD do arquivo do excel será mostrada as mensagens para ele com êxito ou falha e deve ser mostrado o que está de errado com o arquivo para que o usuário possa arrumar e tentar novamente fazer o UPLOAD do arquivo.
Grata
Letícia.[/code]
Eu fiz uma classe com duas funções que são chamadas via botão de comando.
Só que eu fiz cada botão chamar uma função para testar se tudo estivesse OK.. cada função funciona perfeitamente com o seu botão.. Mas o que eu preciso agora era que as duas fossem executadas da mesma forma que são hoje em seus botões só que juntas num único botão.
Como fazer isso? Me falaram em fazer métodos..
metodo1()
metodo2()..
Mas nem sei como começar.. Como colocar os códigos dentro disso tudo..
Será que alguém pode me ajudar a montar esse código?
Segue abaixo minha classse/funções e o código de cada botão que chama as funções.
Public Class CalcPlanilha ´-----Primeira função de validar Data de Nascimento Public Function VerificarNascimentos(Optional ByVal Linha As Integer = 3, _ Optional ByVal Coluna As Integer = 6, _ Optional ByVal ApagarErros As Boolean = False) As Boolean Dim ok As Boolean = True Dim tempData As DateTime Dim tempStr As String = "" Dim ii As Integer If ApagarErros Then Erros.Clear() For ii = Linha To Planilha.Lines - 1 Try tempStr = Planilha.Cell(ii, Coluna) & "" If tempStr.Length = 8 Then tempStr = tempStr.Substring(0, 2) & "/" & tempStr.Substring(2, 2) & "/" & tempStr.Substring(4, 4) End If tempData = Date.Parse(tempStr) Catch ok = False tempStr = "Dt.Nasc. L" & ii & ": " & tempStr Erros.Add(tempStr) End Try Next Return (ok) End Function ´---------------------Segunda função de validar CPF Public Function DeusDeAmor(Optional ByVal Linha As Integer = 3, _ Optional ByVal Coluna As Integer = 4, _ Optional ByVal ApagarErros As Boolean = False) As Boolean Dim okk As Boolean = True Dim tempStrr As String = "" Dim iii As Integer Dim i, a, n1, n2 As Integer If ApagarErros Then Erros.Clear() For iii = Linha To Planilha.Lines - 1 Try tempStrr = Planilha.Cell(iii, Coluna) & "" If tempStrr = "" OrElse _ tempStrr.Trim.Length <> 11 OrElse _ tempStrr = "11111111111" OrElse _ tempStrr = "22222222222" OrElse _ tempStrr = "33333333333" OrElse _ tempStrr = "44444444444" OrElse _ tempStrr = "55555555555" OrElse _ tempStrr = "66666666666" OrElse _ tempStrr = "77777777777" OrElse _ tempStrr = "88888888888" OrElse _ tempStrr = "99999999999" Then Throw New Exception("CPF Inválido") End If If tempStrr.Length = 11 Then tempStrr = tempStrr.Replace(".", "").Replace(",", "").Replace("/", "").Replace("-", "") tempStrr = tempStrr.Trim For a = 0 To 1 n1 = 0 For i = 1 To 9 + a n1 = n1 + Val(Mid(tempStrr, i, 1)) * (11 + a - i) Next n2 = 11 - (n1 - (Int(n1 / 11) * 11)) If n2 = 10 Or n2 = 11 Then n2 = 0 If n2 <> Val(Mid(tempStrr, 10 + a, 1)) Then Throw New Exception("CPF Inválido") End If Next End If Catch ex As Exception okk = False tempStrr = "Dt.CNPJ. L" & iii & ": " & tempStrr Erros.Add(tempStrr) End Try Next Return (okk) End Function End Class
Agora o código que está em cada botão que chama as funções.
Código que chama a função que valida as data de nascimento.
Private Sub btVerificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btVerificar.Click Dim ss As String Dim CalcP As BL_Excel.CalcPlanilha = Nothing Try Try ´... no seu código ASP, aqui você informa o local da planilha ss = Me.OpenXLSDialog.FileName CalcP = New BL_Excel.CalcPlanilha(ss) Catch ex As Exception ´... deve ser outro tratamento de erro no ASP MsgBox("Houve um erro no acesso aos dados... Error Msg: " & ex.Message, MsgBoxStyle.Information, "Atenção...") Exit Sub End Try Me.VerificarTextBox.Text = String.Empty If CalcP.VerificarNascimentos() Then Me.VerificarTextBox.Text = "Leitura da coluna Nascimento... tudo 100¬" Else ss = "Leitura da Coluna Nascimento com erros..." For x As Integer = 0 To CalcP.Erros.Count - 1 ss &= Environment.NewLine & CalcP.Erros(x) Next Me.VerificarTextBox.Text = ss MsgBox("Houve um erro, verifique as mensagens.") End If Finally ´... garante limpesa de memória If CalcP IsNot Nothing Then CalcP.Finalize() End If End Try End Sub
Agora o código que está no botão que valida CPF.
Private Sub VerificarCPF_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerificarCPF.Click Dim CalcPP As BL_Excel.CalcPlanilha = Nothing Dim sss As String Try Try sss = Me.OpenXLSDialog.FileName CalcPP = New BL_Excel.CalcPlanilha(sss) Catch ex As Exception ´... deve ser outro tratamento de erro no ASP MsgBox("Houve um erro no acesso aos dados... Error Msg: " & ex.Message, MsgBoxStyle.Information, "Atenção...") Exit Sub End Try Me.VerificarTextBox.Text = String.Empty If CalcPP.DeusDeAmor() Then Me.VerificarTextBox1.Text = "Leitura da coluna CPF... tudo 100¬" Else sss = "Leitura da Coluna CPF com erros..." For x As Integer = 0 To CalcPP.Erros.Count - 1 sss &= Environment.NewLine & CalcPP.Erros(x) Next Me.VerificarTextBox1.Text = sss MsgBox("Houve um erro, verifique as mensagens.") End If Finally ´... garante limpesa de memória If CalcPP IsNot Nothing Then CalcPP.Finalize() End If End Try End Sub
Como deixar isso apenas em um botão.. e ainda mostrar as mensagens de erro ou de acerto para o usuário.. Pois isso é de suma importância.. Pois esse projeto depois irá para a WEB e quando o usuário for fazer o UPLOAD do arquivo do excel será mostrada as mensagens para ele com êxito ou falha e deve ser mostrado o que está de errado com o arquivo para que o usuário possa arrumar e tentar novamente fazer o UPLOAD do arquivo.
Grata
Letícia.[/code]
Teclesoft
Curtir tópico
+ 0
Responder
Posts
13/08/2007
Teclesoft
Resolvi pessoal.. Ficou assim..
Private Sub ChamaDuas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChamaDuas.Click Dim Class_CalcP As BL_Excel.CalcPlanilha = Nothing Dim Recebe_Arq As String Dim Recebe_Err As String Try Try Recebe_Arq = Me.OpenXLSDialog.FileName Class_CalcP = New BL_Excel.CalcPlanilha(Recebe_Arq) Catch ex As Exception MsgBox("Erro no acesso aos dados, verifique o seu arquivo XLS e tente novamente") Exit Sub End Try Me.VerificarTextBox.Text = String.Empty If Class_CalcP.DeusDeAmor() Or Class_CalcP.VerificarNascimentos() Then Me.VerificarTextBox.Text = "Coluna CPF e coluna Data estão corretas" Else Recebe_Err = "Leitura das colunas com erros" For x As Integer = 0 To Class_CalcP.Erros.Count - 1 Recebe_Err &= Environment.NewLine & Class_CalcP.Erros(x) Next Me.VerificarTextBox.Text = Recebe_Err MsgBox("Houveram erros na verificação das informações do arquivo") End If Finally If Class_CalcP IsNot Nothing Then Class_CalcP.Finalize() End If End Try End Sub
Responder
Clique aqui para fazer login e interagir na Comunidade :)