Clipper On Line • Ver Tópico - Teste do dia

Teste do dia

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Teste do dia

Mensagempor JoséQuintas » 03 Jul 2017 15:41

Só testei e funcionou.
Acho que os nomes no fonte dizem tudo.

#include "hbdyn.ch"
#include "hbclass.ch"
#require "hbwin.hbc"

PROCEDURE Main

   ControlPanel():Panel()
   ControlPanel():AddRemove()
   ControlPanel():NetworkConn()
   ControlPanel():Power()
   ControlPanel():Regional()
   ControlPanel():SafetyRemove()
   ControlPanel():SoundProperties()
   ControlPanel():SystemProperties()
   ControlPanel():SystemPropertiesAdvanced()
   ControlPanel():SystemRemote()
   ControlPanel():SystemComputerName()
   ControlPanel():SystemHardware()
   ControlPanel():WindowsSecurityCenter()
   ControlPanel():WindowsFirewall()

   Inkey(10)

   RETURN

CREATE CLASS ControlPanel
   METHOD Run( m, d, a )             INLINE hb_DynCall( { m, d, HB_DYN_CALLCONV_STDCALL }, 0, 0, a, WIN_SW_NORMAL )
   METHOD ControlRunDll( cApp )      INLINE ::Run( "Control_RunDLL", "shell32.dll", cApp )
   METHOD Panel()                    INLINE ::ControlRunDll( "" )
   METHOD SysDM()                    INLINE ::ControlRunDll( "sysdm.cpl" )
   METHOD AddRemove()                INLINE ::ControlRunDll( "appwiz.cpl" )
   METHOD NetworkConn()              INLINE ::ControlRunDll( "ncpa.cpl" )
   METHOD Power()                    INLINE ::ControlRunDll( "powercfg.cpl" )
   METHOD Regional()                 INLINE ::ControlRunDll( "intl.cpl,,0")
   METHOD SafetyRemove()             INLINE ::ControlRunDll( "HotPlug.dll" )
   METHOD SoundProperties()          INLINE ::ControlRunDll( "Mmsys.cpl,,0" )
   METHOD SystemProperties()         INLINE ::ControlRunDll( "Sysdm.cpl,,3" )
   METHOD SystemPropertiesAdvanced() INLINE ::ControlRunDll( "Sysdm.cpl,,4")
   METHOD SystemRemote()             INLINE ::ControlRunDll( "sysdm.cpl,,5" )
   METHOD SystemComputerName()       INLINE ::ControlRunDll( "Sysdm.cpl,,1" )
   METHOD SystemHardware()           INLINE ::ControlRunDll( "Sysdm.cpl,,2" )
   METHOD WindowsSecurityCenter()    INLINE ::ControlRunDll( "wscui.cpl" )
   METHOD WindowsFirewall()          INLINE ::ControlRunDll( "firewall.cpl" )

   END CLASS
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 17942
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Teste do dia

Mensagempor alxsts » 03 Jul 2017 16:23

Olá!

Interessante mesmo. O exemplo compilou e linkeditou. Na hora da execução deu RTE acusando a falta da variável "WIN_SW_NORMAL". Falta algum include ou parâmetro de compilação? Ou o nome da constante está incorreto.

Capturar.JPG

Se me permite, sugiro que altere o título do tópico para um que reflita o assunto do mesmo.
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2930
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Teste do dia

Mensagempor JoséQuintas » 03 Jul 2017 16:58

coloquei #require "hbwin.hbc" mas não fez efeito, é ela que precisa: hbwin.hbc pra já acrescentar o CH

Testei mais alguns arquivos CPL da pasta

cpanel.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 17942
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Teste do dia

Mensagempor JoséQuintas » 03 Jul 2017 17:13

Aproveitando....

Compile usando -w3 -es2
Já teria o aviso na própria compilação de estar faltando isso.
Essa é uma das vantagens de compilar usando -w3 -es2
Não tem surpresas em run-time.

d:\temp>hbmk2 test
hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
Harbour 3.4.0dev (f8911388ba) (2017-06-04 18:03)
Copyright (c) 1999-2017, https://github.com/vszakats/harbour-core/
Compiling 'test.prg'...
500
test.prg:16: warning W0001 Ambiguous reference 'WIN_SW_NORMAL'

No code generated.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 17942
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Teste do dia

Mensagempor JoséQuintas » 03 Jul 2017 17:34

Pensei até que tinha errado.

d:\cdrom\FONTES\INTEGRA>hbmk2 *.hbp -m -n
hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
hbmk2: Triggered by #require directive: hbhpdf.hbc
hbmk2: Triggered by #require directive: hbzebra.hbc
hbmk2: Triggered by #require directive: hbziparc.hbc
hbmk2: Triggered by #require directive: hbnetio.hbc
hbmk2: Triggered by #require directive: hbwin.hbc
hbmk2: Triggered by #require directive: hbtip.hbc


Agora fiquei sem entender o funcionamento de #require
Isso dá a impressão de que adicionaria automático.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 17942
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Teste do dia

Mensagempor alxsts » 03 Jul 2017 18:15

Olá!

Desculpe mas não entendi o que queres dizer... Continua sem funcionar aqui...
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2930
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Teste do dia

Mensagempor Toledo » 03 Jul 2017 18:55

alxsts escreveu:acusando a falta da variável "WIN_SW_NORMAL".

Alexandre, esta variável não existe no Harbour 32, então troque esta variável por 1 ou crie ela:

#define WIN_SW_NORMAL     1


Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Teste do dia

Mensagempor JoséQuintas » 03 Jul 2017 19:21

Nem lembrava disso, no Harbour 3.4 o Viktor procurou deixar as variáveis do Windows como WIN_
No 3.2 deve ter algum equivalente, talvez procurando SW_NORMAL nos arquivos CH.
Também tinha na GTWVG mas não lembro se está como WIN_ ou outra coisa.

Aqui no Harbour 3.4 basta colocar HBWIN.HBC, e a variável está em hbwin.ch caso fosse #include

hbmk2 test hbwin.hbc
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 17942
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Teste do dia

Mensagempor alxsts » 03 Jul 2017 20:36

Olá!

Obrigado!

Agora funcionou!

WindowsControlPanel
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2930
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Teste do dia

Mensagempor alxsts » 03 Jul 2017 21:44

Olá!

Duas coisas que me chamaram a atenção neste código: a classe ControlPanel não tem o método construtor e na Main() foi chamada diretamente. O normal que conheço é criar uma instância e usar...
PROCEDURE Main

   LOCAL oWcp := ControlPanel():New()

   oWcp:Panel()
   oWcp:AddRemove()
   oWcp:NetworkConn()
   oWcp:Power()
   oWcp:Regional()
   oWcp:SafetyRemove()
   oWcp:SoundProperties()
   oWcp:SystemProperties()
   oWcp:SystemPropertiesAdvanced()
   oWcp:SystemRemote()
   oWcp:SystemComputerName()
   oWcp:SystemHardware()
   oWcp:WindowsSecurityCenter()
   oWcp:WindowsFirewall()

   Inkey(10)

   RETURN
Não sabia que isto é possível.
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2930
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Teste do dia

Mensagempor JoséQuintas » 03 Jul 2017 22:10

Essa opção é interessante pra economizar variável e fonte.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 17942
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro