MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    Variáveis estáticas - Classe estática

    MS Kid
    MS Kid
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 22/01/2013

    Variáveis estáticas - Classe estática Empty Variáveis estáticas - Classe estática

    Mensagem  MS Kid em 7/9/2018, 02:06

    olá pessoal!

    outro dia senti a necessidade de criar variáveis estáticas que fornecem aqueles valores de configuração de tela (ex. tamanho do texto, espaçamento entre botões, etc...). daí eu pesquisei e li sobre o conceito de classe estática, classe construída somente com procedimentos do tipo Get que retornam valores estáticos.

    eu quis um objeto que me oferecesse objetos de outras classes estáticas, então, comecei criando as sub-classes estáticas. vou dar exemplo de 2 sub-classes:

    sub-classe staCorTelaCadastro:
    Código:
    Option Compare Database
    Option Explicit

    Private Const p_CorFrPdBotCRUD As Long = 8211216         'cor de frente padrão do botão CRUD (azul Anadarko)
    Private Const p_CorFrVermBotCRUD As Long = 2366701       'cor de frente do botão CRUD (vermelho)
    Private Const p_CorFrVerdBotCRUD As Long = 26112         'cor de frente do botão CRUD (verde)

    Public Property Get CorFrPdBotCRUD() As Long
        CorFrPdBotCRUD = p_CorFrPdBotCRUD
    End Property

    Public Property Get CorFrVermBotCRUD() As Long
        CorFrVermBotCRUD = p_CorFrVermBotCRUD
    End Property

    Public Property Get CorFrVerdBotCRUD() As Long
        CorFrVerdBotCRUD = p_CorFrVerdBotCRUD
    End Property

    sub-classe staFonTelaCadastro:
    Código:
    Option Compare Database
    Option Explicit

    Private Const p_NomFonBotCRUD As String = "Euphemia"                    'nome da fonte do botão CRUD
    Private Const p_NomFonTitCabec As String = "Century Gothic"             'nome da fonte do título do cabeçalho
    Private Const p_NomFonCxTxt As String = "Euphemia"                      'nome da fonte da caixa de texto
    Private Const p_NomFonRot As String = "Euphemia"                        'nome da fonte do rótulo

    Private Const p_TamFonBotCRUD As Integer = 10                           'tamanho da fonte do botão CRUD
    Private Const p_TamFonTitCabec As Integer = 28                          'tamanho da fonte do cabeçalho
    Private Const p_TamFonCxTxt As Integer = 10                             'tamanho da fonte da caixa de texto
    Private Const p_TamFonRot As Integer = 10                               'tamanho da fonte do rótulo

    Public Property Get NomFonBotCRUD() As String
        NomFonBotCRUD = p_NomFonBotCRUD
    End Property

    Public Property Get NomFonTitCabec() As String
        NomFonTitCabec = p_NomFonTitCabec
    End Property

    Public Property Get NomFonCxTxt() As String
        NomFonCxTxt = p_NomFonCxTxt
    End Property

    Public Property Get NomFonRot() As String
        NomFonRot = p_NomFonRot
    End Property

    Public Property Get TamFonBotCRUD() As Integer
        TamFonBotCRUD = p_TamFonBotCRUD
    End Property

    Public Property Get TamFonTitCabec() As Integer
        TamFonTitCabec = p_TamFonTitCabec
    End Property

    Public Property Get TamFonCxTxt() As Integer
        TamFonCxTxt = p_TamFonCxTxt
    End Property

    Public Property Get TamFonRot() As Integer
        TamFonRot = p_TamFonRot
    End Property

    por fim eu criei a classe estática principal, que vai chamar as sub-classes:

    classe staTelaCadastro:
    Código:
    Option Compare Database
    Option Explicit

    Private p_Fonte As New staFonTelaCadastro
    Private p_Cor As New staCorTelaCadastro

    Public Property Get Fonte() As staFonTelaCadastro
        Set Fonte = p_Fonte
    End Property

    Public Property Get Cor() As staCorTelaCadastro
        Set Cor = p_Cor
    End Property

    depois de feito, eu exportei cada classe para uma pasta qualquer, abri o arquivo gerado (ex. staTelaCadastro.cls) usando o Notepad e, na linha onde tem a instrução Attribute VB_PredeclaredId = False, eu editei para True.
    Variáveis estáticas - Classe estática Statel10

    salvei e importei cada classe para o Access. fazendo isso, você não precisa declarar nem iniciar o objeto. basta escrever o nome da classe principal, em qualquer parte do projeto, e apertar o ponto para ativar o Intellisense e resgatar os valores estáticos.
    Variáveis estáticas - Classe estática Intell10

    Variáveis estáticas - Classe estática Intell11

    espero que alguém se beneficie com as informações por mim passadas, assim como tenho me beneficiado com o vasto conhecimento encontrado aqui no MaximoAccess.

    obrigado à todos!
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6379
    Registrado : 15/03/2013

    Variáveis estáticas - Classe estática Empty Re: Variáveis estáticas - Classe estática

    Mensagem  ahteixeira em 7/9/2018, 12:05

    Olá Thor,

    Parabéns e obrigado pela partilha!

    Abraço
    MS Kid
    MS Kid
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 22/01/2013

    Variáveis estáticas - Classe estática Empty Re: Variáveis estáticas - Classe estática

    Mensagem  MS Kid em 9/9/2018, 03:05

    valeu Alvaro!

    sempre que possível, irei compartilhar meus conhecimentos aqui no fórum.

    um abraço.
    avatar
    daniel20_adm
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 22/08/2012

    Variáveis estáticas - Classe estática Empty Re: Variáveis estáticas - Classe estática

    Mensagem  daniel20_adm em 11/9/2018, 12:50

    Quanto mais a gente compartilha mais nós aprendemos. Agradecemos imensamente.
    Seria ainda mais interessante se colocasse disponível um arquivo exemplo. Wink para ajudar os mais leigos (como eu rs).

    Grande abraço!
    MS Kid
    MS Kid
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 22/01/2013

    Variáveis estáticas - Classe estática Empty Re: Variáveis estáticas - Classe estática

    Mensagem  MS Kid em 12/9/2018, 01:10

    tudo beleza, Daniel?

    segue o arquivo zip contendo o projeto da Classe Estática, como solicitado. qualquer dúvida, é só postar aí que assim que possível responderei. ou outro amigo do fórum até mais gabaritado.

    um abraço.
    Anexos
    Variáveis estáticas - Classe estática AttachmentClasse Estática.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (82 Kb) Baixado 40 vez(es)

    Conteúdo patrocinado

    Variáveis estáticas - Classe estática Empty Re: Variáveis estáticas - Classe estática

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2019, 21:50