Página 1 de 1

Qual lib usar ?

Enviado: 10 Jun 2011 19:45
por Vali
Ola pessoal

Sou um velho clippeiro que a muito mudou de profissão, porém programação, principalmente em texto, esta no sangue.
Sempre acompahei a distancia, o nascimento de Harbour e Minigui, agora resolvi fuçar um pouco e surgiu uma grande duvida que recorro a voces:

Como sei o que cada "lib" faz? Tem algum help ou tutorial por ai?

Explico melhor.
Levei mais tempo para descobrir que a função HB_SendMail pertence a "tip.lib" do que para por para funcionar minha rotina;
Agora preciso usar o comando ShellExecute e nem imagino em qual lib esta.
É isso mesmo ou estou no caminho errado?

No mais parabens ao exelente forum.
Abraços a todos
Vali

Qual lib usar ?

Enviado: 11 Jun 2011 14:43
por alxsts
Olá!

Seja bem-vindo ao fórum Vali!

Como "clippeiro velho", você deve lembrar-se do companheiro Norton Guides (NG).

Tanto no Harbour como do xHarbour, na pasta DOC, você encontrará um arquivo de ajuda do Windows (.CHM), que é muito semelhante ao NG.

Na descição de cada comando e função, ao final do texto, sempre consta a lib onde está a funcionalidade.

Qual lib usar ?

Enviado: 12 Jun 2011 11:27
por Jairo Maia
Olá Alexandre,

Minha instalação do Harbour é a "Harbour Nightly Win 2.1.0", e como não encontrei o arquivo que você citou, reinstalei. Vc tem certeza que tem o "Reference Guide" do Harbour?

Quando preciso de alguma informação, uso o manual de referencia do xHarbour, e ajuda prá caramba, mas ocorre que as vezes o que está em uma Lib do xHB foi trocada no HB, e ainda levando em conta que várias funções no Harbour tiveram seus nomes trocados, assim, se tem o "Harbour Reference Guide", também gostaria de saber onde encontrar.

Em busca na internet, podemos encontrar este site: Harbour Reference Guide, mas me parece que está muito desatualizado, para não dizer abandonado.

Qual lib usar ?

Enviado: 12 Jun 2011 17:03
por Vali
alxsts escreveu:Olá!

Seja bem-vindo ao fórum Vali!

Como "clippeiro velho", você deve lembrar-se do companheiro Norton Guides (NG).

Tanto no Harbour como do xHarbour, na pasta DOC, você encontrará um arquivo de ajuda do Windows (.CHM), que é muito semelhante ao NG.

Na descição de cada comando e função, ao final do texto, sempre consta a lib onde está a funcionalidade.
Ok, agradeço a dica, porem o problema continua, pois nos DOC´s só temos as lib´s nativas do Harbour.
Vejo dezenas de exemplos na internet os quais nao consigo compilar por não saber qual lib anexar.
Por exemplo: em uma dica deste forum que descobri que HB_sendmail pertence a tip.lib e este comando não esta listado na documentação do Harbour.
Agora queria testar o comando Shellexecute, que tambem nao é documentado pelo Harbour, mais não sei como encontrar sua respectiva lib.

Qual lib usar ?

Enviado: 09 Out 2011 01:19
por Dr.Microso
Colegas, saudações!

Então... Novamente, a pergunta que não quer calar: qual lib usar?
Considerando a quantidade de recursos que cada vez mais "recheiam" o Harbour, hoje, qual seria a melhor e mais rápida fonte de pesquisa para saber em qual LIB se encontra aquela "bendita" Function "x"?

Um abraço!

Qual lib usar ?

Enviado: 09 Out 2011 08:55
por Itamar M. Lins Jr.
Procure no google.
Entretanto o Changelog ajuda a achar muitas funções, pois praticamente tudo que ocorre está documentado lá.
O problema é que algumas funções no Harbour possem outros nomes e são quase equivalentes.
Vasculhando o changelog achei essas:
WAPI_SHELLEXECUTE()
hb_processOpen()
Tem essa que também:

Código: Selecionar todos

****************************
Function mRun(cComando,lFlag)
****************************
*
*
Local oShell,lRet
lFlag := if( lFlag = NIL, .F., lFlag )

oShell:=Win_OleCreateObject("WScript.Shell")
lRet  :=oShell:Run("%ComSpec% /c " + cComando, 0, lFlag)
oShell:=Nil

Return iif(lRet=0,.t.,.f.)
E essa extraida da Hwgui:

Código: Selecionar todos

/*
 * ShellExecute( cFile, cOperation, cParams, cDir, nFlag )
 */
HB_FUNC( SHELLEXECUTE )
{
#if defined( HB_OS_WIN_CE )
   hb_retni( -1 );
#else
   void * hOperation;
   void * hFile;
   void * hParameters;
   void * hDirectory;
   LPCTSTR lpDirectory;

   lpDirectory = HB_PARSTR( 4, &hDirectory , NULL );
   if( lpDirectory == NULL )
      lpDirectory = TEXT( "C:\\" );

   hb_retnl( ( LONG ) ShellExecute( GetActiveWindow(),
                  HB_PARSTRDEF( 2, &hOperation, NULL ),
                  HB_PARSTR( 1, &hFile, NULL ),
                  HB_PARSTR( 3, &hParameters, NULL ),
                  lpDirectory,
                  HB_ISNUM( 5 ) ? hb_parni( 5 ) : SW_SHOWNORMAL ) );

   hb_strfree( hOperation );
   hb_strfree( hFile );
   hb_strfree( hParameters );
   hb_strfree( hDirectory );
#endif
}
Então a Hwgui, possue função semelhente nativa, a também Minigui...
As pessoas que estão chegando é preciso entender que a diversidade é uma coisa boa, pode parecer complicado no inicio, mas a função mrun que postei por exemplo só funciona no windows assim como a sheelexecute, mas provavelmente a hb_processopen funcione em qualquer OS.
No caso da WAPI_SHELLEXECUTE(), é preciso linkar a HBWIN, que é a recomendada, para o OS WinX.

E os exemplos estão na pasta contrib\hbwin\test no Harbour. Caso precise de ajuda quanto a mais exemplos ou entender a sintaxe, poste suas dúvidas em inglês no site de usuários internacional do Harbour no google.
http://groups.google.com/group/harbour-users/?pli=1

Saudações,
Itamar M. Lins Jr.

Qual lib usar ?

Enviado: 09 Out 2011 11:42
por Dr.Microso
Olá Itamar, salve!
Itamar M. Lins Jr. escreveu:"Procure no Google."
Pô colega, aí num vale (sério, to gargalhando até agora...até me fez muito bem...) porque é a primeira escolha óbvia.
Não consigo imaginar quem programe, ainda mais em Harbour e viva sem o Google.
Vivendo do que vivemos, moramos dentro de sua pesquisa.
Acredito que quando chegamos a postar aqui, ou já passamos beeeem por lá ou procuramos comodidade (quem já fez o caminho e achou).

Fez-me até lembrar uma situação que me ocorreu essa semana...
Minha filha mais nova (3.5 anos) adoeceu repentinamente apresentando letargia e febre alta, fui à sua pediatra particular, no consultório, a secretária (novata) disse-me que a médica estava indisposta e não iria nem olhar... Ai lasquei: qual é a recomendação?
- Ah... Leve-a ao pronto-atendimento do SUS (Google)...
Se ela tivesse pelo menos me indicado outra pediatra/hospital conveniado que segurasse a peteca da "indisposta"...
Porém, fui prontamente atendido quando ela percebeu que eu não voltaria mais...

A dúvida foi bem respondida: não existe (ainda) um manual ou algo que o valha neste sentido, ao contrário do que havia ficado subentendido nos posts acima (e o que eu precisava exatamente).

Gostei da dica do Changelog.
Pelo jeito e por hora, ficamos ainda à procurar essas informações básicas (que já poderiam estar concentradas em algum lugar - é coisa simples: function=>lib) em fóruns, Harbour Group, Yahoo groups, etc. Veja o Lázarus, FreePascal, Qt...

Mui grato!

Qual lib usar ?

Enviado: 09 Out 2011 12:44
por sygecom
Olá Francis,

Eu acredito que essa resposta depende muito dos objetivos de cada um. No meu ponto de vista para quem vai começar um projeto novo o melhor caminho é o Xailer e para quem quer ir migrando aos poucos o melhor caminho é a Hwgui. E quando ao xHarbour e Harbour todos sabem que o Harbour ainda não tem um SQLRDD e um Help(.CHM) porem está mais avançado em outras ferramentas como MT, porem ambos são projetos estáveis. Eu particularmente uso xHarbour 1.2.1 + Hwgui 2.17 + SQLRDD.

Qual lib usar ?

Enviado: 09 Out 2011 12:55
por Itamar M. Lins Jr.
Outra coisa que está existindo é que alguns novos usuários estão começando pelo xHarbour, depois querem mudar para o Harbour.
Acredite, quem não está pensando em usar o SQLRDD que é vendido pela .com não há necessidade de começar pelo xHarbour.
O xHarbour está parado há mais de 3 anos, fica algumas pessoas querendo segurar pessoas na distribuição A ou B, no final acaba atrapalhando quem está começando.
O Harbour está muito melhor e bem mais padronizado e mais fácil de usar do que o xHarbour. Mas é melhor, porque o xHarbour está parado, sem as correções no dia que resolverem fazer as tais correções e acrecentar as contribuições que só tem no Harbour, fica show também, entretanto o xHarbour está parado só isso.

Existiu uma época que o xHarbour estava mais evoluido do que o Harbour.

Saudações,
Itamar M. Lins Jr.

Qual lib usar ?

Enviado: 09 Out 2011 13:20
por Dr.Microso
Olá Leonardo!
sygecom escreveu:"Eu acredito que essa resposta depende muito dos objetivos de cada um..."
Não entendi, ou parece-me que sua colocação está fora de contexto.

Citei algumas linguagens free (poderia citar mais umas trocentas) que possuem uma fonte de referência melhor estruturada para Function => LIB.
O foco da discussão é uma Rápida Referência LIB-Functions para o Harbour .
Vali escreveu:"...Explico melhor.
Levei mais tempo para descobrir que a função HB_SendMail pertence a "tip.lib" do que para por para funcionar minha rotina;
Agora preciso usar o comando ShellExecute e nem imagino em qual lib esta...."

Qual lib usar ?

Enviado: 09 Out 2011 14:09
por sygecom
Não está fora do contexto não.
O Topico diz:
QUAL LIB USAR ?
Você postou:
Dr.Microso escreveu: Então... Novamente, a pergunta que não quer calar: qual lib usar?
Ou está havendo um desvio de assunto aqui, abraços.

Qual lib usar ?

Enviado: 09 Out 2011 14:23
por Dr.Microso
É pura interpretação.
Note que apenas respeitei o título do tópico, postei aqui na tentativa de não abrir outro.
Vali escreveu:Como sei o que cada "lib" faz? Tem algum help ou tutorial por ai?
Explico melhor.
Levei mais tempo para descobrir que a função HB_SendMail pertence a "tip.lib" do que para por para funcionar minha rotina;
Agora preciso usar o comando ShellExecute e nem imagino em qual lib esta.
HB_SendMail e ShellExecute não remetem diretamente à uma Lib GUI.
Dr.Microso escreveu:"... a melhor e mais rápida fonte de pesquisa para saber em qual LIB se encontra aquela "bendita" Function "x"?"
Acho que o título teria sido mais feliz se fosse: "Em que bendita LIB está???" (risos)

Em tempo
Que ver uma coisa "fina"?

A HbQt vale-se de algumas DLLs para facultar a GUI e suas funções que foram portadas.
Para saber seu conteúdo, procure no pacote harbour-nightly-src os seguintes arquivos:

- QtCore.txt
- QtGui.txt
- QtNetwork.txt

Viu?
Aí sim, dá "tesão". Não deve ter doído nada e poupa um tempão (oh, até rimou...).

Uma produtiva semana a todos.

Qual lib usar ?

Enviado: 09 Out 2011 14:53
por sygecom
No meu ver o certo seria abrir um novo tópico. Mas agora já foi....abraços