[OFF] ORIENTACAO A OBJETO VB6
Vejo direto o fórum e vejo que muita gente tem dificuldade de entender o conceito de objeto, mesmo no .NET... então resolvi fazer um exemplo prático de como funciona a orientação a objeto, usando, acreditem, VB6.
Muito SHOW de bola seu exemplo.
Envie ele para o site, qualquer coisa mande uma MP para os moderadores aqui como o TECLA que eles ajudam vc a fazer isso.
Flw abraços !!!
Envie ele para o site, qualquer coisa mande uma MP para os moderadores aqui como o TECLA que eles ajudam vc a fazer isso.
Flw abraços !!!
Realmente o VB6 pode ser programado orientado a objetos... Eu faço meus projetos orientado a objetos a uns 8 anos... inlcusive ate o formulario é instanciado como objeto com caracteristicas e métodos proprios...... ex:
Dentro do Form...:....
Option Explicit
[ô]************************** ATENCAO *******************************
[ô]ESTE FORM DEVERA SER INSTANCIADO E ACESSADO ATRAVES DA FUNCAO EDITAR()
[ô]**********************************************************************
Private pbIniciouCorretamente As Boolean
[ô]VARIAVEIS PARAMETRIZAVEIS
Private poConexao As ADODB.Connection
Private poObjetoAEditar As Object
Private poFormAEditar As Object
Private pbSomenteLeitura As Boolean
Private pbGravado As Boolean
[ô]VARIAVEIS DE RETORNO
Private pbConfirmou As Boolean
Private pbEditarObjetoNovamente As Boolean
Private vbAbriu As Boolean
[ô]DEMAIS VARIAVEIS
Private pbAlterouObjeto As Boolean
Public Function Editar(ByRef aoConexao As ADODB.Connection, _
Optional ByRef aoObjetoAEditar As Object, _
Optional ByVal abSomenteLeitura As Boolean = False, _
Optional ByRef abEditarObjetoNovamente As Boolean = False) As Boolean
pbIniciouCorretamente = Not pbIniciouCorretamente
pbEditarObjetoNovamente = abEditarObjetoNovamente
[ô]RECEBER PARAMETROS
[ô]**************************************************************
Set poConexao = aoConexao
Set poObjetoAEditar = aoObjetoAEditar
pbSomenteLeitura = abSomenteLeitura
[ô]CARREGAR E CONFIGURAR FORM
[ô]**************************************************************
Load Me
Me.Caption = [Ô]Cadastro de Cargos[Ô]
[ô]EXIBIR FORM MODAL
[ô]**************************************************************
Me.Show vbModal
[ô]RETORNAR VALORES
[ô]**************************************************************
Editar = pbConfirmou
abEditarObjetoNovamente = pbEditarObjetoNovamente
End Function
para instanciar o form voce pode fazer ja passando um objeto criado a partir de uma classe por exemplo um classe CCLIENTE onde contenha todas as regras de banco...
[ô]chamando o form dentro do click de um menu no form principal do projeto
dim voFrmSeuForm as FORM_SeuForm
dim voCliente as CCliente
set voCliente = new CCliente
set voFrmSeuForm = new FORM_SeuForm
voFrmSeuFOrm.Editar conexao,vocliente,,true
set voCliente = nothing
set voFrmSeuForm = nothing
[ô]Deixe o seu form sem ser MDIChild, valeu a todos abs
Dentro do Form...:....
Option Explicit
[ô]************************** ATENCAO *******************************
[ô]ESTE FORM DEVERA SER INSTANCIADO E ACESSADO ATRAVES DA FUNCAO EDITAR()
[ô]**********************************************************************
Private pbIniciouCorretamente As Boolean
[ô]VARIAVEIS PARAMETRIZAVEIS
Private poConexao As ADODB.Connection
Private poObjetoAEditar As Object
Private poFormAEditar As Object
Private pbSomenteLeitura As Boolean
Private pbGravado As Boolean
[ô]VARIAVEIS DE RETORNO
Private pbConfirmou As Boolean
Private pbEditarObjetoNovamente As Boolean
Private vbAbriu As Boolean
[ô]DEMAIS VARIAVEIS
Private pbAlterouObjeto As Boolean
Public Function Editar(ByRef aoConexao As ADODB.Connection, _
Optional ByRef aoObjetoAEditar As Object, _
Optional ByVal abSomenteLeitura As Boolean = False, _
Optional ByRef abEditarObjetoNovamente As Boolean = False) As Boolean
pbIniciouCorretamente = Not pbIniciouCorretamente
pbEditarObjetoNovamente = abEditarObjetoNovamente
[ô]RECEBER PARAMETROS
[ô]**************************************************************
Set poConexao = aoConexao
Set poObjetoAEditar = aoObjetoAEditar
pbSomenteLeitura = abSomenteLeitura
[ô]CARREGAR E CONFIGURAR FORM
[ô]**************************************************************
Load Me
Me.Caption = [Ô]Cadastro de Cargos[Ô]
[ô]EXIBIR FORM MODAL
[ô]**************************************************************
Me.Show vbModal
[ô]RETORNAR VALORES
[ô]**************************************************************
Editar = pbConfirmou
abEditarObjetoNovamente = pbEditarObjetoNovamente
End Function
para instanciar o form voce pode fazer ja passando um objeto criado a partir de uma classe por exemplo um classe CCLIENTE onde contenha todas as regras de banco...
[ô]chamando o form dentro do click de um menu no form principal do projeto
dim voFrmSeuForm as FORM_SeuForm
dim voCliente as CCliente
set voCliente = new CCliente
set voFrmSeuForm = new FORM_SeuForm
voFrmSeuFOrm.Editar conexao,vocliente,,true
set voCliente = nothing
set voFrmSeuForm = nothing
[ô]Deixe o seu form sem ser MDIChild, valeu a todos abs
Legal!!! qnto mais leio os posts desse forum ... mais vejo que preciso camela muuuuuuuuiiiiiiiiitttttttooooooo no vb
Bacana ANDPAG, faço isso tb com alguns forms, isso traz vantagens na passagem de argumentos e no retorno de operação
Uma coisa pouco usada entre desenvolvedores no VB6 é as Interface (não estou falando de formularios e componentes).
http://www.macoratti.net/vb6_sher.htm (Um link do Macoratti sobre o assunto)
Pra quem não conhece, Interface permite que o VB trabalhe com Herança (um dos pilares da Orientação a Objetos)
Quem trabalhou com Documentos XML em VB6, provavelmente já ouviu sobre as classes IXMLDocument (entre outras). Essa classe é uma interface e isso está caracterizado pela letra I no inicio do nome da classe.
A UNICA forma de trabalhar com Padrões de Projeto em VB6 é através do uso de Interface
KERPLUNK, parabéns pelo tópico!!
Vamos aprofundar essa discussão, postando mais exemplos do que pode ser feito.
http://www.macoratti.net/vb6_sher.htm (Um link do Macoratti sobre o assunto)
Pra quem não conhece, Interface permite que o VB trabalhe com Herança (um dos pilares da Orientação a Objetos)
Quem trabalhou com Documentos XML em VB6, provavelmente já ouviu sobre as classes IXMLDocument (entre outras). Essa classe é uma interface e isso está caracterizado pela letra I no inicio do nome da classe.
A UNICA forma de trabalhar com Padrões de Projeto em VB6 é através do uso de Interface
KERPLUNK, parabéns pelo tópico!!
Vamos aprofundar essa discussão, postando mais exemplos do que pode ser feito.
Bom, dei uma incrementadinha nisso. Agora, cadastro completo de produtos e clientes, lançamento de vendas e relatório de vendas por perÃodo... um pouquinho mais e eu empacoto pra vender .
Quem quiser, dá uma olhada ae! Tá bem bacana mesmo
Quem quiser, dá uma olhada ae! Tá bem bacana mesmo
Acho que vou escrever um artigo explicando passo a passo como funciona, a estrutura e tudo o mais pra galera, de repente, gravo até um vÃdeo mostrando como fazer um programinha similar...
No VB6 pode usar herança de [ô]interface[ô] de classe,,, eu uso muito esse recurso que é feito na [Ô]unha[Ô] talvez no macoratti tenha alguma coisa sobre o assunto,,,, inclusive ele é daqui da minha cidade... tb gosta muito de vb o cara heheh,,, mas qq coisa posso postar um exemplo de herança de classe no vb6,,, abs a todos....
Opa! Se tiver isso coloca ae que eu posso implementar isso tb...
ANDPAG conheço Herança de Interface, de classe nunca vi. Inclusive li em algum lugar que só existia de Interface
Tópico encerrado , respostas não são mais permitidas