Clipper On Line • Ver Tópico - Migrar Clipper para Harbour.

Migrar Clipper para Harbour.

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Migrar Clipper para Harbour.

Mensagempor CMartins » 24 Mar 2016 20:38

Segunda tentativa de anexar a imagem da tela...
Anexos
Tela_do_hbmk2.jpg
CMartins
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 6
Data de registro: 22 Abr 2015 12:29
Cidade/Estado: Rio de Janeiro
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Migrar Clipper para Harbour.

Mensagempor JoséQuintas » 24 Mar 2016 21:28

Tente acrescentando pra mostrar mais informações:

hbmk2 hbvd2 -info


Nota: Existe a compilação incremental, aonde somente o que foi alterado é recompilado. Se nada foi alterado, não precisa compilar, e nada é feito.
Se for isso, pra forçar recompilação: (só pra curiosidade, já que não precisaria)

hbmk2 hbvd2 -rebuild
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: 18010
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Migrar Clipper para Harbour.

Mensagempor CMartins » 26 Mar 2016 16:36

Olá José

Grato pelo apoio e pelas informações!
Depois de fundir a cuca e fazer inúmeras loucuras descobri que o HB_INSTALL_PREFIX não estava setado...
Aí foi só acrescentar o comando SET HB_INSTALL_PREFIX:=C\hb32 no meu sh.bat (listado acima) e tudo voltou ao normal.
Só continuo sem entender porque antes funcionava sem este SET e agora necessito dele!?

Como teve um técnico fazendo manutenção (limpeza) na minha máquina no início da semana passada, estou colocando tudo na conta dele...
Estarei sendo injusto?

Abs
Carlos
CMartins
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 6
Data de registro: 22 Abr 2015 12:29
Cidade/Estado: Rio de Janeiro
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Migrar Clipper para Harbour.

Mensagempor JoséQuintas » 26 Mar 2016 16:51

Pode ser que antes tinha isso no set path do Windows.

No Harbour 3.4 isso foi corrigido, porque HB_INSTALL_PREFIX é para a geração do Harbour, e não para o uso.
Mas no Harbour 3.2 isso continua.
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: 18010
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Migrar Clipper para Harbour.

Mensagempor sygecom » 26 Mar 2016 21:56

CMartins escreveu:Só continuo sem entender porque antes funcionava sem este SET e agora necessito dele!?

Como teve um técnico fazendo manutenção (limpeza) na minha máquina no início da semana passada, estou colocando tudo na conta dele...
Estarei sendo injusto?

Carlos,
É muito importante um programador conhecer todo seu ambiente de trabalho, lamento mas a conta é sua....
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7006
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Migrar Clipper para Harbour.

Mensagempor JackSmith » 01 Out 2016 23:28

Aproveitando aqui as dicas dos companheiros para conversão de programas Clipper para Harbour, consegui compilar o sistema SAO para rodar em modo console no Windows 7 64bits.

Criei o arquivo SETARHB.BAT sugerido no tutorial no inicio do tópico pelo Toledo, apenas inclui o comando "MODE CON LINES=25 COLS=80" para não ter que ficar buscando a tela do programa com a barra de rolagem, a configuração do console window é bem diferente da utilizada pelo padrão MS-DOS

@echo off
set path=C:\hb30\bin;C:\hb30\comp\mingw\bin;%path%
set HB_COMPILER=mingw
cd\
MODE CON LINES=25 COLS=80
%SystemRoot%\system32\cmd.exe


Arquivo: SAO.HBP

-oSAO.EXE
-w0
-es2
-rebuild

SAO
SAOMENU
SAOBIB
SAOUTI
SAOFOR
SAOCLI
SAOPRO
SAOREP
SAOOPE
SAOCTB
SAOTAB
SAOPED
SAOIND
SAOCOM
SAOTRA
SAOVEN
SAONF
SAOPXF
SAOCR
SAOCP
SAOFLU
SAOMBA
SAOCTO
SAOFCH
SAOUSU


Não foi preciso fazer nenhuma alteração no código, apenas compilei e o sistema parece estar funcionando perfeitamente.

JackSmith
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 2
Data de registro: 01 Out 2016 11:26
Cidade/Estado: RJ/RJ
Curtiu: 1 vez
Mens.Curtidas: 2 vezes

Migrar Clipper para Harbour.

Mensagempor Nalotro » 04 Out 2016 14:59

Estou iniciando com harbour, bom, consegui já alguma coisa porém estou com um pequeno problema que é o seguinte:
no clipper tem a instrução setcursor(0) ele não mostra o cursor quando aciono um get: @ say "Digite sua senha..." get cs1 "@!" colordisp(corc), "corc" é azul igual a tela do fundo e não aparece o cursor, mas no harbour aparece o cursor é o que não quero, como resolver isso ?
Para tanto estou anexando os dois prgs, em harbour tive que fazer pequenas alterações para rodar.
Estou usando o editor notpad ++, tem um ícone chamado linguagem, no qual posso mudar o tipo de linguagem, coloquei senhahb como harbour e senhacl como clipper. Não consegui anexar o .DBF, o nome é PARAMET1, com tres campos: cor1 = W ; cor 2 = B e cor3 = N
Anexos
senhahb.prg
Programa em habour
(852 Bytes) Baixado 217 vezes
senhacl.prg
Programa em clipper
(837 Bytes) Baixado 211 vezes
Nalotro
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 3
Data de registro: 30 Set 2016 12:44
Cidade/Estado: Campinas, SP
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Migrar Clipper para Harbour.

Mensagempor Jairo Maia » 04 Out 2016 16:34

Olá nalotro,

Em Harbour funciona sim. Talvez a diferença é que Clipper aceite essa sintaxe: setcursor (0), ou seja, espaços entre o nome da função e os parênteses que irá passar o parâmetro. Mude para sem espaços:
SetCursor(0)
Deve funcionar normalmente.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Migrar Clipper para Harbour.

Mensagempor JoséQuintas » 04 Out 2016 16:38

Testei aqui.
A getsys do Harbour não obedeceu o SET CURSOR OFF.
Um jeito rápido seria usar a getsys do Clipper.
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: 18010
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Migrar Clipper para Harbour.

Mensagempor Toledo » 04 Out 2016 17:22

Amigos, se é Harbour, então use a função GetSecret():

   PROCEDURE Main
      LOCAL cPassword := Space(20)
      CLS
      SET CONFIRM ON

      cPassWord := GetSecret( cPassword, 10, 10, .T., "Enter your password: ")

      IF cPassWord <> "xHarbour"
         Alert( "Access denied" )
         QUIT
      ENDIF

      Alert( "Access granted" )
   RETURN


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

Migrar Clipper para Harbour.

Mensagempor freddyd » 29 Nov 2016 13:39

Não é um grande problema, mas .... os caracteres ã õ funcionam ok no display (80 x 25) quando compilado com xHarbour 1.2.3 e bcc 5.8.2

Quando compilei com Harbour 3.2.0 / mingw o ç esta ok mas não o ã õ , fora disso tudo parece ok.

O que posso fazer ?

Freddy
freddyd
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 11
Data de registro: 26 Nov 2016 12:24
Cidade/Estado: sao paulo-sp
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Migrar Clipper para Harbour.

Mensagempor JoséQuintas » 29 Nov 2016 20:37

Primeiro ponto, importantíssimo: muita calma nessa hora.

Está entrando em uma área delicada.

Até hoje achava que existia uma única tabela ASCII, que o Chr(65) corresponde à letra A, que Asc( "A" ) é 65, e que funciona assim pra tudo que é caractere no computador.
Também até hoje achava que a diferença entre caracteres era entre DOS e Windows.
Pois é... não é assim que funciona.

Existe uma tabela ASCII pra cada idioma existente: Inglês, Português de Portugal, Português do Brasil, e muitas outras.
A janela de prompt, chamada de DOS, usa tabela em inglês.
O Windows, usa tabela em português-Brasil (no nosso caso).
E tem outras mais.

Antes de adotar uma solução precisa saber que:

- O que gravou nos seus bancos de dados, usou a tabela em inglês
- Se seu aplicativo estiver em modo console, o Windows vai usar a tabela em inglês pra TELA
- Se seu aplicativo usar tela Windows, o Windows vai usar a tabela em português-Brasil pra TELA
- Caracteres especiais do seu aplicativo, estarão usando tabela em inglês

E mais outra: SEU FONTE
Vai ter que usar um editor de textos compatível, seja inglês ou português-Brasil.

O que usei foi o seguinte: português-Brasil pra tudo, e tela GTWVG - Windows.
E não permito acentuação por parte do usuário, pra não criar mais problemas.
A partir daí, acertar diferenças de DBFs, telas, relatórios, etc. usando um editor de textos que trabalhe em português-Brasil.
Pode usar funções de conversão, mas é bom entender direito tudo que vai precisar ser alterado.

Isso é chamado de CODEPAGE.
Isso existe desde os tempos do DOS, a gente alterava isso usando o COUNTRY.SYS
O Clipper também tinha opção de escolher codepage, mas pelo menos eu NUNCA usei isso.

Sem falar que tem também o UTF-8, que não tem nada a ver com as anteriores.
Mas gera novas complicações, porque uma letra pode ser formada por até 6 caracteres juntos.

Bem vindo ao mundo da CODEPAGE.
É decidir o que vai usar, e ir em frente.

Acho que usando português-Brasil, que é a mesma do Windows, pode evitar complicações.
Se alguém souber de algo que eu desconheça, é só avisar.

Nota: Talvez tenha que usar uma LIB Windows, já que o Harbour é Windows, mesmo que não use recursos gráficos.
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: 18010
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Migrar Clipper para Harbour.

Mensagempor freddyd » 30 Nov 2016 12:57

OK, acho que entendi: o que acontece é sua última frase: "já que o Harbour é Windows, mesmo que não use recursos gráficos" ... e o xHarbour não. Por isso, que com as mesmas fontes e dbf no mesmo computador, da certo com xHarbour e não com harbour.
Então eu teria que mudar minhas fontes .prg + strings em .dbf etc.. bwaaaa em resumo vou deixar assim por enquanto !
freddyd
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 11
Data de registro: 26 Nov 2016 12:24
Cidade/Estado: sao paulo-sp
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Migrar Clipper para Harbour.

Mensagempor JoséQuintas » 30 Nov 2016 15:08

Vamos de outra forma:
Vai ter que decidir se o seu aplicativo vai ficar bem no modo console ou no modo Windows.
Console: EUA, Windows PT-BR.
A partir dai, ver as opções.
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: 18010
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Migrar Clipper para Harbour.

Mensagempor freddyd » 02 Dez 2016 12:32

no xHarbour 1.2.3 eu uso as funções :

vetor:=GetPrinters(.T.) para obter uma lista de impressoras disponíveis no windows, em forma de vetor contendo os nomes das impressoras
SET PRINTER TO (GetDefaultPrinter()) para imprimir na impressora padrão
SET PRINTER TO (vetor[1,1]) para imprimir na primeira impressora da lista do vetor por exemplo

No Harbour 3.4.0 + mingw compilei, não da erro nenhum nem na compilação nem ao imprimir, mas não imprime nada !

O que tem de errado ?
freddyd
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 11
Data de registro: 26 Nov 2016 12:24
Cidade/Estado: sao paulo-sp
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Anterior Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 11 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