Página 2 de 3
Warning sobre a Xhb
Enviado: 09 Jun 2017 09:08
por asimoes
Pessoal,
Bom dia,
Qual é o equivalente a função IsAscii() ?
Warning sobre a Xhb
Enviado: 10 Jun 2017 20:24
por cl@udio
Esta classe ExcelWriterXml() esta no hb32\core\extras\hbxlsxml.
Mas esta classe nao tem no hb34.
Pelo menos nao encontrei.
[]s
Warning sobre a Xhb
Enviado: 10 Jun 2017 22:03
por JoséQuintas
Não dá pra substituir por esta?
Se é que não é a mesma...
https://github.com/FTrautwein/xlsxwriter
Warning sobre a Xhb
Enviado: 22 Jun 2017 16:13
por cl@udio
Pessoal
Boa tarde
Sabem me dizer, qual a funcao equivalente:
Pesquisei com find do hbmk2:
hbmk2 -find ReadL
xhb.hbc (não instalado):
hb_FReadLine()
hb_ReadLine()
hbmisc.hbc (não instalado):
hb_FReadLn()
hbnf.hbc (não instalado):
ft_FReadLn()
Núcleo Harbour (instalado):
hb_FReadLen()
hb_vfReadLen()
[]s
Warning sobre a Xhb
Enviado: 22 Jun 2017 16:57
por JoséQuintas
Importante:
Convém confirmar as funções.
Pode ser que além de nome diferente, o comportamento seja diferente.
No CH deve indicar se é apenas tradução de nome ou não.
Warning sobre a Xhb
Enviado: 22 Jun 2017 17:17
por asimoes
Como fica valtoprg equivalente?
Warning sobre a Xhb
Enviado: 22 Jun 2017 17:20
por asimoes
Se é pra matar a xhb tem que mapear todas as equivalentes, inclusive a minigui usa getprinters que tá na xhb
Warning sobre a Xhb
Enviado: 22 Jun 2017 22:00
por acelconsultoria
É complicado... a xhb tinha várias coisas interessantes, mas concordo que é como um "remendo" no Harbour.
Eu fiz um teste aqui... abri o Notepad++, fui em Localizar>Localizar em Arquivos... configurei pra procurar dentro da pasta com os fontes da xhb e pesquisei alguns dos nomes das funções que os colegas postaram aqui.
E encontrou todas. Algumas parecem fáceis de resolver. Outras nem tanto.
Por exemplo... peguei a ISASCII() que o ASimões postou... deu isto aqui:
Código: Selecionar todos
D:\Harbour\contrib\xhb\xhbis.c (6 hits)
Line 85: #if ! defined( isascii )
Line 86: #define isascii( c ) ( ( unsigned ) ( c ) <= 0x7F )
Line 150: Printable characters have an ASCII value between 32 - 126, (0x20 - 0x7e),
Line 173: /* determines if first char of a string is a member of the 7-bit ASCII
Line 177: HB_FUNC( ISASCII )
Line 181: hb_retl( szString && isascii( ( HB_BYTE ) *szString ) );
Aí eu abri o tal arquivo xhbis.c e tava lá:
Código: Selecionar todos
HB_FUNC( ISASCII )
{
const char * szString = hb_parc( 1 );
hb_retl( szString && isascii( ( HB_BYTE ) *szString ) );
}
Neste caso, me parece que a função IsAscII() não tem "tradução" pronta pro Harbour. Ela foi construída em C pra atender a xhb.
Warning sobre a Xhb
Enviado: 22 Jun 2017 22:15
por acelconsultoria
Pesquisando ValToPrg no Notepad++:
Código: Selecionar todos
Search "valtoprg" (15 hits in 5 files)
D:\Harbour\contrib\xhb\dumpvar.prg (1 hit)
Line 234: // TraceLog( "DShowHash: hVar, ValType( hVar ), lRecursive", hVar, ValType( hVar ), ValToPrg( hVar ), lRecursive )
D:\Harbour\contrib\xhb\hbcompat.ch (2 hits)
Line 92: #xtranslate hb_ValToExp( [<x,...>] ) => ValToPrgExp( <x> )
Line 365: #xtranslate ValToPrgExp( [<x,...>] ) => hb_ValToExp( <x> )
D:\Harbour\contrib\xhb\xcstr.prg (9 hits)
Line 106: FUNCTION ValToPrg( xVal, cName, nPad, aObjs )
Line 121: cName := "M->__ValToPrg_Array"
Line 140: cRet += cPad + cName + "[" + hb_ntos( aVar:__enumIndex() ) + "] := " + ValToPrg( aVar, cName + "[" + hb_ntos( aVar:__enumIndex() ) + "]", nPad, aObjs ) + hb_eol()
Line 156: cRet += ValToPrg( aVar:__enumKey() ) + " => " + ValToPrg( aVar )
Line 156: cRet += ValToPrg( aVar:__enumKey() ) + " => " + ValToPrg( aVar )
Line 165: CASE "B" ; RETURN ValToPrgExp( xVal )
Line 171: cName := "M->__ValToPrg_Object"
Line 191: cRet += cPad + cName + ":" + aVar[ 1 ] + " := " + ValToPrg( aVar[ 2 ], cName + ":" + aVar[ 1 ], nPad, aObjs ) + hb_eol()
Line 202: Throw( xhb_ErrorNew( "VALTOPRG", 0, 3103, ProcName(), "Unsupported type", { xVal } ) )
D:\Harbour\contrib\xhb\xhb.hbx (2 hits)
Line 436: DYNAMIC ValToPrg
Line 437: DYNAMIC ValToPrgExp
D:\Harbour\contrib\xhb\xhbfunc.c (1 hit)
Line 347: HB_FUNC_TRANSLATE( VALTOPRGEXP , HB_VALTOEXP )
É... dependendo da quantidade de funções, vai dar trabalho mesmo.
Lembrando que pesquisei nos fontes do HB 3.4
Warning sobre a Xhb
Enviado: 22 Jun 2017 22:32
por JoséQuintas
Sobre a IsAscii().... mas está usando aonde?
Se é numa LIB gráfica, a saída seria colocar essa função na LIB gráfica, até ajustarem a LIB.
Ou agrupar o que sobrar num único fonte, assim fica em destaque o que será eliminado.
O que não tiver alternativa, provavelmente terá uma equivalente antes de retirar xhb.
Warning sobre a Xhb
Enviado: 23 Jun 2017 11:54
por asimoes
Eu até já tinha localizado essas funções hb_isnil e isacii nos fontes C da xhb, estão o ineressante seria agrupar ou fazer parte da aplicação, quantos aos prg´s tem que ver se vale apene fazer isso também, ou simplesmente continuar usando a xhb salvando em algum lugar pra não perder.
Outro detalhe é que a minigui usa funções da xhb não se a hwgui também tem que verificar isso.
Warning sobre a Xhb
Enviado: 23 Jun 2017 13:32
por fladimir
Eu to finalizando a migração do meu aki, fiz conforme o colega comentou, pesquisando nos fontes da xhb, pra ver as correlatas e as q estão em .C
As q estão em PRG estou avaliando.
Warning sobre a Xhb
Enviado: 23 Jun 2017 14:21
por asimoes
Na minha opinião o que falta é uma orientação mais clara, olha se você usa tal função substitua por essa e essa, até a gente se preparar para isso.
Imagina sistema legado que eu tenho esse caso, tem valtoprg, issascii, hb_isnil e por ai vai, substituir não é muito fácil, tem garantir que vai funcionar da mesma forma ou como eu disse pega toda a pasta xhb salva em outro lugar e continua usando, não tá funcionando ? então deixa quieto.
Warning sobre a Xhb
Enviado: 23 Jun 2017 17:07
por cl@udio
Boa tarde
asimoes
Pelo que entendi, os mantenedores vao deixar de atualizar para novas codificacoes.
O que estiver funcionando ate agora, vai continuar assim.
Ou entendi errado.
Eu mesmo estou fazendo as mudancas simplesmente para nao ficar dependente de mais uma lib.
E trabalhar tudo em puro harbour dentro do possivel.
[]s
Warning sobre a Xhb
Enviado: 23 Jun 2017 17:22
por asimoes
Sim,
É isso mesmo, hoje saiu novamente o WARNING sobre a xhb, não haverá mais manutenções, quem continuar o uso será por conta e risco eu me atrevo a dizer que tudo que usamos do harbour é por conta e risco, rs