QUAL A DIFERENCA ENTRE "SUB" - "PRIVATE SUB"...
pessoal.. qual seria a diferença entre
SUB
Private Sub
Public Sub
SUB
Private Sub
Public Sub
Function Sub
??
ja fiz varias funcoes.. mas isso nao sei diferenciar...
alguem sabe? ;)
Em um modulo faça
em Um Form, tente chamar o TestePrivateSUb.
Voce não vai conseguir porque ele estara privado ao módulo.
Quando Voce coloca apenas Sub, a Ide entende como padrão o mesmo que Public Sub, ou seja, um método publico que pode ser acessado de outros locais.
Agora, Function Sub, eu desconheço.
Sub TesteSub()
MsgBox "Teste de SUB"
End Sub
Private Sub TestePrivateSub()
MsgBox "Teste de Private SUB"
End Sub
em Um Form, tente chamar o TestePrivateSUb.
Voce não vai conseguir porque ele estara privado ao módulo.
Quando Voce coloca apenas Sub, a Ide entende como padrão o mesmo que Public Sub, ou seja, um método publico que pode ser acessado de outros locais.
Agora, Function Sub, eu desconheço.
Private significa privado, restrito, ou seja, o que vc declara como Private só é visÃÂÂvel ao módulo/form que é declarado.
Se você não declara nada é o mesmo que declarar como "Public" ou seja o que vc declarar como Public é visÃÂÂvel a todo o projeto.
Por exemplo:
Dentro de um módulo declare duas variáveis
Private privado as Integer
Public publico as Integer
E tente utiliza-las dentro de um form.
Vai reparar que a variável privada não vai estar disponÃÂÂvel dentro do form (A cláusula "OPTION EXPLICIT" não é enfeite, utilize-a)
O mesmo vale para qualquer função/procedimento.
Se você não declara nada é o mesmo que declarar como "Public" ou seja o que vc declarar como Public é visÃÂÂvel a todo o projeto.
Por exemplo:
Dentro de um módulo declare duas variáveis
Private privado as Integer
Public publico as Integer
E tente utiliza-las dentro de um form.
Vai reparar que a variável privada não vai estar disponÃÂÂvel dentro do form (A cláusula "OPTION EXPLICIT" não é enfeite, utilize-a)
O mesmo vale para qualquer função/procedimento.
Private function A () as integer
[c]Public function B () as integer
Coloque isso dentro do módulo e tire as suas próprias conclusões.
Public só funciona realmente em módulos ou classes. Não adianta colocar public no form se não será visto em outros forms.Neste caso Public e Private tem o mesmo efeito: Vai ser tudo private mesmo.
Agora há diferença entre Sub e Function. Nas Subs você não coloca parâmetros nem retorna valor, mas executa comandos e métodos. Já as Function aceitam parâmetros e podem retornar um valor.
O assunto aqui é vb.net mas serve para você entender escopo de váriáveis e o uso de Sub, public e private
Agora há diferença entre Sub e Function. Nas Subs você não coloca parâmetros nem retorna valor, mas executa comandos e métodos. Já as Function aceitam parâmetros e podem retornar um valor.
O assunto aqui é vb.net mas serve para você entender escopo de váriáveis e o uso de Sub, public e private
Public sub pode ser declarado em form sim, e é reconhecido por outro form.
Desde que vc referencie o form primeiro:
Form1.a ...
Form1.a ...
Robiu sub pode-se usar parametros sim, sem problema algum, ok.
hehehe... entao estamos vendo que a minha pergunta, é a pergunta de muitos..hehe
tambem não sei a diferença... pois com o tempo observei que faz diferença apenas do public para private mas para function e sub nao sei nao...
hehe
tambem não sei a diferença... pois com o tempo observei que faz diferença apenas do public para private mas para function e sub nao sei nao...
hehe
LINY_FF
Vou só complementar mais um coisa que não está diretamente na sua pergunta mas de qualquer forma creio que possar lhe ajudar.
As Function Trazem um valor de retorno (coisa que a sub não faz)
Exemplo:
no form ficaria assim
If AbrirArquivo ("C:\MeuArquivo") = False Then
Msgbox "Erro Ao Encontrar o Caminho Especificado. Por favor verifique"
end if
Já nas Sub's vc não pode trazer esse valor (da mesma forma) Boleano de retorno para verificar se o arquivo foi encontrado ou não
Se vc fizer isto, irá gerar um erro
Vou só complementar mais um coisa que não está diretamente na sua pergunta mas de qualquer forma creio que possar lhe ajudar.
As Function Trazem um valor de retorno (coisa que a sub não faz)
Exemplo:
Public Function AbrirArquivo(Caminho as String) AS Boolean
If Dir(Caminho) <> "" Then
AbrirArquivo = True
Else
AbrirArquivo = False
End if
End Function
no form ficaria assim
If AbrirArquivo ("C:\MeuArquivo") = False Then
Msgbox "Erro Ao Encontrar o Caminho Especificado. Por favor verifique"
end if
Já nas Sub's vc não pode trazer esse valor (da mesma forma) Boleano de retorno para verificar se o arquivo foi encontrado ou não
Se vc fizer isto, irá gerar um erro
Public Sub AbrirArquivo(Caminho as String) As Boolean
'Procedimentos
End Sub
Tópico encerrado , respostas não são mais permitidas