Clipper On Line • Ver Tópico - Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

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

Moderador: Moderadores

 

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor JoséQuintas » 16 Abr 2016 20:44

Ele foi alterado.

Dica:

O endereço do Harbour 3.4 no github é este:

https://github.com/vszakats/harbour-core

descendo a página inicial, vai chegar neste trecho:

Harbour unstable binaries (updated after each commit)

Windows (mingw, 32-bit, 7-zip archive and installer combined)
•https://github.com/vszakats/harbour-core/releases/download/v3.4.0dev/harbour-daily-win.7z.exe
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: 18153
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor janio » 04 Jun 2016 21:19

Ha algum link para baixar o HARBOUR 3.4 ja COMPILADO?

O informado no inicio deste topico nao esta funcionando!

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor JoséQuintas » 05 Jun 2016 01:24

E esse do meu post que acabou de responder?
É exatamente o endereço dele no github.
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: 18153
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor janio » 05 Jun 2016 09:05

O do seu link não é a versão JÁ COMPILADA! Eh?

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor JoséQuintas » 05 Jun 2016 10:20

BINARIES significa o Harbour pronto para uso.

Mostrei como se chega nesse link, através da página de fontes.
Assim não importa se for alterado, lá vai estar sempre o link atualizado.
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: 18153
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor asimoes » 05 Jun 2016 11:11

Baixando o harbour compilado pelo harbour

#include "hbthread.ch" 
#include "inkey.ch"

FUNCTION MAIN
LOCAL cFileAttr, nFileSize, dCreateDate, nCreateTime, dChangeDate, nChangeTime
   SetCursor(0)
   nSeconds :=Seconds()
   cUrl     :="https://github.com/vszakats/harbour-core/releases/download/v3.4.0dev/harbour-daily-win.7z.exe"
   cFile    :="harbour-daily-win.7z.exe"
   ferase(cFile)
   
   hb_ThreadStart( HB_BITOR( HB_THREAD_INHERIT_PUBLIC, HB_THREAD_INHERIT_PRIVATE, HB_THREAD_INHERIT_MEMVARS ), @Download(), cUrl, cFile)
   
   nFileSize:=0
   Do While nFileSize = 0
      @ 10,00 SAY "Baixando (&cFile.)"
      @ 11,00 SAY "Aguarde "+SecToTime(Seconds()-nSeconds)
      FileStats( cFile,  @cFileAttr  , @nFileSize  , ;
                         @dCreateDate, @nCreateTime, ;
                         @dChangeDate, @nChangeTime  )
   
   Enddo
   @ 12,00 SAY AllTrim(StrTran(Transform(nFileSize, "@ 999,999,999,999"), ",", "."))+" bytes"
   Inkey(0)

RETURN Nil

FUNCTION DOWNLOAD(cUrl, cFile)

   oOle := Win_OleCreateObject( "WinHttp.WinHttpRequest.5.1" )
   oOle:Open( 'GET', cUrl, .F. )
   oOle:Send()
   hb_MemoWrit(cFile, oOle:ResponseBody)
RETURN Nil

INIT FUNCTION AppSetup()
 
  ANNOUNCE hwg_ErrSys
 
  REQUEST HB_LANG_PT
  REQUEST HB_CODEPAGE_PT850
  REQUEST HB_CODEPAGE_PTISO
  HB_LANGSELECT("PT")
  HB_CDPSELECT( "PT850" )

  REQUEST DBFNTX
 
  REQUEST DBFCDX
 
  RddSetDefault("DBFCDX")
 
  SET TYPEAHEAD TO 0
  SET INTENSITY ON
  SET SCOREBOARD OFF
  SET DELETED ON
  SET SAFETY OFF
  SET DATE ANSI
  SET ESCAPE ON
  SET DATE FORMAT "DD/MM/YY"
  SET DELIMITERS TO
  SET EXCLUSIVE OFF
  SET WRAP ON
  SET EPOCH TO 1920
  SET OPTIMIZE ON
  SET AUTOPEN ON //OFF
  SET MESSAGE TO 24 CENTER
 
  Set( _SET_EVENTMASK, INKEY_ALL - INKEY_MOVE )
 
  hb_gtReload( "WVT" )
 
  SetMode(26, 80)

  SetColor("W+/B")
 
  CLS

  IniciaJanela()


RETURN Nil   

FUNCTION IniciaJanela()

   cTituloJanela:="Baixar Harbour"
   
   HB_gtInfo(HB_GTI_FONTNAME, "Lucida Console")
   HB_gtInfo(HB_GTI_WINTITLE, cTituloJanela)
   HB_gtInfo(HB_GTI_ICONFILE, "P:\GERAL\HARBOUR\HARB_WIN.ICO" )
   HB_gtInfo(HB_GTI_CLOSABLE, .F. )
   HB_gtInfo(HB_GTI_ISGRAPHIC, .T. )
   HB_gtInfo(HB_GTI_STDERRCON, .T. )
   HB_gtInfo(HB_GTI_COMPATBUFFER, .T. )
   HB_gtInfo(HB_GTI_SPEC, HB_GTS_WNDSTATE, HB_GTS_WS_MAXIMIZED )
   HB_gtInfo(HB_GTI_SPEC, HB_GTS_SHOWWINDOW, SW_NORMAL )
   HB_GtInfo( HB_GTI_MAXIMIZED, .T. )
   
RETURN Nil

FUNCTION HB_GTSYS()
   REQUEST HB_GT_WVT_DEFAULT
   REQUEST HB_GT_WVG
   REQUEST HB_GT_WGU
   REQUEST HB_GT_WVT
RETURN Nil 

Anexos
h-BaixarHarbour.zip
Baixar Harbour Compilado
exemplo compilado com fonte
(582.46 KiB) Baixado 193 vezes
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor janio » 05 Jun 2016 12:02

Valeu aSimoes,

Era exatamente o que eu estava precisando!
:{

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor asimoes » 05 Jun 2016 12:39

Uma atualização da função download

FUNCTION DOWNLOAD(cUrl, cFile)
LOCAL oOle
   oOle := Win_OleCreateObject( "WinHttp.WinHttpRequest.5.1" )
   oOle:SetTimeouts(0, 60000, 30000, 120000)
   oOle:Open( 'GET', cUrl, .F. )
   oOle:Send()
   oOle:WaitForResponse(500)
   hb_MemoWrit(cFile, oOle:ResponseBody)
RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor asimoes » 05 Jun 2016 13:21

Se houver problema para baixar em uma rede corporativa, que é o meu caso, uso o setproxy

hb_ThreadStart( HB_BITOR( HB_THREAD_INHERIT_PUBLIC, HB_THREAD_INHERIT_PRIVATE, HB_THREAD_INHERIT_MEMVARS ), @Download(), cUrl, cFile, "proxy:8080")
FUNCTION DOWNLOAD(cUrl, cFile, cProxy)
LOCAL oOle
   hb_Default(@cProxy, "")
   oOle := Win_OleCreateObject( "WinHttp.WinHttpRequest.5.1" )
   oOle:SetTimeouts(0, 60000, 30000, 120000)
   If !Empty(cProxy)
      oOle:SetProxy(2, cProxy)
   Endif
   oOle:Open( 'GET', cUrl, .F. )
   oOle:Send()
   oOle:WaitForResponse(-1)
   hb_MemoWrit(cFile, oOle:ResponseBody)
RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor asimoes » 07 Jun 2016 20:08

Uma nova versão com controle do término com hb_ThreadWait
FUNCTION MAIN
LOCAL cFileAttr, nFileSize, dCreateDate, nCreateTime, dChangeDate, nChangeTime, lExit, nSeconds
   SetCursor(0)
   lExit    :=.F.
   cUrl     :="https://github.com/vszakats/harbour-core/releases/download/v3.4.0dev/harbour-daily-win.7z.exe"
   cFile    :="harbour-daily-win.7z.exe"
   nSeconds :=Seconds()
   ferase(cFile)
   nThreadId:=hb_ThreadStart( HB_BITOR( HB_THREAD_INHERIT_PUBLIC, HB_THREAD_INHERIT_PRIVATE, HB_THREAD_INHERIT_MEMVARS ), @Download(), cUrl, cFile)
   Do While !lExit
      if hb_ThreadWait( nThreadId, 0.1, .T. ) == 1
         lExit:=.T.
      Endif
      @ 10,00 say SecToTime(Seconds()-nSeconds) 
      SysWait(1)
   Enddo   
   FileStats( cFile,     @cFileAttr  , @nFileSize  , ;
                         @dCreateDate, @nCreateTime, ;
                         @dChangeDate, @nChangeTime  )   
   @ 12,00 SAY AllTrim(StrTran(Transform(nFileSize, "@ 999,999,999,999"), ",", "."))+" bytes"
   Inkey(0)                         
RETURN Nil

FUNCTION SysWait(nWait)
LOCAL iTime:=Seconds()
   hb_Default(@nWait, 1)
   DO WHILE Seconds() - iTime < nWait
      hwg_DoEvents()
   ENDDO
RETURN Nil         
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor JoséQuintas » 07 Jun 2016 22:39

ASimões, essa rotina funciona no Harbour 3.2, ou a pessoa vai ter que baixar o 3.4 primeiro pra poder compilar e obter o 3.4? ... rs

Talvez seja melhor detalhar:

Abrir o link do Harbour 3.4

https://github.com/vszakats/harbour-core

harbour1.png


Desça um pouco a página até o índice, vai encontrar "HOW TO GET", que signfica "como obter:

harbour2.png


Clique nesse "how to get"

harbour3.png


Bom, não é o Harbour 3.0, então descer um pouquinho.

harbour4.png


Pronto, o link vai estar sempre aí.

Nota: preciso descobrir como se faz isso, de colocar o EXE no próprio GIT, sem controle de versão do EXE.
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: 18153
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor asimoes » 08 Jun 2016 07:30

Quintas,

Todos os exemplos que eu tenho postado aqui estou usando o harbour 3.4, porque tudo que acontece na 3.2 o Viktor incorpora na 3.4 ao contrário acredito que não, acho que com raríssimas ocasiões.

Este é um exemplo que pode ser usado para baixar qualquer arquivo, o ideal é o endereço seja estático.

Já testei com http://hmgextended.com/files/CONTRIB/hmg1605-mingw.exe para baixar a minigui extended, mas como eu disse é uma função de download em tese serve para baixar qualquer arquivo de um endereço válido.

Até um arquivo da página do PC-TOLEDO

cUrl :='http://www.pctoledo.com.br/forum/filebase.php?d=1&id=237&f=237&what=c&c_old=0&page=1'
cFile:='xDevStudio-0.70.exe'

Quintas,

Pré-requisito é ter o habour instalado.

O usuário do harbour pode até em um primeiro momento baixar a versão compilada do guit e depois usar este exemplo para uso genérico
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor asimoes » 08 Jun 2016 07:37

Que mancada, faltou a função Download.
#include "hbthread.ch" 
#include "inkey.ch"

FUNCTION MAIN
MEMVAR cArq
LOCAL cFileAttr, nFileSize, dCreateDate, nCreateTime, dChangeDate, nChangeTime, lExit, nSeconds
PUBLIC cArq:=""
   SetCursor(0)
   lExit    :=.F.
   cUrl     :="https://github.com/vszakats/harbour-core/releases/download/v3.4.0dev/harbour-daily-win.7z.exe"
   cFile    :="harbour-daily-win.7z.exe"
   nSeconds :=Seconds()
   ferase(cFile)
   nThreadId:=hb_ThreadStart( HB_BITOR( HB_THREAD_INHERIT_PUBLIC, HB_THREAD_INHERIT_PRIVATE, HB_THREAD_INHERIT_MEMVARS ), @Download(), cUrl, cFile)
   Do While !lExit
      if hb_ThreadWait( nThreadId, 0.1, .T. ) == 1
         lExit:=.T.
      Endif
      @ 10,00 say SecToTime(Seconds()-nSeconds) 
      @ 11,00 say cArq
      SysWait(1)
   Enddo   
   FileStats( cFile,     @cFileAttr  , @nFileSize  , ;
                         @dCreateDate, @nCreateTime, ;
                         @dChangeDate, @nChangeTime  )   
   @ 12,00 SAY AllTrim(StrTran(Transform(nFileSize, "@ 999,999,999,999"), ",", "."))+" bytes"
   Inkey(0)                         
RETURN Nil

FUNCTION SysWait(nWait)
LOCAL iTime:=Seconds()
   hb_Default(@nWait, 1)
   DO WHILE Seconds() - iTime < nWait
      hwg_DoEvents()
   ENDDO
RETURN Nil           

FUNCTION DOWNLOAD(cUrl, cFile, cProxy)
LOCAL oOle
#define HTTPREQUEST_PROXYSETTING_DEFAULT    0
#define HTTPREQUEST_PROXYSETTING_PRECONFIG  0
#define HTTPREQUEST_PROXYSETTING_DIRECT     1
#define HTTPREQUEST_PROXYSETTING_PROXY      2

   hb_Default(@cProxy, "")
   oOle := Win_OleCreateObject( "WinHttp.WinHttpRequest.5.1" )
   oOle:SetTimeouts(0, 60000, 30000, 120000)
   If !Empty(cProxy)
      oOle:SetProxy(HTTPREQUEST_PROXYSETTING_PROXY, cProxy)
   Endif
   oOle:Open( 'GET', cUrl, .F. )
   oOle:Send()
   oOle:WaitForResponse(-1)
   cArq:="Baixado"
   hb_MemoWrit(cFile, oOle:ResponseBody)
RETURN Nil             
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor JoséQuintas » 08 Jun 2016 11:02

Só comentário:
Não vai atualizar o tempo na tela, mas:

 Do While !lExit 
       if hb_ThreadWait( nThreadId, 0.1, .T. ) == 1
          lExit:=.T.
       Endif
       @ 10,00 say SecToTime(Seconds()-nSeconds) 
       @ 11,00 say cArq
       SysWait(1)
    Enddo   


se for programa único, pode ser substituído por:

hb_ThreadWaitForAll()
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: 18153
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Usar Harbour 3.4 + Mingw 5.1 Top com 3 passos!

Mensagempor asimoes » 08 Jun 2016 12:17

Quintas,

Na verdade aquele loop é pro usuário saber que tá acontecendo alguma coisa, claro que pode usar hb_ThreadWaitForAll()

Com hb_ThreadWaitForAll() a janela fica assim:
Screen Shot 06-08-16 at 12.19 PM.PNG
Screen Shot 06-08-16 at 12.19 PM.PNG (4.33 KiB) Visualizado 3406 vezes
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Anterior Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 22 visitantes


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