DIFICIL APRENDIZADO - Aula 07

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

DIFICIL APRENDIZADO - Aula 07

Mensagem por rochinha »

Amiguinhos

Até agora, provavelmente vocês estão se perguntando, "Quando vou manipular dados?".

Nesta aula iremos acrescentar às nossas MDI Child manipulação de dados, criando para isto um browse e conhecendo alguns de seus atributos para deixar o visual mais atraente.

Sera acrescentado mais um botão, os botões serão agrupados para dar maior definição e estes botões irão acionar duas janelas, sendo uma com browse e outra contendo barra de botões e browse.

O resultado deverã ser igual ao da figura abaixo:

Imagem
Figura 07

Digite o código abaixo em um arquivo e de-lhe o nome de AULA07.PRG e compiLe utilizando o BUILD.BAT:

C:\>BUILD AULA07

Código: Selecionar todos

#include "fivewin.ch"

function main()
   local oWnd
   DEFINE WINDOW oWnd TITLE "Janela principal" ;
          FROM 5, 5 TO 24, 64 ;
          MENU Menu() ;
          MDI
   DEFINE BUTTONBAR oBar OF oWnd
   DEFINE BUTTON OF oBar FILE "exit.bmp" ;
          ACTION oWnd:end() ;
          MESSAGE "Fecha este aplicativo..." ;
          TOOLTIP "Fecha este aplicativo."
   DEFINE BUTTON OF oBar GROUP FILE "Open.bmp" ;
          ACTION MDIChild() ;
          MESSAGE "Abre um browse normal..." ;
          TOOLTIP "Abre um browse normal."
   DEFINE BUTTON OF oBar FILE "cut.bmp" ;
          ACTION MDIChild2() ;
          MESSAGE "Abre um browse com botões..." ;
          TOOLTIP "Abre um browse com botões."
   SET MESSAGE OF oWnd TO "Forum Clipper-On-Line" KEYBOARD DATE CLOCK
   ACTIVATE WINDOW oWnd
   return nil

FUNCTION Menu()
   local oMenu, oMenu1, oMenu2
   local oSub1,oSub2,oSub3
   MENU oMenu
      MENUITEM oMenu1 PROMPT "Opcao &1"
         MENU
            MENUITEM "&Clientes"
               MENU
                  MENUITEM "Incluir"   ACTION MDIChild()
                  MENUITEM "Excluir"   ACTION MDIChild()
                  SEPARATOR
                  MENUITEM "Consultar" ACTION MDIChild()
               ENDMENU
            MENUITEM "&Fornecedores"
               MENU
                  MENUITEM "Incluir"   ACTION MDIChild2()
                  MENUITEM "Excluir"   ACTION MDIChild2()
                  SEPARATOR
                  MENUITEM "Consultar" ACTION MDIChild2()
               ENDMENU
         ENDMENU
      MENUITEM oMenu2 PROMPT "Opcao &2" DISABLED
         MENU
            MENUITEM "Item 1" DISABLED ACTION MDIChild()
            MENUITEM "Item 2" DISABLED ACTION MDIChild()
         ENDMENU
   ENDMENU
   return oMenu

function MDIChild()
   local oWnd1, oBrw
   USE AULA07 NEW SHARED
   DEFINE WINDOW oWnd1 TITLE "Janela Normal" MDICHILD ;
                 FROM 1, 1 TO 10, 30
   @ 0,0 LISTBOX oBrw FIELDS OF oWnd1 SIZE 225,115
   ACTIVATE WINDOW oWnd1
   return nil

function MDIChild2()
   local oWnd1, oBrw
   USE AULA07 NEW SHARED ALIAS AULA072
   DEFINE WINDOW oWnd1 TITLE "Janela MDI" MDICHILD ;
                 FROM 1, 1 TO 10, 30
   DEFINE BUTTONBAR oBar1 OF oWnd1
   DEFINE BUTTON OF oBar1 FILE "exit.bmp" ;
          ACTION MsgInfo( "Coloque uma chamada a uma rotina" ) ;
          MESSAGE "Coloque aqui uma mensagem..." ;
          TOOLTIP "Sou uma dica rapida para este controle."
   DEFINE BUTTON OF oBar1 FILE "Open.bmp" ;
          ACTION MsgInfo( "Coloque uma chamada a uma rotina" ) ;
          MESSAGE "Coloque aqui uma mensagem..." ;
          TOOLTIP "Sou uma dica rapida para este controle."
   @ 2,0 LISTBOX oBrw FIELDS OF oWnd1 SIZE 230,90
   ACTIVATE WINDOW oWnd1
   return nil
Serão necessários também os DBFs apresentados abaixo:

aula07.dbf.zip (renomeie para aula07.dbf)

O resultado ficará assim:

Imagem
Figura 07a

Veja que existe um espaço entre os botões que foi feito via parâmetro GROUP em um dos DEFINE BUTTON da barra de botões
Até a próxima.
Paulo Garcia
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 28 Jul 2014 13:11
Localização: São Paulo / SP

DIFICIL APRENDIZADO - Aula 07

Mensagem por Paulo Garcia »

Caro colega que postou esse treinamento inicial,

Desde já agradeço pois estou seguindo cada um deles, utilizando o ambiente de desenvolvimento em fivewin, disponibilizado por você.

Depois de alguns anos estou retomando meus trabalhos em clipper, algo que me agrada profundamente.

Porem com a evolução ocorrida fiquei um pouco defasado e por isso resolvi seguir seus posts.

Percebi na aula sete que o link para o arquivo dbf esta quebrado, bem como os links para os ícones em bmp.

Para efeito de exercícios criei uma tabela e baixei outros ícones, mas ao criar o programa, ao executa-lo ocorre o erro:

Erro BASE/1081 Argument error: + from Errorsys, Line:0

Pode me indicar qual o problema e como resolve-lo. Pensei que fosse a tabela dbf, mas mesmo sem chamar a função listbox o erro ocorre.

Aguardo seu retorno.

abs,

Paulo GArcia
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

DIFICIL APRENDIZADO - Aula 07

Mensagem por Kapiaba »

Olá, cole e copie o exemplo do Rochinha, para a pasta \samples do seu FWH e salve como AULA07.PRG e copie qualquer .dbf do \samples, para: AULA07.DBF, digite: BULDX AULA07

Funciona de maravilha, vai abrir a janela principal e no segundo e terceiro botão, abre uma MdiChield, com uma browse() de AULA07.DBF

É isso, abraços.
Paulo Garcia
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 28 Jul 2014 13:11
Localização: São Paulo / SP

DIFICIL APRENDIZADO - Aula 07

Mensagem por Paulo Garcia »

Colega!

Agradeço muito o retorno!

Vou testar e r4etorno.

abs,


Paulo Garcia
Responder