Clipper On Line • Ver Tópico - Livro (e-book) Harbour
Página 1 de 5

Livro (e-book) Harbour

MensagemEnviado: 12 Ago 2016 13:33
por Vlademiro
Pessoal, estou escrevendo, nas horas vagas, um e-book sobre introdução a programação usando Harbour. O público alvo são os aprendizes que não tem experiência com linguagens de programação e ppessoas sem muito conhecimento técnico . Os usuários que tem experiência podem se beneficiar também pois eu estou tendo o cuidado de seguir toda a sequencia dos livros de programação. Em anexo tem o que fiz até agora.

O formato é bem acadêmico pois estou aproveitando um template em latex que usei para publicar uma monografia que eu fiz. Depois eu posto os fontes em latex no github para quem quiser acrescentar algo.

Introdução a programação com Harbour.pdf
(659.46 KiB) Baixado 879 vezes

Livro (e-book) Harbour

MensagemEnviado: 12 Ago 2016 19:33
por fladimir
Parabéns!!! com certeza é e será de grande valia...

Fiquei surpreso e lisongeado ao ver meu nickname nos agradecimentos em meio a tantos feras do fórum...

Eu / nós q agradecemos a toda comunidade q participa trocando idéias e contribuindo para o crescimento e compartilhamento do conhecimento.

[]´s

Livro (e-book) Harbour

MensagemEnviado: 14 Ago 2016 10:58
por Vlademiro
Criei um repositório no github com os fontes do e-book e com o PDF também.
Vou ficar atualizando por lá e notificando aqui pelo fórum.

https://github.com/vlademiro/ebook-harbour

Livro (e-book) Harbour

MensagemEnviado: 14 Ago 2016 13:34
por janio
Cara, Muuuito bom! Show! Parabéns1

Gosto muito dessa parte teórica pq com o passar dos anos a gente vai usando muita coisa sem ter um conhecimento 'adequado' da função ou comando. Até hj eu não sabia, por exemplo, a diferença entre FUNCTION e PROCEDURE.

Show

Jânio
(eterno aprendiz)

Livro (e-book) Harbour

MensagemEnviado: 14 Ago 2016 21:33
por Vlademiro
Bom saber que lhe ajudou. :)Pos

Eu tb estou aprendendo enquanto escrevo.
E, sendo bem sincero, já cometi erros grotescos por falta de teoria.
Não como esse seu que, no final das contas, é irrelevante.

Por exemplo, eu não sabia que a função SELECT é diferente do comando SELECT

Isso me causou algumas dores de cabeça, só porque eu não tinha me dedicado um pouco mais nas leituras.


FUNCTION MAIN()
LOCAL x

   USE BRW
   
   USE BRW_COL NEW
   
   SELE BRW
   x := SELECT( "BRW_COL" )
   ? x // A funçao SELECT retorna apenas o valor, mas não muda de área
   ? "A AREA ATUAL E ", ALIAS()
   
   SELECT ("BRW_COL") // O comando SELECT muda de área
   ? "A AREA ATUAL E ", ALIAS()
   
   // Apenas um espaço faz muita diferença SELECT( carea ) <> SELECT (carea)
   
   

RETURN NIL


Vivendo e aprendendo.

Livro (e-book) Harbour

MensagemEnviado: 14 Ago 2016 21:56
por JoséQuintas
Está bem didático, mas...
Vamos reclamar um pouquinho.... rs

Porque nos exemplos sempre define UTF-8 como codepage?

Tem exemplo com comando abreviado, isso é péssimo, porque exemplos costumam ser base pra outras coisas

Porque mostra parêntesis como sendo parte de PROCEDURE e mostra como equivalente a FUNCTION?
Não tem, por exemplo, isto:
PROCEDURE Main
   ? 5
   RETURN


Porque mostra exemplo de variáveis, e só depois fala sobre variáveis?

Porque mostra LOCAL x AS CHARACTER, se isso não é totalmente válido, pra não dizer que não serve pra nada?

Porque tem exemplo pra procurar erro de compilação que só ocorre se usar -w3 -es2, que talvez nem seja apresentado como erro?

Porque trata IF-ELSE-ELSEIF-ENDIF, e não faz o mesmo em DO CASE-CASE-OTHERWISE-ENDCASE?

Tipos de variáveis LOCAL, PRIVATE, PUBLIC, STATIC, acho que traduzir isso é um erro.
Aliás... apesar de costumarem traduzir PRIVATE pra PRIVADA, seria mais adequado PARTICULAR.
Como PRIVATE não tem nada de particular, melhor nem traduzir mesmo.

Aliás... o fórum também trata mensagens PRIVADAS, que são mensagens PARTICULARES.
Esse termo também é usado pelo governo, sobre empresas públicas e privadas, que seriam empresas públicas ou particulares.
Com os políticos atuais, a parte pública é que parece uma PRIVADA, grande e cheia.... rs

Livro (e-book) Harbour

MensagemEnviado: 14 Ago 2016 22:00
por JoséQuintas
Até hj eu não sabia, por exemplo, a diferença entre FUNCTION e PROCEDURE


Olhei novamente o manual, pra localizar aonde mostra isso, mas não encontrei.
Talvez tenha passado direto.
Ia confirmar se foi mostrado como as variáveis são tratadas diferentes, mas não encontrei.

Livro (e-book) Harbour

MensagemEnviado: 14 Ago 2016 22:10
por JoséQuintas
Aproveitando....
Neste final de semana encontrei um erro no manual do Harbour (3.2/3.4)

doc/en/memo.txt

$SYNTAX$
hb_MemoWrit( <cFileName>, <cString>, [<lWriteEof>] ) --> lSuccess
...
<lWriteEof> Is a logic variable that settle if the "end of file"
character - Chr( 26 ) - is written to disk.
This parameter is optional. By default is true (.T.)
...
There is a third parameter (optional), <lWriteEof>, (not found in
CA-Cl*pper) which let to programmer change the default behavior of
- always - to write the EOF character, Chr( 26 ) as in CA-Cl*pper.

If there is no third parameter, nothing change, EOF is written as
in CA-Cl*pper, the same occurs when <lWriteEof> is set to .T.
But, if <lWriteEof> is set to .F., EOF char is Not written to the
end of the file.
...
hb_MemoWrit() vs MemoWrit():
hb_MemoWrit() never writes the obsolete EOF char at the end of the file.

PROCEDURE Main

   hb_MemoWrit( "A", "A" )
   hb_MemoWrit( "B", "B", .F. )
   hb_MemoWrit( "C", "C", .T. )
   MemoWrit( "D", "D" )
   RETURN


no disco:

14/08/2016  12:53                 1 A
14/08/2016  12:53                 1 B
14/08/2016  12:53                 1 C
14/08/2016  12:53                 2 D


O ideal seria atualizar os documentos existentes no Harbour.
O difícil é pensar em português, e escrever em inglês.... rs
Não é tão simples quanto parece.

Nota: espero que seja erro no manual mesmo, se alterarem o funcionamento de hb_MemoWrit() ferrou.

Livro (e-book) Harbour

MensagemEnviado: 14 Ago 2016 22:22
por Vlademiro
Quintas, vou dar uma olhada nas suas observações, depois eu dou um retorno.

Valeu

Livro (e-book) Harbour

MensagemEnviado: 14 Ago 2016 23:09
por JoséQuintas
A diferença básica entre PROCEDURE e FUNCTION é que PROCEDURE não retorna nada, e FUNCTION retorna alguma coisa.

Geralmente em PROCEDURE usávamos PARAMETERS, que cria variáveis PRIVATE, apesar que FUNCTION também aceitava e ainda deve aceitar isso.
Já como parêntesis, as variáveis são tratadas como LOCAL.

PROCEDURE Teste
   PARAMETERS a, b
   ...

FUNCTION Teste( a, b )
...


A diferença é que LOCAL só existe dentro da rotina, e PRIVATE existe a partir daquela rotina e sub-rotinas, só desaparecendo quando sair da rotina que a "criou".
Isso faz muita diferença quando se tem rotina chamando rotina, chamando rotina, chamando rotina, etc. etc. etc. onde usar o mesmo nome pode interferir no valor de rotina anterior. Ou, sendo mais prático, quando o aplicativo vai crescendo, e começa a repetir nomes, declarar como LOCAL faz toda a diferença.

Livro (e-book) Harbour

MensagemEnviado: 14 Ago 2016 23:36
por Vlademiro
Vou postar as respostas. Só agora vi que vc postou algo sobre as variáveis, mas vou manter a postagem original que eu redigi no Notepad e vim aqui colar.

Segue :

* ) Porque nos exemplos sempre define UTF-8 como codepage?

Motivo 1 )

Lá no tópico 2.2.1 Uma pequena pausa para a acentuação correta tem o trecho onde eu abordo essa
questão. Alguns trechos eu resolvi adiantar para criar logo um padrão de codificação.

O público alvo é o desenvolvedor que está começando e que poderá
também usar os conhecimentos adquiridos em outras linguagens que ele possa
vir a aprender no futuro.

Atualmente esse padrão de codificação é recomendado
por vários desenvolvedores de softwares.

Por exemplo :

[url]
https://developer.gnome.org/integration ... html.pt_BR
[/url]

[url]
https://www.w3.org/International/questi ... ings.pt-br
[/url]

(faça uma busca por UTF-8 ou UTF8 nessas páginas que da para encontrar referencias
a essa nova forma de codificar. Eles claramente estão dando prioridade a ela)

É claro que as codificações vigentes não sairão de cena, mas UTF-8 parece que está
se estabelecendo como um principal padrão para troca de dados.

--------------------------------------------------------------------------------------------------
Eu penso assim, deixar os códigos em UTF-8 mas criar um apêndice explicando como mudar para as
outras codificações como a (WIN)ANSI e o velho padrão do DOS (esqueci o nome dele, acho eque é OEM).
--------------------------------------------------------------------------------------------------

Motivo 2 ) Eu estou preparando um material com os códigos e eu estou usando o UTF-8 neles. Já tem bastante
código digitado. Se alguém me ajudar a gente pode deixar tudo em outra codificação, mas tem que alterar
todos os fontes de exemplo. Não sei se vale a pena ficar com uma codificação que está sendo claramente preterida.

* ) Tem exemplo com comando abreviado, isso é péssimo, porque exemplos costumam ser base pra outras coisas

Tem razão, com certeza eu me enganei. Eu até programo SET DATE BRIT, mas lá eu coloco sempre SET DATE BRITISH.
Eu não encontrei esse comando. Daria pra vc me mostrar copiando e colando o trecho ?

* ) Porque mostra parênteses como sendo parte de PROCEDURE e mostra como equivalente a FUNCTION?

Posso acrescentar essa forma lá. Eu só vou abordar a diferença nos tópicos sobre funções.

* ) Porque mostra exemplo de variáveis, e só depois fala sobre variáveis?

Sim, eu adiantei alguns conceitos, como uma pequena introdução as funções (para mostrar a codificação) e também as variáveis, para
tornar alguns exemplos mais interessantes. A geração Y (convivo com ela todos os dias no trabalho) tem pressa e eu não quero
que fique muito enfadonho até chegar nas estruturas de controle e de repetição.
Vou mudar a parte das variáveis para o próximo capítulo, mas a pequena introdução as funções acho que da pra deixar como está.
Ainda bem que o latex permite essas mudanças sem muita dificuldade.

* ) Porque mostra LOCAL x AS CHARACTER, se isso não é totalmente válido, pra não dizer que não serve pra nada?

Eu resolvi fazer assim porque acho que é a forma que irá prevalecer daqui para frente. No final do capítulo sobre variáveis eu
abordo isso e deixo claro que ainda é um recurso que está sendo implantado. Andei postando no forum dos desenvolvedores, mas eu
não obtive nenhuma previsão sobre a adoção dessa nova forma. Vou perguntar de novo por lá.

* ) Porque trata IF-ELSE-ELSEIF-ENDIF, e não faz o mesmo em DO CASE-CASE-OTHERWISE-ENDCASE?

Eu descrevi essas estruturas corretamente, só que em alguns pontos eu não coloquei o nome correto. Vou ter que mudar lá.

* ) Tipos de variáveis LOCAL, PRIVATE, PUBLIC, STATIC, acho que traduzir isso é um erro.

Essa parte vai ser revista, eu apenas movi para o final do livro porque será um dos últimos assuntos. Para entender totalmente
esses conceitos precisa entender primeiro o que é sub-rotina (função) para depois partir para esses conceitos de escopo e tempo
de vida da variável.


RESUMINDO TUDO

1 ) UTF-8 : deixa como está, mas cria um apêndice esclarecendo os outros padrões.
2 ) Comandos abreviados : Vou mudar, mas se vc me ajudar colando o trecho eu agradeço
3 ) Parênteses em procedure : vou acrescentar a forma sem parenteses e deixar como principal. Mas eles reaparecerão com os parâmetros. Tem que revisar bem direitinho.
4 ) Formato novo de declaração de variável (AS CHARACTER) : Vou ver com o fórum de desenvolvedores. Se não houver previsão ou demorar muito eu tiro.
5 ) Formato CASE e IF : Vou procurar o ponto e alterar
6 ) Variáveis LOCAL, PRIVATE, etc. Essa parte ainda será revisada totalmente. Os livros de Clipper (Ramalho, Vidal, etc.) traduzem esses termos, tem que ver se os outros autores também fazem assim. Não queria me distanciar muito do estilo deles.

Obrigado pelas observações. :xau

Livro (e-book) Harbour

MensagemEnviado: 14 Ago 2016 23:38
por Vlademiro

Livro (e-book) Harbour

MensagemEnviado: 15 Ago 2016 00:03
por Vlademiro
Quintas, faltou essa :

Porque tem exemplo pra procurar erro de compilação que só ocorre se usar -w3 -es2, que talvez nem seja apresentado como erro?

Não achei esse falso erro. Todos os exemplos que tem erros de compilação realmente não compilam, independente de qual warning vc coloque. Esse aí vc tem que me mostar pois eu não estou encontrando.

Valeu

Livro (e-book) Harbour

MensagemEnviado: 15 Ago 2016 09:03
por janio
Vlademiro, meu conterrâneo cearense hehehe

Uma sugestão: acredito que também para o iniciamente, que é pra quem se destina seu e-book, seria bom um capítulo sobre a montagem do ambiente para compilação (isso eh chato pra caramba hehe), com links para baixar o Harbour 3.2 (acredito que é o mais usado) e também o compilador MinGW, com os respectivos ajustes do path,

Janio

Livro (e-book) Harbour

MensagemEnviado: 15 Ago 2016 09:14
por JoséQuintas
1 ) UTF-8 : deixa como está, mas cria um apêndice esclarecendo os outros padrões.


O mais comum em qualquer linguagem de programação é usar o padrão - default - que a linguagem já tem.

Quando esse leitor for olhar um aplicativo pronto, a primeira coisa que ele vai descobrir é que isso que viu no livro não está no fonte.
A segunda coisa, talvez, será estragar todo visual do aplicativo colocando UTF-8.
E talvez a terceira, seja descobrir que editores de texto não servem pra misturar codepages, e talvez seja tarde demais.

Livro (e-book) Harbour

MensagemEnviado: 15 Ago 2016 09:22
por JoséQuintas
seu exemplo:

REQUEST HB_CODEPAGE_UTF8EX

PROCEDURE Main()

   LOCAL nValor1 := nValor2 := 0

   hb_cdpSelect( "UTF8EX" )

   ? "Introduza dois números para que eu realize as quatro oper.: "
   INPUT "Introduza o primeiro valor : " TO nValor1
   INPUT "Introduza o segundo valor : " TO nValor2

   ? "Adição......... : ", nValor1 + nValor2
   ? "Subtração...... : ", nValor1 - nValor2
   ? "Multiplicação.. : ", nValor1 * nValor2
   ? "Divisão........ : ", nValor1 / nValor2

   RETURN


resultado na tela:

test.png
test.png (8.85 KiB) Visualizado 3380 vezes

Livro (e-book) Harbour

MensagemEnviado: 15 Ago 2016 09:34
por JoséQuintas
O erro -w3 -es2 me enganei, seria este, mas a declaração também está repetida, não percebi esse detalhe.

/*
Onde está o erro ?
*/
PROCEDURE MAIN()
LOCAL x, y, x // Número a ser inserido
x := 5
y := 10
x := 20

RETURN

test.prg(5) Error E0003  Duplicate variable declaration 'X'


seria diferente disto, que só acusa em -w3 -es2:

/*
Onde está o erro ?
*/
PROCEDURE MAIN()
LOCAL x, y // Número a ser inserido
x := 5
y := 10
x := 20

RETURN


d:\temp>hbmk2 test -w3 -es2
hbmk2: Processing environment options: -comp=msvc
Harbour 3.4.0dev (b6c8382) (2016-08-12 12:06)
Copyright (c) 1999-2016, http://github.com/vszakats/harbour-core/
Compiling 'test.prg'...
test.prg(11) Warning W0032  Variable 'X' is assigned but not used in function 'MAIN(6)'
test.prg(11) Warning W0032  Variable 'Y' is assigned but not used in function 'MAIN(7)'
test.prg(11) Warning W0032  Variable 'X' is assigned but not used in function 'MAIN(8)'

Livro (e-book) Harbour

MensagemEnviado: 15 Ago 2016 12:00
por JoséQuintas
Aproveitando....
Algo que não serve apenas para o ebook:

Como está o UTF-8 no Harbour?
Dá pra definir como codepage padrão e tudo é convertido automático?

E a parte mais complicada:
Como fica pra arquivos?

Provavelmente NÃO vai dar pra usar tranquilamente com DBFs.
Lembrando que UTF-8 não tem tamanho fixo, o que é o oposto do DBF.

Comunicação com bancos, provavelmente complica também no uso de TXT.

E no fonte?
Sei que o Harbour aceita compilar fonte em UTF-8.
Mas como trata os caracteres? se for definida outra codepage, os caracteres são convertidos automaticamente?

Livro (e-book) Harbour

MensagemEnviado: 15 Ago 2016 16:25
por Vlademiro
Para quem já tem sistemas grandes em DBF talvez não compense o trabalho de converter para UTF-8,
mas eu uso um DBU que eu compilei e ele funciona normalmente visualizando e salvando em UTF-8. Agora, cada campo
acentuado ocupa duas posições no DBF (e em qualquer banco). Por isso tem que deixar uns espaços de sobra no campo.

Quanto a converter automaticamente eu tenho quase certeza que o Harbour não faz isso. Até penso que
nenhuma linguagem faz isso automaticamente. Por exemplo, se eu salvar um arquivo no Notepad++ em ANSI
e acentuar corretamente, e depois converter para UTF8 ele vai gerar uns caracteres estranhos. Para ele converter
ele teria que identificar qual o formato anterior do arquivo para gerar no que eu quero (UTF-8).
O Harbour precisa que a outra ponta (um servidor SQL, um arquivo texto, etc.) já esteja em UTF8, aí fica tudo blz. Se não for, tem
que converter com as funções de conversão que vem com ele. Não sei se foi esse realmente o seu questionamento.

Quanto àqueles caracteres estranhos (coração, etc.) que apareceram no seu código, tem que ver se
o editor que vc utilizou tem suporte a UTF-8 e ele está ativado. Basicamente é a mesma coisa que o ANSI, só tem
que ver isso. No Notepad++ da pra mudar nos menus. Resumindo, o fonte precisa estar em UTF-8 também.

Se o público alvo principal fosse o pessoal que tem sistemas em DBF o padrão seria outro. Mas não quero ficar devendo
em nada as outras linguagens. Lá onde eu trabalho tem programador de todo o tipo : C, C++, Java, C#, PHP, Ruby, Python e até umas
que eu nunca vi direito como R, LUA, Haskell e outras estranhas. Vou me informar com eles sobre a codificação usada por
eles. A minha visão é que os novos sistemas estão convergindo para esse padrão, mas posso estar enganado.

Quanto a questão do tipo de dado na inicialização (AS CHARACTER) :
Eu postei ontem no fórum de desenvolvedores (vi a sua postagem sobre o hb`MemoWrit) perguntando se esse recurso já está adiantado.
Tenho um certo receio de parecer chato perguntando essas coisas lá. Eles pode achar que eu estou cobrando algo. Mas mesmo assim eu
perguntei. Ainda não visitei lá hoje. Agora que minha NET voltou. Um caminhão derrubou a fiação aqui próximo e só voltou a energia agora a pouco.

Obrigado pela ajuda, está sendo de grande valia.

Livro (e-book) Harbour

MensagemEnviado: 16 Ago 2016 16:27
por Vlademiro
Alterei a codificação dos arquivos para ANSI.

Fiz um levantamento com o pessoal daqui do trabalho. Eu trabalho em um laboratório de pesquisa de mestrado e doutorado em computação.

O pessoal aqui usa UTF-8 para tudo. Mas eu vi que tem um motivo.

1 ) Como tem muito projeto novo o UTF-8 já é quase o caminho natural.
2 ) No Linux já é o padrão.
3 ) Na Web nem se fala.

Mas conversei tb com pessoas que trabalham em empresas e eles disseram que tem problemas com codificações, mas que isso faz parte do
processo de mudança.

Verifiquei também que os editores de programação quando instalados não vem com o UTF-8 como padrão.

Enfim, pra não complicar a cabeça do iniciante eu alterei tudo pra ANSI e retirei as chamadas de UTF-8 no código, mas vou ter que criar
um apêndice ensinando o usuário a portar para UTF-8, que é aquela parte que já está feita, só que em um apêndice e algumas coisas a mais.

Eu testei aqui e deu certo, mas gostaria que alguém testasse os arquivo. Em anexo segue o zip com os códigos que digitei até agora.

Europa Ocidental (Windows) - 1252.zip
(35.42 KiB) Baixado 141 vezes


Suas intervenções foram valiosas. O meu tempo agora é que está curto pois as aulas voltaram aqui na universidade e tá o maior corre corre.
Ontem aqui foi feriado municipal, por isso me dediquei mais ao projeto do livro. Mas vou reduzir o ritmo nos próximos dias.

Obrigado.

Livro (e-book) Harbour

MensagemEnviado: 16 Ago 2016 16:30
por Vlademiro
Ia esquecendo.

Usei esse software para converter em lote os arquivos https://sourceforge.net/projects/cp-converter/

Livro (e-book) Harbour

MensagemEnviado: 16 Ago 2016 17:32
por JoséQuintas
Não entendi.
Esses fontes não vão estar dentro do e-book, como texto?
Ou vão ser arquivos anexos?

Livro (e-book) Harbour

MensagemEnviado: 16 Ago 2016 17:47
por Vlademiro
Vão ficar no ebook como texto, mas eu quero que vc me confirme se está ok. Eu não testei.

Livro (e-book) Harbour

MensagemEnviado: 16 Ago 2016 17:48
por Vlademiro
O projeto atualizado esta la em casa. Estando ok eu compilo e gero outro pdf.

Livro (e-book) Harbour

MensagemEnviado: 16 Ago 2016 17:49
por Vlademiro
Tô meio lento hoje. Porisso ta saindo a prestação as mensagens.

Quando eu disse compilo de novo e gero eu quis dizer compilo no ambiente do latex, não no harbour.

Livro (e-book) Harbour

MensagemEnviado: 16 Ago 2016 22:20
por Vlademiro
Pessoal,

Estou tendo problemas com a conversão para ANSI que eu fiz.
Veja o código abaixo.

/*
Uso de alltrim
*/
PROCEDURE MAIN
LOCAL cNome , cSobreNome

   cNome := "     José          "
   cSobreNome := "       Quintas      "

   ? "Concatenando o nome e o sobrenome sem ALLTRIM"
   ? cNome + " " + cSobreNome
   ? "Agora concatenando com ALLTRIM"
   cNome := AllTrim( cNome )
   cSobreNome := AllTrim( cSobreNome )
   ? cNome + " " + cSobreNome

RETURN


No editor xEdit está em ANSI.

Rodapé xEdit Ansi.png
Rodapé xEdit Ansi.png (5.48 KiB) Visualizado 3335 vezes


Eu pensei que bastava compilar e pronto, os acentos apareceriam.

Tela_execução_WindowsXP.png
Tela_execução_WindowsXP.png (3 KiB) Visualizado 3335 vezes


Obrigado antecipadamente.

Livro (e-book) Harbour

MensagemEnviado: 17 Ago 2016 07:00
por Toledo
Amigo, se não for especificado a linguagem e CodePage, o default será o Inglês.

HB_SetCodePage()
By default, code page 437 for the English language is selected. (Português é PT850 ou PTISO)

HB_LangSelect()
By default, the English language is selected. (Português é PT)

Abraços,

Livro (e-book) Harbour

MensagemEnviado: 17 Ago 2016 11:09
por Vlademiro
Obrigado, você como sempre é preciso nas suas observações.
Funcionou conforme o código abaixo

REQUEST HB_CODEPAGE_PTISO
PROCEDURE MAIN()

   HB_SETCODEPAGE("PTISO")
   ? "áéíúóãç´`EÍÓ"   
   
RETURN


Agora, o que eu notei é que compilar com suporte a UTF-8 é mais simples do que compilar com suporte a ANSI.
Quando fui executar o exemplo acima, o harbour que eu utilizo (3.2) reportou o seguinte :

hbmk2 testecod
hbmk2: Dica: Adicionar opção 'xhb.hbc' faltando nas funções: hb_SetCodepage()

aí tive que fazer assim : hbmk2 testecod xhb.hbc para poder incluir essa lib adicional.

Com suporte a UTF-8 não precisa incluir nenhuma lib extra. Bem mais simples para o iniciante.

Valeu.

Livro (e-book) Harbour

MensagemEnviado: 17 Ago 2016 11:27
por Jairo Maia
Olá Vlademiro,

Primeiro parabéns pela iniciativa, como já demonstrei curtindo sua postagem inicial, mas permita-me uma observação:

Se o objetivo desse trabalho é inicialmente atingir brasileiros (pois está em português), aconselho iniciar usando: HB_CdpSelect( "PT850" ).

Se você iniciar o aprendiz usando PTISO, terá que conjuntamente ensinar a usar um drive GT, pois será necessário usar o comando: Hb_GtInfo( HB_GTI_COMPATBUFFER, .f. ).

Se não fizer isso, ao usar SaveScreen() e RestScreen() a tela irá desconfigurar.

Livro (e-book) Harbour

MensagemEnviado: 17 Ago 2016 12:21
por Vlademiro
Obrigado Jairo, funcionou sem precisar de libs.

Ficou assim

/*
Comandos ? e  ??
*/
REQUEST HB_CODEPAGE_PT850
PROCEDURE MAIN()
   
    HB_CdpSelect( "PT850" )
    ? "áéíóúçÇ"
       
RETURN



Também já converti os exemplos.
Aproveitando o assunto, estava pensando em preparar um ambiente com o harbour e com um editor de textos para distribuir juntamente com a aplicação.
Alguma sugestão sobre qual editor usar ? Eu uso o xEdit, mas sei que tem ótimos editores. Queria um que já destacasse a sintaxe e que pudesse abrir os códigos (que eu já converti para PT850) sem precisar de maiores alterações. De preferência, mas não necessariamente, portable para ser distribuido junto com a linguagem.

Valeu gente

Livro (e-book) Harbour

MensagemEnviado: 17 Ago 2016 16:47
por Vlademiro
Baixei o xDev 0.7 do Vailton, fiz uns testes e está dando tudo certo até agora.

Livro (e-book) Harbour

MensagemEnviado: 20 Ago 2016 16:35
por janio
Vlademiro,

Acho que o tópico foi um pouco desvirtuado rsrsrsrs, ja que o e-book eh para iniciantes e não programação avançada!

Falei isso la atras oh:

Vlademiro, meu conterrâneo cearense hehehe

Uma sugestão: acredito que também para o iniciante, que é pra quem se destina seu e-book, seria bom um capítulo sobre a montagem do ambiente para compilação (isso eh chato pra caramba hehe), com links para baixar o Harbour 3.2 (acredito que é o mais usado) e também o compilador MinGW, com os respectivos ajustes do path,

Janio


O iniciante que começa a ler seu e-book tem uma visao inicial da linguagem, mas logo em seguida tem alguns exemplos de fontes. Como ele vai compilar os exemplos e ver na prática como tudo funciona, se ele não tem ainda montado um ambiente de programação e compilação?

Minha sugestão eh logo de cara apresentar o harbour, indicando:

1 - Sugestão de algum editor com o respectivo link, esclarecendo, inclusive, que os fontes em harbour tem a extensão .prg, que eh para o iniciante salvar seus exemplos nesta extensão.
2 - Link para baixar a ultima versao estavel do harbour (3.2);
3 - Link para baixar o compilador padrão (MinGW);
4 - Ajustes de path no windows;
5 - exemplos de compilação (hbmk2 exemplo.prg... etc etc etc)

Janio

Livro (e-book) Harbour

MensagemEnviado: 21 Ago 2016 10:34
por Vlademiro
Oi Jânio, obrigado pelas dicas.

Você tem razão, eu é que comecei a escrever "avechado" (como se diz aqui no Ceará) e acabei atropelando tudo. :D

Eu já havia notado essas falhas durante a semana e nas horas vagas fiz algumas alterações. Não postei no git pois estou com problemas para postar lá. Eu uso aqui em casa o XP com um programa tipo Deep Freeze (Shadow Box o nome dele). Aí fica excluindo as minhas configurações.

Bom, mas vamos as alterações :

1 ) Padrão de codificação ficou sendo a antiga mesmo (PT850). Eu pretendo disponibilizar alguns códigos parcialmente digitados e uma codificação padronizada ajuda com os acentos.

2 ) Estou preparando um zip com tudo : Harbour, Gcc e xDevStudio para facilitar a instalação. No livro já tem as instruções. O xDevStudio é muito bom e, pelos testes que fiz aqui ele é portable. Então é só descompactar a pasta com o Harbour e o xDevStudio e configurar o PATH que tudo vai funcionar. Detalhei tudo nos capítulos iniciais.

3 ) Retirei as notações novas que não foram ainda implementadas. (AS NUMERIC)

4 ) Inclui muitos detalhes e um capítulo extra sobre o processo de compilação.

Segue uma amostra totalmente revisada até o capítulo 4 (já escrevi até o capítulo 7, mas ta meio bagunçado ainda) estou preparando também uns apêndices ensinando a baixar o Harbour e instalar no Windows, Linux, etc. Também explicando codificação, e outros detalhes importantes que se ficassem no livro iriam mais atrapalhar do que ajudar.

Harbour.pdf
(421.33 KiB) Baixado 169 vezes


:xau

Livro (e-book) Harbour

MensagemEnviado: 21 Ago 2016 21:11
por JoséQuintas
Acho que depois das postagens deu pra entender porque usar o default.

Se começar logo com codepage, já viu a complicação.

Aliás....
Convém tratar tudo como default.
Até mesmo datas, coisa que no Clipper não era igual no Harbour.

x := Stod( "20160821" )


Isso funciona sempre, independente do formato de data dos fontes.
No Clipper não lembro de poder usar um formato universal.

E já convém alertar sobre codepage, como assunto posterior, em capítulo próprio, porque isso vai longe.

Se tratar logo de cara, vai espantar todos... rs

Livro (e-book) Harbour

MensagemEnviado: 28 Ago 2016 13:52
por Vlademiro
Atualização da semana.

Harbour.pdf
(540.65 KiB) Baixado 167 vezes

Livro (e-book) Harbour

MensagemEnviado: 28 Ago 2016 13:56
por Vlademiro
Quando eu publico eu vejo que tem alguma coisa errada.

Na página 39 eu seu a palavra "parênteses", quando na verdade era para usar "aspas".

Postei aqui para me lembrar de mudar mais tarde.

Livro (e-book) Harbour

MensagemEnviado: 04 Set 2016 23:47
por Vlademiro
Atualização.

Harbour.zip
(586.64 KiB) Baixado 184 vezes


Vou deixar de publicar por aqui para evitar sobrecarregar o fórum com arquivos que não estão finalizados. Vou regularizar a conta no github (lá ta dando problema) e ficar apenas avisando aqui quando atualizar.

Livro (e-book) Harbour

MensagemEnviado: 05 Set 2016 10:40
por JoséQuintas
Dá uma pesquisada no github como salvar o manual pronto sem controle de versão.
Com controle também dá certo, mas sem controle evita acumular backups desnecessários.
Só retira esse controle do arquivo "compilado" do manual, mantendo dos arquivos individuais.

Compare isso com fontes de um aplicativo e o EXE.
O controle dos fontes é importante, mas para o EXE basta o final que será usado pra download.
Ter todas as versões do EXE vai ser só gastar espaço à toa.

Não sei como fazer isso, mas sei que é possível.
Tem a ver com a configuração na pasta .GIT, que pode ser modificada via comandos.
Uma vez configurado, fica resolvido pra sempre.

A partir daí, seria só publicar o link aqui.

Livro (e-book) Harbour

MensagemEnviado: 04 Out 2016 16:42
por mjuliao
Vlademiro, excelente iniciativa parabéns!
Gostaria de sugerir que no proprio e-book (pdf) fosse indicado o link da fonte para que fosse verificado novas versões caso existam.
Abraço!

Livro (e-book) Harbour

MensagemEnviado: 04 Out 2016 19:25
por Vlademiro
Valeu pela dica, vou fazer isso. Desde a postagem inicial eu todos os dias acrescento alguma coisa ao livro, já tenho bastante código de exemplo, mas ainda falta muito. Acabei criando alguns capítulos adicionais (detalhando um pouco mais a interface texto), de modo que esse que vc deve ter baixado está bem defasado. Não vou postar ainda porque quero pelo menos concluir totalmente a versão inicial dele para depois receber as críticas. De lá para cá o Harbour mudou um pouco, os desenvolvedores criaram a declaração de variáveis nos moldes do Visual Objects e eu vou criar alguns apêndices. Mas não estou em um ritmo muito rápido por que tenho outros projetos, ligados ao Harbour ou não.

Livro (e-book) Harbour

MensagemEnviado: 05 Out 2016 08:35
por asimoes
Vlademiro,

Muito obrigado pela sua contribuição, posso fazer uma sugestão no PDF?
É possível você colocar marcadores?

Como no exemplo a seguir:

ScreenShot008.png

Livro (e-book) Harbour

MensagemEnviado: 08 Out 2016 12:58
por Vlademiro
É uma boa ideia colocar marcadores, pois facilita a pesquisa, principalmente se o PDF estiver em um tablet ou smartphone.
Provavelmente deve existir sim uma forma de colocar, eu é que não sei como fazer.

Vou pesquisar um pouco no google e ver alguma coisa sobre isso.

Livro (e-book) Harbour

MensagemEnviado: 08 Out 2016 13:55
por sygecom
Parabéns, ficou muito bom.

Livro (e-book) Harbour

MensagemEnviado: 09 Out 2016 12:30
por Vlademiro
É pessoal, realmente vou ficar devendo esses índice por dois motivos :

1 ) O comando Latex que faz esse índice não está funcionando com o template que eu uso. Esse meu template está desatualizado.

2 ) Eu não tenho conhecimentos suficientes em Latex para alterar isso.

Eu disse que não iria mais publicar até ficar apresentável, mas vou só mandar um capítulo de exemplo. Lá eu consegui o que o Alexandre sugeriu, e consegui Links clicáveis dentro do documento, mas aí a parte que faz a bibliografia e as referências das imagens parou de funcionar.

Essa versão é uma versão resumida e tem apenas um capítulo sobre interface caractere. Lá aparece capítulo 1, mas na verdade é o capítulo 8 do livro. Veja que tem o índice mas as referências sumiram.

Imagem

Vou tentar mais um pouco, se não conseguir o índice (bookmark) será retirado pois as referências bibliográficas e as imagens são mais importantes.

Livro (e-book) Harbour

MensagemEnviado: 15 Out 2016 22:55
por Vlademiro
É... realmente não consegui incluir os links. Vou ficar devendo essa dos links.

Segue a última versão com tudo o que fiz até agora : http://www.4shared.com/office/SDh3wvPKce/Harbour__1_.html

acho que a versão final ficará com umas 500 páginas mais ou menos.

Livro (e-book) Harbour

MensagemEnviado: 04 Nov 2016 10:49
por WilliamSouza
Olá Valdomiro

Fiz download do seu PDF e achei excelente o material para quem é iniciante, inclusive devo usa-lo para ministrar as minhas aulas de lógica de programação. Como sou desenvolvedor ADVPL (Microsiga Protheus), ficou muito fácil entender e praticar, tive algumas dúvidas de como dividir o meu programa em vários fontes e compila-los de uma vez, achei que ficou um pouco confuso.

Para uma segunda apostila, recomento fazer passo a passo a construção de um sistema com acesso a banco de dados, assim você vê na prática como é desenvolvido um sistema e fecha o conhecimento adquirido.

Att.

Livro (e-book) Harbour

MensagemEnviado: 04 Nov 2016 16:57
por rochinha
Amiguinhos,

Vlademiro o seu trabalho está ficando ótimo e será por muito tempo de grande valia para o aprendizado.

:-Y :{ X:)

Livro (e-book) Harbour

MensagemEnviado: 01 Dez 2016 14:04
por Vlademiro
Tive que dar um tempo na criação do livro, mas essa discussão sobre páginas de código foi bem proveitosa pois esclareceu algumas coisas para mim. Eu só uso UTF-8, mas no livro eu resolvi seguir o conselho da comunidade e usar o padrão do Harbour. Isso porque é um projeto para o público iniciante, que não conhece muito ainda sobre esse assunto. O editor aconselhado é o xDevStudio que já vem junto com os arquivos do projeto. Ele pode ser baixado de : http://www.4shared.com/zip/ltA6P4QCba/Curso_Harbour.html .

Livro (e-book) Harbour

MensagemEnviado: 18 Dez 2016 13:27
por Vlademiro
Hazael,
Obrigado pelos links.

Realmente o xDevStudio é um excelente editor, talvez o Vailton disponibilize um suporte para UTF-8 no futuro.

A sugestão do colega William Souza sobre o desenvolvimento de uma aplicação também é muito boa, mas eu pretendo primeiro concluir os vinte capítulos (eram dez) para depois partir para uma atualização. Estou pensando em ir desenvolvendo a aplicação a medida que os assuntos são abordados.

Os capítulos finalizados são :

\input{cap01} % Introdução e a quem se destina o livro
\input{cap02} % Introdução e Instalação do harbour
\input{cap03} % Meu primeiro programa em Harbour
\input{cap04} % Variáveis
\input{cap05} % Tipos de dados e operadores
\input{cap06} % Algoritmos
\input{cap07} % If
\input{cap08} % Parte 2
\input{cap09} % Comandos relacionais e de controle de fluxo
\input{cap10} % Funções
\input{cap11} % Elementos básicos de interface
\input{cap12} % Procedimentos (rotinas e sub-rotinas)
\input{cap13} % Classes de variáveis
\input{cap14} % Controle de erros

Estou escrevendo
\input{cap15} % Tipos derivados (array e hash)

Falta terminar esses
%\input{cap16} % Arquivos DBFs
%\input{cap17} % O pré-processador
%\input{cap18} % Blocos de código e macros
%\input{cap19} % Programação orientada ao objeto
%\input{cap20} % Conclusão e o futuro

Esses aqui são assuntos para futuros upgrades
% Programação orientada por eventos
% Set Key
% Acesso a arquivos de baixo nível
% Campos Memo
% A classe TBrowse
% A classe TGet
% Arquivos DBFs em rede
% Relatórios
% SQL
% Comunicando-se com o Windows
%
% RDD

Quem quiser baixar a versão atual ai está o link:
http://www.4shared.com/office/OPfrnxZ7ba/Harbour__2_.html

Sugestões são bem vindas.

Livro (e-book) Harbour

MensagemEnviado: 18 Dez 2016 23:54
por Vlademiro
Essa é uma versão reduzida do livro: apenas a apresentação (não dá para tirar pois faz parte do template), o capítulo 4 e o apêndice com a resposta dos exercícios.

Durante a explicação eu coloquei o fonte independente juntamente com uma tela da execução do fonte. Tem dicas em um box com uma cor mais escura e as referências retiradas de livros e links de sites.

Como o arquivo é pequeno vou postar aqui mesmo. Os demais capítulos seguem o mesmo esquema.

Harbour.pdf
(351.73 KiB) Baixado 230 vezes

Livro (e-book) Harbour

MensagemEnviado: 19 Dez 2016 12:59
por Itamar M. Lins Jr.
Ola!
funções e procedures de maneira útil no lado direito do editor
a HBide tem isso.
exceto hbIDE que é enorme, complicado e lento.

Você pode baixar a HBIDE(atualizada) somente o EXE não precisando das DLL´s da QT.
https://sourceforge.net/projects/qtcontribs/files/MinGW_620_Qt_570_r442_HbIDE.zip/download
Complicado ? ela usa os arquivos .HBP para montar o projeto abre DBF etc... a mais completa IMO.
Usei a xDev por algum tempo, muito boa, achei a HbIde mais fácil de usar do que a xDev.
E tem o xEdit gratuito do Xailer top também!
http://www.xailer.com/download?file=1, na minha opinião melhor que o xDev(por estar velha)
Essa são as duas que conheço e indico para o pessoal, porque são feitas para o programador Harbour(atualizadas) a HbIde trabalha com toda documentação atualizada do Harbour.
Outra coisa sobre a documentação, a oficial nos dois projetos é a que o Viktor, atualiza e corrige, está nos dois projetos 3.2 e 3.4.

Saudações,
Itamar M. Lins Jr.

Livro (e-book) Harbour

MensagemEnviado: 19 Dez 2016 16:07
por Itamar M. Lins Jr.
Ola!
Quando entrar neste assunto [% SQL] veja o que o Pritpal está fazendo usando a HBQT->HBQtScripts
Uploaded is latest HbDBU which contains implementation of
SQL aggregate and some other useful functions. Please note that
HbDBU is an extremely useful productivity tool.


+ Added: FUNCTION __hbqtExecSelect( cFields, cFrom, cWhere, cOrder, cInto )
which is activated with a statement like:

SELECT first,last,age,state FROM c:\harbour\tests\test.dbf ;
ORDER BY age-desc,state WHERE age>60

#command SELECT <fld,...> FROM <from> ;
[INTO <into>] ;
[ORDER BY <order,...>] ;
[WHERE <*whr*>] ;
=> ;
__hbqtExecSelect( #<fld>, <"from">, #<whr>, #<order>, <"into"> )

preprocessor directive is sent with the script buffer automatically.

; Yes, you read it right. HbQtScripts now implement a sub-set of
SQL SELECT statement which is translated to database commands and
result is displayed via Browse(). Let us understand the difference
in true SQL statement components vs HbQt.


Sintaxe SQL usando DBF!
; Example calls:
SELECT * FROM c:\harbour\tests\test.dbf ORDER BY age WHERE age>=90

SELECT first,last,age,state,zip,sum(age * age),count(*) ;
FROM c:\harbour\tests\test.dbf ORDER BY age-desc,state WHERE age>66

SELECT age,state,Func(age*salary),Right(state,1),Sum(salary),Min(salary),Max(salary),Avg(salary),Count(*) ;
FROM c:\harbour\tests\test.dbf GROUP BY age,state ORDER BY age-desc,state WHERE age > 66


Saudações,
Itamar M. Lins Jr.

Livro (e-book) Harbour

MensagemEnviado: 20 Dez 2016 09:30
por lucimauro
Eu também estou totalmente adaptado a HBIDE, no inicio sempre é complicado a adaptação mais hoje estou 100% com ela.

Livro (e-book) Harbour

MensagemEnviado: 20 Dez 2016 16:58
por Itamar M. Lins Jr.
Ola!
Sobre a lentidão, aqui roda normal num note Acer p6200(quase um i3), com vários serviços (sgbd's) ativos, o tema eu uso o Pritpal's Favourite.
Sobre os CodePage´s são importados diretamente do Harbour, esse PTISO x FRISO ser a mesma coisa acredito que tem os símbolos no FR que no PT não tem, o sinal de EURO por exemplo... ou a numeração, francês não é português, enfim acho isso questão de gosto pois fica em uma aba e não interfere no conjunto da obra.
A parte dos temas você tem total liberdade de criar o seu.
Sobre a lista de funções, ser atualizada quando salva, podemos ver isso com o Pritpal, sobre o intellisense(aparecer a função com os parâmetros) a HbIDe tem isso e muito mais é só ativar, recuo, auto completion etc... a xDev não tem por exemplo as funções novas do Harbour enfim é discussão sobre o que pode ou não ser mudado, na HBide podemos mudar melhorar qualquer coisa, no xDev você não pode. Reportamos bugs da xDev para quem ?
A HbIde vc pode melhorar ela e até usar como aprendizado pois seu fontes estão abertos para qualquer um, é toda em Harbour + HBQt. Cadê o código da xDev ?
A filosofia da HbIde é a mesma do Harbour, qualquer um com conhecimento pode agregar valores, é sempre bom ver por esse lado.
Por exemplo vc não roda a xDev no Linux. a HbIde funciona igualzinha, tanto faz Windows ou Linux. Enfim é ficar estacionado e preso com uma ferramenta que está estagnada e mantida por apenas uma pessoa ou evoluir para a comunidade, visões, abordagens diferentes.

Saudações,
Itamar M. Lins Jr.

Livro (e-book) Harbour

MensagemEnviado: 22 Dez 2016 15:01
por Itamar M. Lins Jr.
Ola!
A HbIde tem grupo internacional, HBDbu, são ferramentas do pacote maior chamado QtContribs, criadas pelo Pritpal Bedi, ele convocou a pouco tempo, todos a se manifestarem para pedir correções e fazer melhorias na HbIde, quem sabe ele faça essas que vc está querendo ? Não custa nada solicitar.
Hello Everybody

I am hooked to HbQt until this week end.
If you have any feature requests for HbQt in general,
HbIDE and HbDBU specifically, please speak-out.

Pritpal Bedi
a student of software analysis & concepts


https://groups.google.com/d/msg/qtcontribs/434H2RJ1prA/q_hRmj1iBwAJ

Saudações,
Itamar M. Lins Jr.

Livro (e-book) Harbour

MensagemEnviado: 22 Dez 2016 19:27
por wmanesco
Na minha opinião, de todos os que usei prefiro o Atom como opção grátis e UEStudio como opção paga...

Os 2 consegui configurar bem e criar scripts, utilizar linter, que para o UEstudio foi desenvolvido, e para o Atom tem pacotes disponiveis, bem interessantes, onde aponta os erros e warnings gerados pelo hbmk2 enquanto desenvolvemos. Acho que poupa um tempo e por ser editores rapidos ajuda na agilidade dos projetos.

Livro (e-book) Harbour

MensagemEnviado: 27 Dez 2016 12:34
por Vlademiro
Pessoal, estou precisando de alguém que me tire uma dúvida sobre hash.

:-o

Eu estou escrevendo um capítulo sobre arrays e hashs mas estou com problemas para criar um exemplo com a propriedade Binary do hash. Estou mandando o PDF do capítulo em anexo para vcs darem uma olhada.

Basicamente é o seguinte :

Pelo que eu entendi (através da página Harbour for begginers ) a propriedade Binary (que á a padrão) ordena o hash de uma forma, mas quando eu desabilito essa propriedade o hash continua na mesma ordenação. Eu preciso de um exemplo que faça o leitor entender a diferença que a propriedade faz, para isso preciso que o Hash mude de ordem.

Se alguém quiser ajudar é bom baixar o PDF e ver na página 53 a explicação e os exemplos que eu coloquei.

Harbour.pdf
(558.5 KiB) Baixado 207 vezes


Página 53.

Livro (e-book) Harbour

MensagemEnviado: 02 Jan 2017 11:14
por ricardo-barros
Parabéns, Vlademiro.

Infelizmente me falta profundidade para lhe atender neste quesito. Mas gostei da sua maneira de escrever e de exemplificar. Já estou ansioso pela conclusão do seu livro.

Como poderei adquiri-lo?

Livro (e-book) Harbour

MensagemEnviado: 04 Jan 2017 20:54
por Vlademiro
Ricardo,

O arquivo PDF eu estou publicando no 4shared sempre que eu concluo um capítulo, não tenho a intenção de cobrar nada por ele, pois quero ajudar na divulgação da linguagem. Depois, quando estiver revisado e testado, vou ver se consigo traduzir para outro idioma. Uma mudança chata que eu notei no 4shared é que ele está exigindo que a pessoa seja cadastrada para poder baixar o arquivo.

Hazael

hazael escreveu:Já experimentou selecionar uma codepage no seu código?

Uma sugestão que dou é de remover o número da linha do lado do código ou editar de outra maneira em que o usuário possa copiar o código sem os números de linha. O motivo da minha sugestão é para facitar copiar o código "raw" sem precisar ter que ficar apagando os números de linha .


Vou pesquisar isso, mas acho que não tem como tirar o número da linha. Se não conseguir, vou tentar inserir o nome do arquivo PRG na listagem e disponibilizar os PRGs. O bom mesmo para quem está estudando é copiar os códigos, mas vou arranjar uma forma de facilitar a cópia ou então eu disponibilizo os PRGs. Eu, particularmente, só consigo aprender digitando, mas se alguém não tem essa limitação vou disponibilizar os fontes, o mais importante é facilitar a vida de quem está querendo aprender.

Livro (e-book) Harbour

MensagemEnviado: 21 Jan 2017 20:21
por Vlademiro
Olá, pessoal

Fiz mais algumas alterações no livro.

Mudei o local para o google pois acho que é melhor para baixar. Coloquei tudo lá, os fontes em latex e os fontes dos arquivos de exemplo.

No arquivo a seguir tem os links e as explicações

upload_pctoledo.txt
(563 Bytes) Baixado 1512 vezes


:xau

Livro (e-book) Harbour

MensagemEnviado: 19 Set 2018 02:23
por manhobby
Está escrito na conclusão do livro Introdução a programação usando a linguagem Harbour do Vlademiro :

"Esse livro ainda não está terminado (hoje é 13 de fevereiro de 2017), mas estou
satisfeito em conseguir concluir a primeira versão dele. Quando eu iniciei a sua escrita, em agosto de 2016, eu não imaginava que ele ficaria tão extenso e nem que demoraria tanto para
concluir a sua versão inicial. O código fonte desse livro está disponível em http://www.
pctoledo.com.br/forum/download/file.php?id=4442".

Referência: https://drive.google.com/drive/folders/ ... sp=sharing

Quando provavelmente o livro Introdução a programação usando a linguagem Harbour do Vlademiro estará terminado?

Livro (e-book) Harbour

MensagemEnviado: 19 Set 2018 10:12
por Vlademiro
Pessoal desculpe a demora em responder

Nem tinha visto os posts anteriores. O post acabou "descendo" e eu diminui a minha frequência aqui no fórum de modo que acabei nem notando.

Então... no momento estou desenvolvendo um webserver em harbour (projeto pessoal). Estou trabalhando nesse projeto desde fevereiro de 2018 e não visitei muito o fórum desde então. Esse webserver acabou maior do que eu esperava, pensava que ia demorar poucos meses mas já estou sétimo mês de desenvolvimento. Como eu não trabalho diretamente com harbour ele fica meio que em segundo plano.

Quanto ao livro eu vou retomar de onde parei mas não tenho previsão. Mas o livro está praticamente concluído, a parte que falta são os apêndices que estão bastante incompletos, mas a teoria dos fundamentos de programação já está terminada. Gostei muito de ter escrito ele e confesso que aprendi muito enquanto escrevia. Os fontes do livro estão no link postado anteriormente e os fontes também. Uma coisa que deixei bem claro foi que o livro foi escrito nos moldes de um trabalho acadêmico (aproveitei os fontes em latex de uma monografia que fiz) e alguns podem não gostar.

Livro (e-book) Harbour

MensagemEnviado: 19 Set 2018 10:15
por Vlademiro

Livro (e-book) Harbour

MensagemEnviado: 02 Ago 2022 22:55
por EduardoRS
Boa Noite!
Acompanho este fórum a muito tempo, mas de forma aleatória.
Eu li o e-book do Vlademiro, achei muito bom. Mas estou procurando algo mais avançado.
Tem algum livro/e-book mesmo em inglês?

Muito Obrigado

Livro (e-book) Harbour

MensagemEnviado: 03 Ago 2022 08:05
por Itamar M. Lins Jr.
Olá!
Bem vindo ao forum!
Tem vários livros, mas nenhum novo, deve achar em sebos, qualquer livro do CLIPPER versões 5x
Na parte gráfica não tem livro, são os exemplos da própria lib gráfica que escolher.

Saudações,
Itamar M. Lins Jr.