NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
Bom, meu nome é Mauricio Junior. Continuarei essa parte V onde explico e desenvolvo algumas functions dentro do Visual Basic 6.0. É necessário ter as functions antes de desenvolver a página ASP final, que verifica usuário e senha utilizando três camadas.
A function mostrada anteriormente foi EXECUTASQLARRAY. A referência 5.1 mostro todas que ainda serão criadas dentro do Global.bas.
Referência: 5.1 Visual Basic 6.0
Agora irei criar a function ExecutaSQL, responsável apenas para executar os comandos SQL INSERT, UPDATE e DELETE. (5.2 – Visual Basic 6.0)
Public Function ExecutaSQL(ByVal SQL As String, _
Optional ByVal sMetodoOrigem As String = "") As Boolean
On Error GoTo error
If SQL <> "" Then
CONN.Execute (SQL)
End If
error:
If Err.Number <> 0 Then
ExecutaSQL = False
Else
ExecutaSQL = True
End If
End Function
Referência: 5.2 – Visual Basic 6.0
Explicação:
Analisando a assinatura da function, note que é pública e recebe dois parâmetros do tipo string, sendo um obrigatório e outro opcional. No final, é retornado um valor do tipo Boolean, ou seja, true ou false.
Public Function ExecutaSQL(ByVal SQL As String, _
Optional ByVal sMetodoOrigem As String = "") As Boolean
Referência: 5.3 – Visual Basic 6.0
O próximo passo, utilizei o On Error GoTo error. Isso é significa que se algum erro ocorrer dentro dele, automaticamente será redirecionado para a parte de error.
On Error GoTo error
Referência: 5.4 – Visual Basic 6.0
O parâmetro obrigatório ByVal SQL as String é necessariamente o comando SQL enviado por uma function anterior que terá todos os valores necessários para inserir no banco de dados.
If SQL <> "" Then
CONN.Execute (SQL)
End If
Referência: 5.5 – Visual Basic 6.0
Na referência 5.5, existe uma condição onde verifico se a variável SQL é diferente de vazio, isso porque esse valor será executado junto ao Execute do objeto de conexão CONN. Já que a variável SQL terá um dos comandos INSERT, UPDATE ou DELETE, não haverá problemas para ser executado.
error:
If Err.Number <> 0 Then
ExecutaSQL = False
Else
ExecutaSQL = True
End If
Referência: 5.6 – Visual Basic 6.0
Dentro do “error:”, verifico se o é diferente de zero. Se for, a function recebe false, senão for, a function recebe true. Essa atribuição faz com que retorne o valor atribuído. É sempre bom utilizar o On Error GoTo error para prevenir qualquer tipo de erro dentro da dll.
A referência 5.7 mostra a ilustração de toda function mostrada e explicada.
Referência: 5.7 – Visual Basic 6.0
Encryptografar
Antes de qualquer coisas, na function utilizo outro componente dll chamado RC4. O mesmo possui a function EnCrypt onde recebe dois parâmetros. O primeiro parâmetro é do tipo string, ou seja, o valor decriptografado e o outro é do tipo numérico, ou seja, a chave. (5.8)
Referência: 5.8 – Visual Basic 6.0
Explicação:
Public Function Encryptografar(ByVal DESCRICAO As String) As String
Referência: 5.9 – Visual Basic 6.0
Como o de sempre, essa function é pública e recebe um parâmetro do tipo string. Além de receber parâmetro, retorna um parâmetro do tipo string. Isto é, o parâmetro sem cripitografada é enviado, retornando outro valor totalmente misturado ou criptografado.
A dll chamada RC4 é responsável pela criptografia do sistema. (5.10 – Visual Basic 6.0)
No começo da function declarei duas variáveis. (5.11 – Visual Basic 6.0)
Dim RC4
Static sRetorno
Referência: 5.11 – Visual Basic 6.0
Como dito anteriormente em outras functions, é sempre bom usar “On Error GoTo error”, dessa forma posso pegar o erro “se ocorrer” em qualquer parte do código. Foi a próxima linha que adicionei. (5.12)
On Error GoTo error
Referência: 5.12 – Visual Basic 6.0
Para a dll responsável pela criptografia deve ser registrada junto ao COM PLUS. Isso apenas para o uso da function dentro do VB. De qualquer forma, criei a function para utilizá-la normalmente. Declarei uma variável anteriormente para depois instanciá-la, criando um objeto da própria dll. (5.13 – Visual Basic 6.0)
Set RC4 = CreateObject("RC4DLL.Crypt")
sRetorno = RC4.EnCrypt(DESCRICAO, 9999)
Referência: 5.13 – Visual Basic 6.0
O comando CreateObject(“RC4DLL.Crypt”) faz com o que o objeto RC4 crie um vínculo com a dll, podendo assim ser usado todas as suas functions publicas. A function retorna uma string criptografada onde armazeno o valor na variável declarada anteriormente chamada sRetorno. Note que passei os parâmetros corretos para criptografar e manter uma “certa” segurança no sistema.
error:
If Err.Number <> 0 Then
Encryptografar = Err.Number
Else
Encryptografar = sRetorno
End If
Set RC4 = Nothing
Referência: 5.14 – Visual Basic 6.0
Para finalizar a function, pergunto se existiu algum erro para retorná-lo ou retornar a variável criptografada. Não esqueça que retorno o valor do tipo string. Essa function em si é usada apenas internamente, ou seja, outras classes usarão essa function. No final de tudo, atribuo o RC4 para nothing. Com isso, destruo o objeto criado anteriormente.
Segue a ilustração inteira da function criada. (5.15)
Referência: 5.15 – Visual Basic 6.0
Alguns livros publicados pela editora Ciência Moderna.
Bom, fico por aqui.
Espero ter ajudado em alguma coisa.
Fique de olho nos próximos artigos.
Mauricio Junior
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2024 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI