Carlos's profileLIBs Gráfica para (x)Har...BlogListsNetwork Tools Help

Blog


    11/28/2007

    Eventos - começando a programar

     
     
    Transição caracteres, para gráficos, programação visual.
     
    Começando a programar - conhecendo eventos.
     
     
    Para quem vem da programação Clipper, interface de caracteres, a grande dificuldade encontrada, é o conceito de Eventos. Isso acaba muitas vezes fazendo o programador adiar a utilização da programação visual, interface gráfica.
    Sem querer, preencher esse espaço, mas tendo como objetivo, tentar ajudar quem está nesse momento de transição, caracteres para gráficos, vou tentar dar uma pequena pincelada nesse assunto.
     
    Eventos
    O que é um evento?
     
    “Um evento é uma ação específica que ocorre sobre ou com um determinado objeto. A ooHG (Lib Gráfica) pode responder a vários eventos: Clique do mouse, saída de algum objeto, abertura e fechamento de formulários e muitos outros. Os eventos geralmente são o resultado da ação do usuário.”
    Utilizando um procedimento ou uma função, você pode adicionar sua própria resposta personalizada a um evento que ocorra em um formulário, relatório ou controle.
    Como podemos concluir pela definição acima, um evento normalmente, é resultante da ação do usuário. Por exemplo, um clique do mouse, em um formulário gera um evento “ON CLICK”, mas existem, eventos que são disparados automaticamente por exemplo o evento “ON INIT” que é disparado quando um formulário é ativado. 
    A utilização de eventos em associação com funções ou procedimentos, nos oferece infinitas possibilidades.
     
    Bom vamos deixar de papo, que programador gosta é de programar:
     
    Vamos lá crie uma pasta chamada "evento" dentro da nossa pasta padrao de treinamento, veja como fazer, nos posts iniciais:
     
    Dentro da pasta, digite o seguinte PRG:
     
     
    *-----------------------------  Código Fonte--------------------*
    * -------------------------------------------------
    *    (c) By - Carlos Alberto Nunes Susviela
    *     
    http://www.powerinformatica.com.br
    * -------------------------------------------------
    * você pode usar livremente esse código para fins de estudos,
    * pode distribuir livremente o mesmo, usar em seu Blog ou
    * sua página, sobre qualquer assunto envolvento programação
    * xBase, desde que citada a origem do mesmo.
    *
    * ooHG....:
    http://www.oohg.org/
    * Origem..: http://oohg-br.spaces.live.com/blog
    * Autor...: Carlos Alberto Nunes Susviela
    * Tema....: Estudando um pouco de eventos
    *
    #include "oohg.ch"
    Declare window FrmPrincipal    // Visivel em todo o sistema
    Function Main
        Define Window frmPrincipal ;
               Title "Estudando Eventos " ;
               WIDTH 640 HEIGHT 480       ;            // Tamanho da Janela
               Main
     
               Define STATUSBAR
                  STATUSITEM "http://oohg-br.spaces.live.com/blog/" WIDTH   80
               End STATUSBAR
     
               *** Criando 2 botões para pegar o EVENTO CLICK dos mesmos
               @ 040,030 BUTTON btnMensagem ;
                  ACTION  btnMensagemClick() ;      // ao clicar no botao chama
                  WIDTH 80 HEIGHT 27 ;              // essa função - vai la ...
                  CAPTION "Mensagem"  ;
                  TOOLTIP 'Clique para ver a mensagem'

               @ 080,030 BUTTON btnSair  ;
                  ACTION  btnSairClick() ;
                  WIDTH 80 HEIGHT 27 ;
                  CAPTION "&Sair"    ;
                  TOOLTIP 'Clique aqui para sair do Programa'
     
        End Window
        frmPrincipal.center()
        frmPrincipal.Activate()       // Aqui é onde, Realmente inicia o programa
    Return

    * Função a ser disparada quando for clicado o botão btnMensagem
    *-----------------------------------------------------------------------------*
    Function btnMensagemClick()
    *-----------------------------------------------------------------------------*
         * pegando o titulo do botao pressionado
         local NomeBotao := frmPrincipal.btnMensagem.caption
     
         MsgInfo("Você clicou no botão: " + NomeBotao , "Titulo do aviso")
     
    Return Nil

    * Função a ser disparada quando for clicado o botão btnSair
    *-----------------------------------------------------------------------------*
    Function btnSairClick()
    *-----------------------------------------------------------------------------*
      if MsgYesNo("Deseja Sair do Sistema ?" , "Aviso...!" )

         FrmPrincipal.release                    // termina o formulario(libera)
      EndIf
     
    Return Nil
     
    *------------------------------ Fim do Código ------------------*
     
    eventos
     
     
    Você pode, e deve, fazer algumas alterações no programa acima, para ir pegando o domínio da sintaxe da nossa Lib - ooHG.
     
     
    Carlos Alberto Nunes Susviela
     
     
     
     
    11/25/2007

    Um "Olá Mundo", ainda melhor


    Incrementando o programa "Olá Mundo"


    Bom se você conseguiu compilar e rodar o seu primeiro programa, e se considera um programador, não importa o nível, deve esta com uma "cosquinha", querendo mais...

    Vamos brincar um pouco com o programa, implementando algumas alterações.

    Ao implementar essas mudanças, já vai perceber o poder da ooHG.

    ----------------- Codigo Fonte ---------------------
    * Primeiro Programa com Lib ooHG
    * Carlos Alberto Nunes Susviela
    * Origem: http://oohg-br.spaces.live.com/blog
    *
    * Implementando algumas alterações para conhecer
    * melhor a nossa Lib.
    *
    #include "oohg.ch"                       // Essa linha é obrigatória


    Declare window FrmPrincipal       // Visivel em todo o sistema

    Function Main

        Define Window frmPrincipal ;
               Title "Olá Mundo....! " ;
               Main  ;
               ON INIT InicializaAmbiente() ;     // ao iniciar o form vai na função
               ON Release FinalizaForm()  ;
               BACKCOLOR {254 , 255 , 221 }       // Cor fundo do Form

        * Vamos colocar uma barra de status no form principal
        * veja que recurso interessante ooHG nos oferece
        Define STATUSBAR
            STATUSITEM "http://oohg-br.spaces.live.com/blog/" WIDTH   80
            KEYBOARD
            DATE  WIDTH   80
            CLOCK WIDTH   80
        End STATUSBAR



        End Window

        FrmPrincipal.Maximize     // Maximiza o formulário
        frmPrincipal.Activate()

    Return


    * É interessante criar uma função para
    * inicializar o ambiente de programação
    Function InicializaAmbiente()
        HB_LANGSELECT("PT")
        SET DATE TO FREN
        SET CENT ON
        SET LANGUAGE TO PORTUGUESE      // oohg
        SET NAVIGATION EXTENDED         // Usa ENTER para troca de campos
    Return Nil

    * Ao clicar no botão X (Sair) vem nessa função
    * Aqui um ótimo local para fechar tabelas DBFs
    Function FinalizaForm()
               MsgInfo("Agora vou fechar todas as tabelas DBFs", "Aviso Encerramento")
    Return Nil

    ------------------------------------------------------


    Se você vem do Clipper / (x)Harbour console, deve sentir alguma dificuldade com EVENTOS. Prometo para breve uma introdução a Eventos com a programação gráfica.


    Até a próxima;


    Carlos Alberto Nunes Susviela
    www.PowerInformatica.com.br




    Tá gostei, e agora ???

    Gostei.  Onde encontro mais informações sobre a "Lib ooHG" ?


    Ai vão alguns links sobre ooHG.



    Copie/Downloads da Lib e dos fontes em:
        http://sourceforge.net/projects/oohg
        http://sourceforge.net/project/showfiles.php?group_id=144525


    PORTUGUÊS
        http://oohg-br.spaces.live.com/blog/
        http://www.oohg.org/pt/

    ESPANHOL
        http://www.oohg.org/


    INGLÊS
        http://www.oohg.org/english/


    GRUPO no www.yahoo.com
        http://es.groups.yahoo.com/group/oohg/




    Carlos Alberto Nunes Susviela
    www.PowerInformatica.com.br




    11/19/2007

    Primeiro programa com a Lib ooHG

    Vamos criar nosso primeiro programa com a Lib ooHG

    O já tradicional, "Olá Mundo"

    Estou considerando aqui que você tem conhecimentos de Clipper (xBase).


    Para isso vamos precisar apenas, do editor de textos de sua preferência.

    Eu particularmente gosto muito do Context, Free, e você pode pegar uma cópia em: http://www.context.cx/


    1) crie uma pasta para nosso primeiro programa;

           C:\oohgbr\ola


    2) Vamos criar o seguinte código fonte: ( ola.prg )

    ---- Código Fonte ------
    *  Primeiro Programa com Lib ooHG
    *  Carlos Alberto Nunes Susviela
    *  Origem: http://oohg-br.spaces.live.com/blog
    *
    #include "oohg.ch"

    Function Main

        Define Window frmPrincipal ;
               Title "Olá Mundo....! " ;
               Main
        End Window

        frmPrincipal.Activate()

    Return

    --------------------------


    3) Copie via Explorer ou via prompt de comando o arquivo COMPILE.BAT que esta na pasta c:\oohg\samples\ 

        c:\oohgbr\ola>Copy  \ooHG\samples\compile.bat

    Se você verificar o conteúdo da sua pasta devem existir 2 arquivos:

         ola.prg
         Compile.bat


    Agora digite:

        compile ola   

    Obs. Sem a extensão PRG

    Pronto;

    Se você digitou tudo certinho no programa acima, vai ser criado/executado o seu primeiro programa com a Lib ooHG.

    Simples assim.
    Ola_Mundo
    Bem vindo ao mundo dos formulários.

    Carlos Alberto Nunes Susviela

    11/18/2007

    Instalando o compilador e a LIB

    Instalando o compilador e a LIB

    Estou considerando o compilador Borland C++, Harbour e ooHG

    Observação: Procure não alterar os diretórios sugeridos para evitar erros, de compilação:


    1) Faça download do compilador C++ da Borland em: 

        http://www.caclipperwebsite.com/scgi-bin/topdownloads/download.pl?file=bcc55.zip

        opção-2: No site da Borland:
        http://www.borland.com/downloads ou http://www.codegear.com/downloads/free/cppbuilder

    2) Instale o Borland C++ 5.5 no diretório C:\BCC55

    Coloque na pasta c:\bcc55\lib os seguintes arquivos: bcc32.cfg

    1) Arquivo: bcc32.cfg  --- com o seguinte conteúdo:

           -I"c:\bcc55\include"
           -L"c:\bcc55\lib"

    2) Arquivo: ilink32.cfg  --- com o seguinte conteúdo:

           -L"c:\bcc55\lib"



    A partir daqui as opções dependem do Sistema Operacional em uso:

    Windows 98
        Inclua no AUTOEXEC.BAT o caminho para C:\BCC55\BIN na variável PATH.
        Abaixo da linha SET PATH, inclua a seguinte linha:

        SET PATH=%PATH%;C:\BCC55\BIN



        Inclua no AUTOEXEC.BAT, da mesma forma que no passo anterior, as seguintes linhas:

        SET LIB=%LIB%;C:\BCC55\LIB
        SET INCLUDE=%INCLUDE%;C:\BCC55\INCLUDE
        SET HG_BCC=c:\bcc55

    Windows XP
        Iniciar / Painel de controle / Sistema
        Escolher a Aba AVANÇADO
        Clicar VARIAVEIS DE AMBIENTE
        Na caixa VARIAVEIS DO SISTEMA, verificar:
        Se Existem as variáveis abaixo altere se não crie:

        PATH --> C:\BCC55\Bin
        INCLUDE --> C:\BCC55\INCLUDE
        LIB --> C:\BCC55\LIB
        HG_BCC --> c:\bcc55
       

    3) Instale o ooHG (Lib Gráfica para (x)harbour

        Copie a instalação de: http://sourceforge.net/projects/oohg
        Instale na pasta c:\oohg
       

    A partir desse ponto já estamos em condições de criarmos o nosso primeiro programa com a Lib ooHG.


    Carlos Alberto Nunes Susviela
    http://www.PowerInformatica.com.br




    11/9/2007

    Os sem compilador gráfico xBase.

    "Inauguração do Blog ooHG-BR"

    Os sem compilador gráfico xBase.

    Já que existem os "Sem Terra", "os sem tetos", estou aqui criando um novo movimento social "OS SEM COMPILADOR".

    Os programadores Clipper sempre buscam novidades, pois fomos esquecidos/excluídos (essa está na moda agora), pela criadora do compilador Clipper a CA.
    Bom essa primeira fase, já foi superada e já temos duas boas opções, para compilar nossos programas em Clipper (xBase) os compiladores Harbour, e xHarbour, ambos com interface de caracteres e 32 bits. Por falta de um, temos agora dois compiladores e bem melhor que o compilador 16 bits da CA, que funcionam vários sistemas operacionais, windows e linux por exemplo.

    Terminada a primeira fase, vamos para a segunda que é, a interface gráfica, os programas em "windows", digamos assim.

    Nossa busca agora é essa, nos acertarmos com uma interface gráfica, que com o surgimento dos compiladores 32 bits (x)harbour, pipocaram por toda a internet, e não são poucos, Visual xHarbour, FiveWin, Xailer, MiniGui, HWGui, ooHG, isso só para citar algumas das opções, que beleza, que democracia, que variedade de opções, em fim estamos felizes.

    Sempre fui um incentivador das novas opções, visto que fui um dos primeiros a criar um site com informações sobre MiniGui, do Roberto, isso lá em 2002, veja no endereço: http://www.susviela.hpg.ig.com.br/hb/

    Eu já testei várias dessas opções e atualmente estou desenvolvendo aplicativos com ooHG, uma Lib gráfica para (x)Harbour, me pareceu uma boa opção, e pretendo nesse espaço colocar algumas dicas para ajudar, futuros usuários dessa LIB.

    Este será mais um espaço em português sobre ooHG.

    Está inaugurado o BLOG ooHG-BR.

    Site para informações sobre ooHG: http://www.oohg.org/pt/

    ---------------------------------------------------------------

    07/11/2007 - Sant´Ana do Livamento - RS - Brasil
    Carlos Alberto Nunes Susviela