Como usar das DLL´s com xharbour
Moderador: Moderadores
-
luizservulo
- Usuário Nível 1

- Mensagens: 43
- Registrado em: 02 Jan 2007 18:59
- Localização: Diadema/SP
Como usar das DLL´s com xharbour
Minha eterna dúvida...
qual a formula para se usar as funções das mais variadas DLL´s existentes???
Alguem com paciência para descrever?
Gradecido de antemão
:{
qual a formula para se usar as funções das mais variadas DLL´s existentes???
Alguem com paciência para descrever?
Gradecido de antemão
:{
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
No XP, compile e execute:
Onde:
"WINMM.DLL": é a DLL, em path acessível.
32: não sei, deve ser de 32 bits, mas o importante é saber que é fixo.
"sndPlaySoundA" : nome da função
"Inicialização do Windows XP.wav": parametro 1
0: parametro 2
etc etc
Espero que ajude, é bem simples, testado e aprovado com aBemaFI32.dll da bematech, apesar de que neste caso comunicação direta é melhor.
Falou!
Código: Selecionar todos
procedure main()
DLLCall("WINMM.DLL",32,"sndPlaySoundA", "Inicialização do Windows XP.wav", 0 )
return"WINMM.DLL": é a DLL, em path acessível.
32: não sei, deve ser de 32 bits, mas o importante é saber que é fixo.
"sndPlaySoundA" : nome da função
"Inicialização do Windows XP.wav": parametro 1
0: parametro 2
etc etc
Espero que ajude, é bem simples, testado e aprovado com aBemaFI32.dll da bematech, apesar de que neste caso comunicação direta é melhor.
Falou!
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
-
luizservulo
- Usuário Nível 1

- Mensagens: 43
- Registrado em: 02 Jan 2007 18:59
- Localização: Diadema/SP
gradecido irmãozinho Stanis pela sua prestimosa ajuda, vamos lembrar que ela só funciona no xHarbou 0.99.70Stanis Luksys escreveu:No XP, compile e execute:
Onde:Código: Selecionar todos
procedure main() DLLCall("WINMM.DLL",32,"sndPlaySoundA", "Inicialização do Windows XP.wav", 0 ) return
"WINMM.DLL": é a DLL, em path acessível.
32: não sei, deve ser de 32 bits, mas o importante é saber que é fixo.
"sndPlaySoundA" : nome da função
"Inicialização do Windows XP.wav": parametro 1
0: parametro 2
etc etc
Espero que ajude, é bem simples, testado e aprovado com aBemaFI32.dll da bematech, apesar de que neste caso comunicação direta é melhor.
Falou!
Mais funciona que é uma beleza.
Agora aproveitando da sua dica, acessar a Impressora Fiscal diretamente, você teria um exemplo disso?
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
-
MARINI
- Usuário Nível 3

- Mensagens: 288
- Registrado em: 06 Jul 2004 08:06
- Localização: Pindamonhangaba SP
Código: Selecionar todos
procedure main()
DLLCall("WINMM.DLL",32,"sndPlaySoundA", "Inicialização do Windows XP.wav", 0 )
returnPoderia, por gentileza, informar onde posso encontrar um manual do xharbour com estas funções?
Grato
Sds
Marini
Marini
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Tche, o xharbour não tem manual...é tudo no braço mesmo...baixa a CVS e localize essa Função e tente entender....qualquer coisa faça uns teste ai... e posta aqui...que vamos dando um jeito..MARINI escreveu:Era isto que estava procurando.Código: Selecionar todos
procedure main() DLLCall("WINMM.DLL",32,"sndPlaySoundA", "Inicialização do Windows XP.wav", 0 ) return
Poderia, por gentileza, informar onde posso encontrar um manual do xharbour com estas funções?
Grato
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
MARINI
- Usuário Nível 3

- Mensagens: 288
- Registrado em: 06 Jul 2004 08:06
- Localização: Pindamonhangaba SP
xHarbour Guide
Achamos o manual para vender no link:
http://www.xharbour.com/xhdn/referenceguide/
Custa U$ 58.00 e pagamento com cartao.
Vem em PDF ou CHM.
Baixamos e tem tudo.
http://www.xharbour.com/xhdn/referenceguide/
Custa U$ 58.00 e pagamento com cartao.
Vem em PDF ou CHM.
Baixamos e tem tudo.
Sds
Marini
Marini
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Olá,luizservulo escreveu:Agora aproveitando da sua dica, acessar a Impressora Fiscal diretamente, você teria um exemplo disso?
EXEMPLO DE LEITURA X POR COMUNICAÇÃO DIRETA:
Código: Selecionar todos
if MODELO_ECF = "SWEDA"
cCmd := chr(27)+".17}"
elseif MODELO_ECF = "BEMATECH"
cCmd := chr(2)+chr(4)+chr(0)+chr(27)+chr(14)+chr(41)+chr(0)
elseif MODELO_ECF = "DARUMA"
// etc etc
endif
nHandle := Init_Port( "COM1", 9600, 8, 0, 1, 256 )
if ! OutChr( nHandle, cCmd, Len( cCmd ) )
? "Erro ao enviar comando."
endif
UnInt_Port( nHandle )
Falou!
.
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
-
MARINI
- Usuário Nível 3

- Mensagens: 288
- Registrado em: 06 Jul 2004 08:06
- Localização: Pindamonhangaba SP
Até agora achei tudo que queria, inclusive o DLLCALL(), com exemplos.sygecom escreveu:e esse manual é completo...e vale para o xharbour free tb. ?
alias vale a pena comprar esse manual ? eu tenho aqui um .CHM do demo comercial e não fala nd sobre o uso de DLL...
Abraços
Leonardo Machado
E tem muitas coisas interessantes.
Estou usando a xHarbour source...
Sds
Marini
Marini
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Tche, vlw pelas explicação...muito boa essa CHM.....e seria melhor ainda se fosse free...MARINI escreveu:Até agora achei tudo que queria, inclusive o DLLCALL(), com exemplos.sygecom escreveu:e esse manual é completo...e vale para o xharbour free tb. ?
alias vale a pena comprar esse manual ? eu tenho aqui um .CHM do demo comercial e não fala nd sobre o uso de DLL...
Abraços
Leonardo Machado
E tem muitas coisas interessantes.
Estou usando a xHarbour source...
Só para completar na CVS vem junto uma Documentação...meia fraca...mas tira algumas duvidas...
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
MARINI
- Usuário Nível 3

- Mensagens: 288
- Registrado em: 06 Jul 2004 08:06
- Localização: Pindamonhangaba SP
[quote="Stanis Luksys
EXEMPLO DE LEITURA X POR COMUNICAÇÃO DIRETA:
A propósito foi consultar no manual as funções Init_Port, OutChr e UnInt_port e não consta nada.
Tentei compilar o exemplo acima e acusa que não achou as funções.
Você acrescentou alguma LIB?
EXEMPLO DE LEITURA X POR COMUNICAÇÃO DIRETA:
Código: Selecionar todos
if MODELO_ECF = "SWEDA"
cCmd := chr(27)+".17}"
elseif MODELO_ECF = "BEMATECH"
cCmd := chr(2)+chr(4)+chr(0)+chr(27)+chr(14)+chr(41)+chr(0)
elseif MODELO_ECF = "DARUMA"
// etc etc
endif
nHandle := Init_Port( "COM1", 9600, 8, 0, 1, 256 )
if ! OutChr( nHandle, cCmd, Len( cCmd ) )
? "Erro ao enviar comando."
endif
UnInt_Port( nHandle )
Tentei compilar o exemplo acima e acusa que não achou as funções.
Você acrescentou alguma LIB?
Sds
Marini
Marini
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Olá Marini,
A biblioteca padrão do xHarbour para comunicação serial é a HBComm.lib.
Acrescente ela no seu script de compilação e já deve funcionar.
No caso do exemplo acima, é impressionante a velocidade e acima de tudo a simplicidade da programação, com um pouco de calma é só criar as funções e jogar tudo numa lib propria, como eu fiz aqui (até pensei em vender lol )...
Eu uso mais ou menos assim:
ECF_LeituraX( modelo )
ECF_AbrirCupom( modelo )
etc...
Atualmente com suporte para Daruma, Bema e Sweda...
Não se compara com o uso de DLL ou driver... hehehe
Quanto a documentação, é bem verdade que falta muito, e é por isso que não recomendo livros ou manuais, por que no xhabnour em sí a gente se vira legal... O poder está nas novas bibliotecas, gráficas por exemplo ou até de comunicação como a hbcomm...
Falou... E não use DLLs para ECF
)
A biblioteca padrão do xHarbour para comunicação serial é a HBComm.lib.
Acrescente ela no seu script de compilação e já deve funcionar.
No caso do exemplo acima, é impressionante a velocidade e acima de tudo a simplicidade da programação, com um pouco de calma é só criar as funções e jogar tudo numa lib propria, como eu fiz aqui (até pensei em vender lol )...
Eu uso mais ou menos assim:
ECF_LeituraX( modelo )
ECF_AbrirCupom( modelo )
etc...
Atualmente com suporte para Daruma, Bema e Sweda...
Não se compara com o uso de DLL ou driver... hehehe
Quanto a documentação, é bem verdade que falta muito, e é por isso que não recomendo livros ou manuais, por que no xhabnour em sí a gente se vira legal... O poder está nas novas bibliotecas, gráficas por exemplo ou até de comunicação como a hbcomm...
Falou... E não use DLLs para ECF
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.