QUAL A DIFERENCA ENTRE "SUB" - "PRIVATE SUB"...

USUARIO.EXCLUIDOS 31/05/2007 14:19:23
#219130
pessoal.. qual seria a diferença entre

SUB
Private Sub
Public Sub
Function Sub

??

ja fiz varias funcoes.. mas isso nao sei diferenciar...

alguem sabe? ;)
ALMARTI 31/05/2007 14:37:11
#219135
Em um modulo faça

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.
ANTONIOBSJ 04/06/2007 17:11:23
#219703
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.


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.
ROBIU 04/06/2007 19:54:37
#219723
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
USUARIO.EXCLUIDOS 04/06/2007 23:40:13
#219745
Public sub pode ser declarado em form sim, e é reconhecido por outro form.

ANTONIOBSJ 05/06/2007 07:05:58
#219750
Desde que vc referencie o form primeiro:

Form1.a ...
USUARIO.EXCLUIDOS 05/06/2007 07:17:42
#219751
Robiu sub pode-se usar parametros sim, sem problema algum, ok.
USUARIO.EXCLUIDOS 05/06/2007 09:25:19
#219777
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
CLEVERTON 05/06/2007 10:51:21
#219794
Resposta escolhida
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:

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