Página 1 de 1
Harbour e xBase++
Enviado: 02 Out 2010 08:27
por Itamar M. Lins Jr.
Ola!
Muitas funções do xBase++ já estão no Harbour.
Essa é bem interessante:
Código: Selecionar todos
FUNCTION xpp_dbUseArea( lNewArea, cDriver, cName, xcAlias, lShared,
lReadonly )
LOCAL nOldArea
LOCAL nArea
LOCAL cTAlias
IF ! ISCHARACTER( xcAlias )
xcAlias := ""
ENDIF
IF Empty( xcAlias )
xcAlias := cName
ENDIF
IF lNewArea
nOldArea := Select()
IF ( nArea := Select( xcAlias ) ) > 0
xcAlias += "_" + hb_ntos( nArea )
ENDIF
dbSelectArea( nOldArea )
ELSE
IF !Empty(cTAlias:=Alias())
(cTAlias)->(dbCloseArea())
ENDIF
ENDIF
RETURN dbUseArea( lNewArea, cDriver, cName, xcAlias, lShared,
lReadonly )
Saudações,
Itamar M. Lins Jr.
Re: Harbour e xBase++
Enviado: 02 Out 2010 13:37
por carlos_dornelas
Itamar,
Parabéns por sua iniciativa! Tenho acompanhado o news do harbour e percebe-se que está a pleno vapor, principalmente no que se refere a HBQT. Pena que é tudo em inglês e para os mais leigos (em inglês e em harbour) muita coisa interessante fica sem ser percebida. Eu, por exemplo, ainda não consegui gerar sequer um Ola Mundo com a hbqt, nem pelo harbour noturno, quanto mais com o compilado pelo SVN. Somente consegui com a minigui 4, do Roberto Lopez que, aliás, sempre pensa no usuário mais leigo, ou seja, vem tudo pronto, basta um compile.bat ou, agora, um build.bat e o exemplo já é compilado!
Acompanho também seus posts, sempre trazendo novidades do harbour 2.x. Continue assim. Sempre que possível, sugiro que você já nos dê uma pequena explicação sobre a novidade, ou seja, para quê ela serve. Assim, os mais leigos poderão aproveitar mais suas contribuições.
Antonio Carlos
Re: Harbour e xBase++
Enviado: 03 Out 2010 10:15
por Itamar M. Lins Jr.
Eu penso que em alguns casos, o melhor é ensinar a pescar, e não dá o peixe.
Lendo os fontes o interessado irá aprender, caso ele não entenda determinado trecho dessa função que postei, é só perguntar.
A HBQT está passando por reformas, mas acredito está cada vez mais estabilizada.
Então, a função:
IF lNewArea // Se é para abrir em nova area
16 nOldArea := Select() //Pegar a area atual
17 IF ( nArea := Select( xcAlias ) ) > 0 //Se a area já estiver aberta, abrir o mesmo dbf com outro alias
18 xcAlias += "_" + hb_ntos( nArea ) //aqui a função hb_ntos(), retorna um numero em string no caso a data.
19 ENDIF
20 dbSelectArea( nOldArea )
21 ELSE
22 IF !Empty(cTAlias:=Alias()) //caso o alias for passado e já estiver aberto, fechar para não ocorrer erro.
23 (cTAlias)->(dbCloseArea())
24 ENDIF
25 ENDIF
Saudações,
Itamar M. Lins Jr.
Re: Harbour e xBase++
Enviado: 03 Out 2010 14:26
por Itamar M. Lins Jr.
Continuando...
Pena que é tudo em inglês e para os mais leigos (em inglês e em harbour) muita coisa interessante fica sem ser percebida.
Infelizmente qualquer linguagem de programação é assim.
Para aprender tem que saber o mínimo de inglês até os livros são melhores na linguagem nativa em que foram escritos.
A melhor documentação do [x]Harbour são os seus fontes, tem também alguns exemplos.
Saudações,
Itamar M. Lins Jr.