Página 11 de 19

Convertendo Sistema do GASPRO para Harbour

Enviado: 02 Jul 2013 16:26
por marrari
Colegas Toledo e jairo,

Acho que achei o problema, mas ainda não achei a solução. Mensagem de erro não dá nenhuma, mas o problema é quando o índice tem campo numérico. No gas, quanto tem campo numérico é usado a função STR no índice. Ou seja, se for usar a função DESCEND() no campo numérico "num" com tamanho 3 (no exemplo aqui sem casas decimais), ficaria assim: DESCEND(STR(num,3,0)). Funciona certinho no Gas, mas quando converte pro Harbour, não. Experimente fazer uma ordenação em uma consulta que tem campo numérico usando a forma decrescente e verão que não funciona.

Estou tentando contornar, se conseguirem achar a solução, agradeço se postarem.

Convertendo Sistema do GASPRO para Harbour

Enviado: 04 Jul 2013 07:54
por marrari
Colegas,

Como relatei na mensagem anterior, acredito que a forma como o Gas trata os índices decrescentes com chaves numéricas utilizando as funções DESCEND() e STR() não tem o efeito esperado no Harbour. Consegui contornar a situação da seguinte maneira:

1-Em todos os programas com índices numéricos decrescentes, incorporei a função STRTRAN() na chave:

DESCEND(STR(var_num,[<ntamanho>],[<ndecimais>])) // padrão do Gás

Subsitituir por

DESCEND(STRTRAN(STR(var_num,[<ntamanho>],[<ndecimais>]),’ ‘,’0’))

Explicando: Como o Harbour não está conseguindo tratar os espaços em branco gerados pela função STR(), substituímos então os mesmos espaços por zero. Aí ele consegue fazer a ordenação corretamente.

2-Na função TRANSCAMPO(), no programa XXX_FUN2 (XXX=três primeiras letras de seu programa principal), algumas linhas tem que ser alteradas para se funcionar corretamente a ordenação nas telas de consulta, quando utilizamos a opção de ORDENAÇÃO DESCRECENTE. São elas:

cp_=STR(&chv_.)
substituir por
cp_=STRTRAN(STR(&chv_.),' ','0')

cp_=STR(&chv_.,estr_dbf[indcp_,3],estr_dbf[indcp_,4])
substiruir por
cp_=STRTRAN(STR(&chv_.,estr_dbf[indcp_,3],estr_dbf[indcp_,4]),' ','0')

cp_="STR("+chv_+")"
substituir por
cp_="STRTRAN(STR("+chv_+"),' ','0')"

cp_="STR("+chv_+","+LPAD(estr_dbf[indcp_,3],2,"0")+","+LPAD(estr_dbf[indcp_,4],2,"0")+")"
substituir por
cp_="STRTRAN(STR("+chv_+","+LPAD(estr_dbf[indcp_,3],2,"0")+","+LPAD(estr_dbf[indcp_,4],2,"0")+"),' ','0')"

Colega Toledo, se quiser atualizar o conversor GAS4HARBOUR com o passo 2, fique à vontade. Nossa comunidade agradece.

Espero ter contribuído com esse fórum, o qual me serve como referência pela qualidade quando tenho minhas dúvidas.

Convertendo Sistema do GASPRO para Harbour

Enviado: 14 Jul 2013 08:58
por Jairo Maia
Olá Marrari,

Acabei por acaso descobrindo algo interessante. Como você disse, em Clipper funciona ok a função Descend() junto com a Str(), mas no harbour ao usar a função Descend() num campo numérico, somente ficará correta a ordem se não usar a função Str().

Abra uma tabela que tenha campo numérico, e ao invés de deixar o Gas montar a tabela, use o Critério Livre, e digite:

Código: Selecionar todos

Descend( variavel_numerica )
Veja que sem o Str() a ordenação fica ok.

Convertendo Sistema do GASPRO para Harbour

Enviado: 14 Jul 2013 20:36
por Toledo
Olá Marrari, esta semana não vou ter tempo, pois estarei em suporte em um cliente em Campinas, mas quando voltar eu faço testes e atualizou o Gas4Harbour.

Abraços,

Convertendo Sistema do GASPRO para Harbour

Enviado: 31 Ago 2013 16:54
por vagnerbauru
Caros colegas... preciso de uma ajudinha de vocês...

criei uma função que de qualquer estado do programa eu aperto "ALT+P" abre a função edita e consulta produtos, nessa consulta abre somente as colunas "Descrição" e "Preço Unitário".

Gostaria que nessa consulta, não funcionasse as teclas de rotinas "P - Procura, F - Filtragem e etc. e também não aparece-se a tecla F10 no final da tela" só a função pesquisa, ou seja, assim que o usuário digitasse já iria no registro, igual a função VDBF.

Espero que tenha me entendido!!

OBRIGADO!!!

Convertendo Sistema do GASPRO para Harbour

Enviado: 01 Set 2013 07:42
por Jairo Maia
Olá Vagner,

Seja bem vindo ao fórum.

Poste o código da sua função que é chamada por ALT+P para que possamos entender o que ela faz.

Desabilitar as funções de pesquisa requer mudança na função EDIT() e também na função BROWSE(). Talvez será mais fácil orientar você montar uma função independente para o que você quer.

Convertendo Sistema do GASPRO para Harbour

Enviado: 01 Set 2013 08:54
por vagnerbauru
É bem simples....

Código: Selecionar todos

Procedure CONS_PROD
   pcam:={"p_desc","p_pvend"}
   pnomt:={"Descrição do Produto","Preço Unitário"}
   ltoc:="p_desc"
   lini:="FDMERVNAIOQGCTJX"
   op_sis=EVAL(qualsis,"PRODUTOS")
   USEARQ(sistema[op_sis,O_ARQUI,O_NOME])
   edita(3,3,maxrow()-2,77,lini,pcam,pnomt, ,ltoc)

Convertendo Sistema do GASPRO para Harbour

Enviado: 01 Set 2013 12:05
por Jairo Maia
Olá Vagner,

Nesse caso, você precisará fazer algumas alterações na função MONTABRW(), que fica no arquivo xxx_FUNC.PRG. Veja que se necessário futuramente recriar os fontes, lembre-se de refazer as alterações.

Para ficar como você quer sugiro o seguinte:

1 - No arquivo xxx_publ.ch crie a seguinte variavel com valor .T.:

Código: Selecionar todos

lMostraRodapeBrw := .T.
2 - Altere sua função CONS_PROD() desta forma:

Código: Selecionar todos

Procedure CONS_PROD
   lMostraRodapeBrw := .F.  // não mostrar o rodapé na BRWFUNC()
   pcam:={"p_desc","p_pvend"}
   pnomt:={"Descrição do Produto","Preço Unitário"}
   ltoc:="p_desc"
   lini:="FDMERVNAIOQGCTJX"
   op_sis=EVAL(qualsis,"PRODUTOS")
   USEARQ(sistema[op_sis,O_ARQUI,O_NOME])
   edita(3,3,maxrow()-2,77,lini,pcam,pnomt, ,ltoc)
   lMostraRodapeBrw := .T.  // passar a mostrar o rodapé na BRWFUNC()
3 - Substitua a função MONTABRW() do arquivo xxx_FUNC.PRG pela que coloquei em anexo. Veja as condicionais referentes a variável lMostraRodapeBrw para ver as alterações.

Nota: Veja que é uma função STATIC, então tem que colocar no mesmo arquivo que ela está hoje, ou seja, o arquivo xxx_FUNC.PRG.

Convertendo Sistema do GASPRO para Harbour

Enviado: 01 Set 2013 12:12
por vagnerbauru
Boa tarde Jairo, obrigado pela ajuda....

e pra consulta ficar sempre "{Procura}" no VDBF fica sempre lógico ".T." e nessa função, tem como ?

Obrigado!!!

Convertendo Sistema do GASPRO para Harbour

Enviado: 02 Set 2013 23:18
por Jairo Maia
Olá Vagner,
vagnerbauru escreveu:e pra consulta ficar sempre "{Procura}" no VDBF fica sempre lógico ".T." e nessa função, tem como ?
Vagner, confesso que não entendi. Tente explicar melhor o que você quer.

Convertendo Sistema do GASPRO para Harbour

Enviado: 12 Abr 2014 13:31
por bcm
Boa tarde a todos.

Converti meu sistema gaspro40 para harbour, mais estou com o seguinte problema:
eu utilizo uma impressora hp deskjet D1460, quando imprimo um relatorio que estava comprimido, está imprimindo em modo normal.
Alguem poderia me enviar os comandos para imprimir em comprimido, negrito, italico, etc..Já procurei e não encontrei

um abraço

Convertendo Sistema do GASPRO para Harbour

Enviado: 23 Mai 2014 11:53
por Moralles
Amigos,
Como fazer para que as telas após conversão para o Harbour através Gas4harbour fiquem exatamente como eram no Gaspro40 ?.
Grato,
Moralles

Convertendo Sistema do GASPRO para Harbour

Enviado: 23 Mai 2014 11:57
por Pablo César
Moralles, explique melhor. Mostre alguma figura exemplo para a gente entender...

Convertendo Sistema do GASPRO para Harbour

Enviado: 23 Mai 2014 12:09
por Moralles
Olá Pablo Cesar,
As letras ficam sem brilho, diferente das telas do sistema convertido. Quando converto os programas Clipper não Gas as telas ficam exatamente iguais ao original, o que não ocorre quando converto programas do Gaspro40.
É necessário alguma intervenção nos programas a serem convertidos, ou uso de de alguma outra versão do Harbour ?. Uso Harbour 3.0.0. programa Gas4harbour.prg de 14/09/12.
Grato por sua atenção.
Moralles

Convertendo Sistema do GASPRO para Harbour

Enviado: 23 Mai 2014 12:30
por Pablo César
Poderias mostrar algumas telas capturadas ?