Migrar Clipper para Harbour.
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Migrar Clipper para Harbour.
Tente acrescentando pra mostrar mais informações:
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)
Código: Selecionar todos
hbmk2 hbvd2 -info
Se for isso, pra forçar recompilação: (só pra curiosidade, já que não precisaria)
Código: Selecionar todos
hbmk2 hbvd2 -rebuild
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Migrar Clipper para Harbour.
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
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
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Migrar Clipper para Harbour.
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.
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 mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Migrar Clipper para Harbour.
Carlos,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?
É muito importante um programador conhecer todo seu ambiente de trabalho, lamento mas a conta é sua....
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Migrar Clipper para Harbour.
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
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
Arquivo: SAO.HBP@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
Não foi preciso fazer nenhuma alteração no código, apenas compilei e o sistema parece estar funcionando perfeitamente.-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
Migrar Clipper para Harbour.
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
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 643 vezes
-
senhacl.prg- Programa em clipper
- (837 Bytes) Baixado 658 vezes
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Migrar Clipper para Harbour.
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:Deve funcionar normalmente.
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:
Código: Selecionar todos
SetCursor(0)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)
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)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Migrar Clipper para Harbour.
Testei aqui.
A getsys do Harbour não obedeceu o SET CURSOR OFF.
Um jeito rápido seria usar a getsys do Clipper.
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 mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Migrar Clipper para Harbour.
Amigos, se é Harbour, então use a função GetSecret():
Abraços,
Código: Selecionar todos
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
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
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
Migrar Clipper para Harbour.
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
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
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Migrar Clipper para Harbour.
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.
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 mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Migrar Clipper para Harbour.
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 !
Então eu teria que mudar minhas fontes .prg + strings em .dbf etc.. bwaaaa em resumo vou deixar assim por enquanto !
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Migrar Clipper para Harbour.
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.
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 mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Migrar Clipper para Harbour.
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 ?
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 ?
