Iniciante em Harbour - lib gráfica
Moderador: Moderadores
Iniciante em Harbour - lib gráfica
Meus amigos,
Estou iniciando em Harbour agora. Antes usava o xharbour.
Mas nunca usei nenhuma lib gráfica. Agora estou interessado em aprender a usar. Só que sou completamente leigo sobre isso. Programo há 17 anos, inicialmente em Dbase, depois em Clipper, depois em xHarbour e agora no Harbour, mas sempre apenas para uso pessoal e de meus funcionários. Não sou da área, não faço nada comercialmente.
Já li muita coisa no grupo a respeito, mas ainda não cheguei a conclusão sobre qual é o melhor caminho para começar, que dê pra eu, como leigo, entender.
Gostaria da sugestão dos colegas sobre qual lib usar, como instalar e os primeiros passos para aprender a usá-la.
Grato
Inacio
Estou iniciando em Harbour agora. Antes usava o xharbour.
Mas nunca usei nenhuma lib gráfica. Agora estou interessado em aprender a usar. Só que sou completamente leigo sobre isso. Programo há 17 anos, inicialmente em Dbase, depois em Clipper, depois em xHarbour e agora no Harbour, mas sempre apenas para uso pessoal e de meus funcionários. Não sou da área, não faço nada comercialmente.
Já li muita coisa no grupo a respeito, mas ainda não cheguei a conclusão sobre qual é o melhor caminho para começar, que dê pra eu, como leigo, entender.
Gostaria da sugestão dos colegas sobre qual lib usar, como instalar e os primeiros passos para aprender a usá-la.
Grato
Inacio
Inacio de Carvalho Neto
- Dr.Microso
- Usuário Nível 3

- Mensagens: 173
- Registrado em: 12 Jan 2009 21:26
- Localização: Belo Horizonte, MG
Iniciante em Harbour - lib gráfica
Prezado Inácio, saudações!
Se você utilizar o sistema de busca do Fórum e escrever GRÁFICA, vai "pipocar" vários posts sobre algumas sugestões...
Não vou te citar o nome de uma GUI, porque o que pode ser bom e conveniente para mim, concedendo-me "o céu" e poupando-me tempo, pode ser uma longa "via-sacra" para o outro... Ao ler os posts, é interessante notar que o modo de sugestão/discussão é sempre parecido e ecoam como um "mantra"...
Mas, mas... Se estivesse começando... Daria preferência àquela que tivesse que escrever menos código, a leitura fosse mais limpa e inteligível para facilitar a posterior manutenção, tivesse um bom número de usuários e exemplos prontos para download/estudo, fosse intuitiva e - principalmente - bem documentada, para poupar-me tempo e aos outros ("time is money").
Vou te sugerir algo que talvez "quebre essa corrente de pensamento", seja mais didático e possa ajudá-lo (e a outros...) a decidir melhor.
Faça a postagem de um pequeno e completo programa seu e, perceba através da "transfiguração" dada aos módulos que os colegas de boa-vontade vão fazer à seu código, qual melhor optar.
Um abraço!
Se você utilizar o sistema de busca do Fórum e escrever GRÁFICA, vai "pipocar" vários posts sobre algumas sugestões...
Não vou te citar o nome de uma GUI, porque o que pode ser bom e conveniente para mim, concedendo-me "o céu" e poupando-me tempo, pode ser uma longa "via-sacra" para o outro... Ao ler os posts, é interessante notar que o modo de sugestão/discussão é sempre parecido e ecoam como um "mantra"...
Mas, mas... Se estivesse começando... Daria preferência àquela que tivesse que escrever menos código, a leitura fosse mais limpa e inteligível para facilitar a posterior manutenção, tivesse um bom número de usuários e exemplos prontos para download/estudo, fosse intuitiva e - principalmente - bem documentada, para poupar-me tempo e aos outros ("time is money").
Vou te sugerir algo que talvez "quebre essa corrente de pensamento", seja mais didático e possa ajudá-lo (e a outros...) a decidir melhor.
Faça a postagem de um pequeno e completo programa seu e, perceba através da "transfiguração" dada aos módulos que os colegas de boa-vontade vão fazer à seu código, qual melhor optar.
Um abraço!
"O que domina aos outros é forte; o que domina a si mesmo é poderoso." [ Lao-Tsé - séc VII AC]
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Iniciante em Harbour - lib gráfica
Inacio, você perguntou eu responderei sem peso na consciência. E falarei por experiência própria. Eu levei mais de 5 anos buscando entre Harbour e xHarbour, instalando aqui e lá, BCC e caramba quatro e pedindo alguma ajuda aqui no fórum... mas sempre fiquei mais confuso e até mesmo perdendo tempo. Puxa amigo, nem sabe o quanto peguei raiva desse Harbour e xHarbour. Mas conheci um site estrangeiro do Raumi75 que tradução fiz em arquivo neste tópico em arquivo .doc e outro site "HMG Lights" do brasileiro Daniel Crocciari aliás foi através deste que chamou a minha atenção primeiramente. Quiser saber mais e ir pelo caminho que eu considero o mais curto, o mais prático e seguro, vai de HMG e MiniGui e leia os meus tópicos em:
https://pctoledo.org/forum/viewto ... 543#p65839
https://pctoledo.org/forum/viewto ... 58&start=0
Falo de HMG e Minigui, por possui uma IDE (para quem não sabe) é um programa que auxilia na confecção de tela e compila, sem a necessidade de estar configurando praticamente nada. Sem se preocupar de bibliotecas, BCC e caramba quatro !! A IDE do HMG ou da Minigui, são bem simples e são gratuitas. E é fundamental você praticar com os exemplos que vem no pacote na instalação, estão na pasta SAMPLES. Como já disse o colega, compile, analise e veja os resultado. Mas ponha a idéia principal que o Daniel da Lights diz (link acima) sobre o conceito de programar em forma gráfica: é completamente diferente, outro conceito de como programar. Se não tiver a sua cabeça aberta nisso, então ainda não é hora de você migrar. Ai continue em modo console (tela típica de aplicações feito em Clipper), aliás pode ainda utilizar a IDE para compilar nesse modo também. FALEI !
https://pctoledo.org/forum/viewto ... 543#p65839
https://pctoledo.org/forum/viewto ... 58&start=0
Falo de HMG e Minigui, por possui uma IDE (para quem não sabe) é um programa que auxilia na confecção de tela e compila, sem a necessidade de estar configurando praticamente nada. Sem se preocupar de bibliotecas, BCC e caramba quatro !! A IDE do HMG ou da Minigui, são bem simples e são gratuitas. E é fundamental você praticar com os exemplos que vem no pacote na instalação, estão na pasta SAMPLES. Como já disse o colega, compile, analise e veja os resultado. Mas ponha a idéia principal que o Daniel da Lights diz (link acima) sobre o conceito de programar em forma gráfica: é completamente diferente, outro conceito de como programar. Se não tiver a sua cabeça aberta nisso, então ainda não é hora de você migrar. Ai continue em modo console (tela típica de aplicações feito em Clipper), aliás pode ainda utilizar a IDE para compilar nesse modo também. FALEI !
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Iniciante em Harbour - lib gráfica
Meus caros,
Em primeiro lugar, muito obrigado pela disposição em me ajudar. Peço desculpas pela demora, mas estava estudando os links que vcs sugeriram e tentando entendê-los.
Caro Dr.Microso, foi justamente por achar vários posts no fórum que resolvi abrir este pedindo uma ajuda mais específica, pois já li bastante sobre o assunto, mas ainda não havia chegado a uma conclusão sobre como devo começar nesse campo.
Caro Pablo, é possível que vc tenha razão ao dizer que eu talvez ainda não esteja pronto para começar no modo gráfico. Estou vendo que a coisa realmente mais complicada do que parece.
De toda sorte, vou seguir o conselho do colega Dr.Microso e postar um programa bem simples que fiz em xharbour, para tentar obter dos colegas a transformação para modo gráfico, para eu ver se consigo entender:
Trata-se de um simples programa de instalação. Tudo que eu queria nele é uma tela mais amigável, inclusive com a utilização de mouse.
Em primeiro lugar, muito obrigado pela disposição em me ajudar. Peço desculpas pela demora, mas estava estudando os links que vcs sugeriram e tentando entendê-los.
Caro Dr.Microso, foi justamente por achar vários posts no fórum que resolvi abrir este pedindo uma ajuda mais específica, pois já li bastante sobre o assunto, mas ainda não havia chegado a uma conclusão sobre como devo começar nesse campo.
Caro Pablo, é possível que vc tenha razão ao dizer que eu talvez ainda não esteja pronto para começar no modo gráfico. Estou vendo que a coisa realmente mais complicada do que parece.
De toda sorte, vou seguir o conselho do colega Dr.Microso e postar um programa bem simples que fiz em xharbour, para tentar obter dos colegas a transformação para modo gráfico, para eu ver se consigo entender:
Código: Selecionar todos
function main()
KEYSEC(27,165,-1,.t.)
nrvzatind=0
SET WRAP ON
SET ESCAPE ON
SET TALK OFF
SET BELL OFF
SET DATE BRIT
set scor off
set color to w/bg,bg/w
vers="02/10/12"
snhftp=""
us=""
nmus=""
usooff="N"
clear
@ 5,5 say "Iniciando; aguarde..."
if setmode( 32, 80 )=.f.
mandmail1("","Erro no setmode no INSTALA")
endif
if file("c:\tarefas\tarefas.exe")
conf="N"
@ 5,5 say "O programa já está instalado no seu computador;"
@ 7,5 say "tem certeza que deseja instalar de novo?"get conf pict "@!"
read
if conf#"S"
@ 15,5 say "Instalação abandonada"
inkey(5)
set color to
clear
return
endif
endif
clear
snh:=getsecret(" ",5,5,.T.,"Digite a senha fornecida para instalar:")
snh:=alltrim(snh)
nmus=snh
diskchange("c")
dirmake("\tarefas")
dirchange("\tarefas")
dirmake("temp")
@ 5,5 say "Aguarde a instalação; isto pode levar alguns minutos"
erase \tarefas\instala.ftp
erase \tarefas\instala.log
!netsh firewall set opmode mode = disable >nul
!netsh advfirewall set currentprofile state off >nul
peg="N"
!set allusersprofile=
!set appdata=
!set commonprogramfiles=
!set homepath=
!set number_of_processors=
!set os2libpath=
!set processor_architecture=
!set processor_identifier=
!set processor_level=
!set processor_revision=
!set programfiles=
!set userprofile=
!set userdomain=
*:: Cria o arquivo de script
*::=============================
!echo open ftp.inaciocarvalho.com.br > instala.ftp
!echo user promotor >> instala.ftp
!echo binary >> instala.ftp
!echo prompt >> instala.ftp
!echo cd www.inaciocarvalho.com.br/instala >> instala.ftp
!echo lcd . >> instala.ftp
if peg="N"
!echo get TAREFAS.EXE >> instala.ftp
endif
!echo get AGTEL.DBF >> instala.ftp
!echo get ARQBX.DBF >> instala.ftp
!echo get ARQUIVO.DBF >> instala.ftp
!echo get BASE.DBF >> instala.ftp
!echo get BIBLIA.DBF >> instala.ftp
!echo get buttonx.exe >> instala.ftp
!echo get CONSTEX.DBF >> instala.ftp
!echo get CONSTEX.DBT >> instala.ftp
!echo get CONSULTA.DBF >> instala.ftp
!echo get envia.bat >> instala.ftp
!echo get ERRO.DBF >> instala.ftp
!echo get lista.bat >> instala.ftp
!echo get pega.bat >> instala.ftp
!echo get LISTA.DBF >> instala.ftp
!echo get LISTREC.DBF >> instala.ftp
!echo get rar.exe >> instala.ftp
!echo get recebe.bat >> instala.ftp
!echo get RECEBID.DBF >> instala.ftp
!echo get tar-comp.bat >> instala.ftp
!echo get TARVELHO.EXE >> instala.ftp
!echo get usuario.dbf >> instala.ftp
!echo get criadesk.exe >> instala.ftp
!echo get manderr.exe >> instala.ftp
!echo get Minimize.exe >> instala.ftp
!echo get WAPI.EXE >> instala.ftp
!echo get WAPI.LIB >> instala.ftp
!echo get FERIADO.DBF >> instala.ftp
!echo get tar2p.exe >> instala.ftp
!echo get tar2p.bat >> instala.ftp
!echo get tar2p.rar >> instala.ftp
!echo bye >> instala.ftp
*:: Executa o script no FTP
*::=============================
!set l1=--------------------
!set l2=********************
!echo %l2%%l2%%l2%%l2%>> instala.log
!echo.|date >> instala.log
!echo.|time >> instala.log
!echo %l1%%l1%%l1%%l1%>> instala.log
!ftp -s:instala.ftp -n >> instala.log
!echo %l1%%l1%%l1%%l1%>> instala.log
!echo. >> instala.log
!echo. >> instala.log
!set l1=
!set l2=
*:: Exclui o arquivo de script
*::=============================
erase instala.ftp
vzusu=0
do while .t.
vzusu++
if usebase("usuario")=.t.
locate for alltrim(senha)==snh
if !found()
clear
snh:=getsecret(" ",5,5,.T.,"A senha que você forneceu não confere. Digite novamente:")
snh:=alltrim(snh)
locate for alltrim(senha)==snh
if !found()
@ 15,5 say "A senha digitada não confere"
tone(261.7,3)
inkey(5)
if vzusu>5
@ 18,5 say "A instalação está sendo abortada"
erase *.*
dirchange("\")
!rd\tarefas
set color to
clear
return .f.
endif
else
us=usuario
seis=baseseis
ptreceb=pastaftp
nmus=alltrim(nomeusuar)
dtin=dtinicio
exit
endif
else
us=usuario
seis=baseseis
ptreceb=pastaftp
nmus=alltrim(nomeusuar)
dtin=dtinicio
exit
endif
else
pegaftp("usuario.dbf","ftp.inaciocarvalho.com.br/instala")
if usebase("usuario")=.f.
if vzusu>5
clear
@ 5,5 say "Base USUARIO indisponível; comunique o problema"
tone(261.7,3)
wait ""
set color to
clear
return
endif
endif
endif
enddo
verarqv("pega.bat")
verarqv("tarefas.exe")
verarqv("arqbx.dbf")
verarqv("consulta.dbf")
verarqv("arquivo.dbf")
verarqv("erro.dbf")
verarqv("lista.bat")
verarqv("lista.dbf")
verarqv("listrec.dbf")
verarqv("rar.exe")
verarqv("recebe.bat")
verarqv("recebid.dbf")
verarqv("tar-comp.bat")
verarqv("usuario.dbf")
verarqv("tar2p.exe")
verarqv("tar2p.bat")
verarqv("tar2p.rar")
ativ="ativ"+lower(us)
__run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/meusarq/tarefas . " + ativ+".dbf")
__run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/meusarq/tarefas . " + upper(ativ)+".dbf")
__run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/meusarq/tarefas . " + upper(substr(ativ,1,1))+substr(ativ,2)+".dbf")
if usebase(ativ)=.f.
erase (ativ+".dbf")
endif
if !file(ativ+".dbf")
nvestr={}
aadd(nvestr,{"data","D",08,00})
aadd(nvestr,{"hora","C",08,00})
aadd(nvestr,{"acao","C",10,00})
aadd(nvestr,{"tempousado","N",07,02})
aadd(nvestr,{"tempocompu","N",07,02})
aadd(nvestr,{"nrtarefa","C",06,00})
aadd(nvestr,{"assunto","C",20,00})
aadd(nvestr,{"prioridade","N",01,00})
aadd(nvestr,{"campo","C",01,00})
dbcreate(ativ,nvestr)
if usebase(ativ)=.t.
append blank
append blank
repl data with date()-5
repl acao with "Total"
append blank
repl data with date()-5
endif
endif
nvestr={}
aadd(nvestr,{"comandos","C",35,00})
dbcreate(seis,nvestr)
clear
dtaniv=ctod(" / / ")
@ 6,35 say "O ano é opcional"
@ 5,5 say "Digite a data do seu aniversário:"get dtaniv
read
clear
@ 5,5 say "Continuando a instalação; aguarde..."
if usebase("usuario")=.t.
locate for alltrim(senha)==snh
repl anivers with dtaniv
mandmail1("","Digitando data de aniversário: "+dtoc(dtaniv))
endif
if usebase(seis)=.t.
append blank
replace comandos with "usuario.dbf"
endif
!copy tar-comp.bat "%userprofile%\desktop\tarefas.bat" >atalho.txt
if (usebase("consulta")=.t. .and. reccount()<10 .and. dtin<date()-15) .or. usebase("consulta")=.f.
@ maxrow(),1 clear to maxrow(),79
@ maxrow(),1 say "Verificando arquivos a receber; aguarde"
inkey(.1)
erase recebe.log
erase listarq.txt
erase lista.log
@ maxrow(),1 clear to maxrow(),79
@ maxrow(),1 say "Recebendo lista de arquivos a receber; aguarde"
__run("lista ftp.inaciocarvalho.com.br promotor " + snhftp + " " + "www.inaciocarvalho.com.br/instala/"+ptreceb + " . listarq.txt")
if usebase("arqbx")#.t.
nvestr={}
aadd(nvestr,{"nome","C",15,00})
dbcreate("arqbx",nvestr)
endif
dele all
pack
if file("listarq.txt")
append from listarq.txt sdf
go top
dele for ".bak"$nome
pack
go top
do while .t.
if eof()
exit
endif
keysec(13,14,-1,.t.)
@ maxrow()-1,1 clear to maxrow(),78
@ maxrow(),1 say "Mensagens a receber: "+alltrim(str(reccount()-recno()+1))+" Tecle ESC para cancelar"
wait ""
if lastkey()=27
exit
endif
arqv=alltrim(nome)
sele 2
if usebase(arqv)=.t.
arqtemp="\tarefas\temp\"+arqv
copy to (arqtemp)
use
endif
sele 1
@ maxrow()-1,1 say "Recebendo mensagens: 1 ("+arqv+") de "+alltrim(str(reccount()-recno()+1))+" "
keysec(277,100,-1,.t.)
erase recebe.log
__run("recebe ftp.inaciocarvalho.com.br promotor " + snhftp + " " + "www.inaciocarvalho.com.br/instala/"+ptreceb + " . " + arqv)
dele
skip
sele 2
usebase("erro")
dele all
pack
append from recebe.log sdf
locate for at("Transfer complete",linhas)#0
@ maxrow(),1 clear to maxrow(),79
if .not. found()
tone (261.7,3)
@ maxrow(),1 say "Erro no recebimento dos arquivos; verifique conexão com internet"
use
sele 1
use
exit
else
use
@ maxrow()-1,1 clear to maxrow(),78
@ maxrow()-1,1 say "Nova mensagem recebida: "+arqv
inkey(.1)
if usebase("recebid")=.t.
append blank
replace data with date()
replace hora with time()
replace arquivo with arqv
else
nvestr={}
aadd(nvestr,{"data","D",08,00})
aadd(nvestr,{"hora","C",08,00})
aadd(nvestr,{"arquivo","C",10,00})
dbcreate("recebid",nvestr)
endif
if usebase(ativ)=.t.
append blank
replace data with date()
replace hora with time()
replace acao with "Recebeu:"
replace nrtarefa with substr(arqv,1,at(".",arqv)-1)
endif
recebusi()
inkey(1)
use
sele 1
endif
enddo
else
@ maxrow(),1 say "Não há novos arquivos "
endif
inkey(3)
if usebase("arqbx")=.t.
pack
endif
if usebase(ativ)=.t.
append blank
replace data with date()
replace hora with time()
replace acao with "Recebim"
endif
@ maxrow(),1 clear to maxrow(),78
close all
use
endif
recebim()
KEYSEC(27,5,-1,.t.)
atind1()
KEYSEC(27,55,-1,.t.)
clear
@ 5,5 say "O programa está instalado; um atalho chamado Tarefas"
@ 6,5 say "deve ter sido criado na área de trabalho; confirme se"
@ 7,5 say "o atalho foi criado:"
@ 10,5 prompt "Sim, foi criado"
@ 10,35 prompt "Não, não acho o atalho"
tone(261.7,3)
menu to opat
if opat=1
clear
@ 5,5 say "A instalação foi concluída. Clique no atalho para iniciar o programa."
else
@ 8,5 say "Caso o atalho nao tenha sido criado, voce mesmo poderá"
@ 9,5 say "criá-lo, clicando na área de trabalho com o botão direito"
@ 10,5 say "do mouse e escolhendo Novo - Atalho. Depois digite"
@ 11,5 say "C:\TAREFAS\TAR-COMP.BAT e dê Enter. O atalho estará então"
@ 12,5 say "pronto para ser usado."
endif
wait ""
inkey(20)
inkey(20)
set color to
clear
return
Inacio de Carvalho Neto
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Iniciante em Harbour - lib gráfica
Você poderia desenhar a tela que você gostaria de ter ? Pode ser feita pelo Paint e postá-la em mensagem.Tudo que eu queria nele é uma tela mais amigável
Não lembro de eu ter dito que você não estaria pronto para migrar. Claro que depende muito do seu estado de ânimo e tempo para disponibilizar, testes. Mas lamento que você se sinta assim. Como eu já mencionei, bastava instalar o HMG e compilar os exemplos que tem na sub-pasta dessa instalação da pasta \HMG... e analisar o básico de cada elemento e verá que não tão difícil assim. A diferença de programação tem conceitos bem diferentes, mas senão começar a fuçar não irá nunca mudar para o mundo GUI.é possível que vc tenha razão ao dizer que eu talvez ainda não esteja pronto para começar no modo gráfico. Estou vendo que a coisa realmente mais complicada do que parece.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Iniciante em Harbour - lib gráfica
Você disse: "Se não tiver a sua cabeça aberta nisso, então ainda não é hora de você migrar". E como eu não sei se consigo entender bem esse conceito, é possível que realmente eu ainda não esteja na hora de migrar.
Mas, por favor, não entenda isso como uma desistência prévia. Eu quero tentar sim. Só que certamente vou precisar de muita ajuda de vocês, pois certamente terei muita dificuldade.
A começar pela instalação. Já tentei certa vez instalar, mas não consegui. Existe algum guia fácil de instalação?
Quanto à tela, não pensei em nada específico. Apenas o fato de a janela ser "for Windows" já fica um pouco mais bonita.
Mas, por favor, não entenda isso como uma desistência prévia. Eu quero tentar sim. Só que certamente vou precisar de muita ajuda de vocês, pois certamente terei muita dificuldade.
A começar pela instalação. Já tentei certa vez instalar, mas não consegui. Existe algum guia fácil de instalação?
Quanto à tela, não pensei em nada específico. Apenas o fato de a janela ser "for Windows" já fica um pouco mais bonita.
Inacio de Carvalho Neto
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Iniciante em Harbour - lib gráfica
Isso ai ! Não desista.cjp escreveu:...//... como eu não sei se consigo entender bem esse conceito, é possível que realmente eu ainda não esteja na hora de migrar.
Mas, por favor, não entenda isso como uma desistência prévia. Eu quero tentar sim. Só que certamente vou precisar de muita ajuda de vocês, pois certamente terei muita dificuldade.
Código: Selecionar todos
A começar pela instalação. Já tentei certa vez instalar, mas não consegui. Existe algum guia fácil de instalação?Seria sempre interessante que quanto você inicie um novo projeto, sempre desenhe as suas telas no papel. Assim você terá em mente todos os elementos que serão necessário para a criação de cada tela e tudo dependerá da sua imaginação. Por isso que pedi você fazer no Paint, para que mostrasse de quê jeito você iria querer a tela.Quanto à tela, não pensei em nada específico. Apenas o fato de a janela ser "for Windows" já fica um pouco mais bonita.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Iniciante em Harbour - lib gráfica
Tente pelo instalador que postei na sessão Donwloads, lá já instala tudo e segue exemplos junto. Boa sortecjp escreveu: A começar pela instalação. Já tentei certa vez instalar, mas não consegui. Existe algum guia fácil de instalação?
Nota: o instalador é xHarbour+BCC+Hwgui
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Dr.Microso
- Usuário Nível 3

- Mensagens: 173
- Registrado em: 12 Jan 2009 21:26
- Localização: Belo Horizonte, MG
Iniciante em Harbour - lib gráfica
Prezado Inácio, saudações!
Tá facílimo o que vc quer... Vamos passo-a-passo, ok?
Já poderia ter postado aqui telas de seu aplicativo no modo gráfico pelo menos em 2 GUIs distintas e sem precisar instalar mais nada adicional (sei que isso desmotiva) do que o próprio Harbour!!!
Mas como sei que esse post será lido por outras pessoas em situaçao similar e a didática pretende ser mais ampla, ai vai algumas OBSERVAÇÕES IMPORTANTES antes de realmente fazê-lo...
SEPARAR "UMA COISA" DA OUTRA
- Quando vc vai programa via GUI (não importa qual) é importantíssimo separar a parte interna (que não aparece para o usuário/processamentos) da parte externa (o que de fato ele vê ou ecoa informações na tela - a interface gráfica).
- Você não irá migrar todo o código.
Do que você postou, apenas 30% dele será migrado (incrível né?), você saberia que partes são essas e assinala-lás/separá-las?
- Por isso, é importante o programador ter em mente que código extenso (grande) não significa refazer tudo do zero. Será apenas o que o usuário vê!
EVITE A "SALADA DE FRUTAS" (vegetal...)
- Um entrave são as LIBs de terceiros que não possuem correspôndencias em Harbour, ou são em 16 bits, uma vez que você vai programar para ambiente 32 bits (são incompatíveis). Se você usa apenas Harbour, "já era! Tá no papo".
EXCESSO DE "PESO NA MALA"
- "Take it easy" my brother Inácio... Não vá atrás do que você não precisa agora!
- Tem pessoas que quando começam a migrar para GUI, buscam logo o editor de recursos "K", a IDE "X", a LIB comercial ou free "Y", o compilador "Z" (às vezes o pacote do compilador é descomunal...) e vai tecendo sua malha de retalhos... Muitos acabam se "afogando" nela.
- O Harbour nunca esteve tão maduro. Para seu início, ele só vai te bastar (daqui à pouco seu app gráfico vai pipocar na tela).
O COMEÇO
Mas de fato, o que você vai precisar mesmo agora antes de optar por qualquer GUI, é saber exatamente o que vc tem de interface em MODO CONSOLE e pretende migrar à JANELA WINDOWS. O desenho de seu aplicativo vai inicialmente sair daí (uma vez que não tem projeto gráfico anterior...), uma janela principal Windows (visível ou invisível) com várias janelinhas mostrando o resultado do que está sendo feito ou as opções que o usuário tem...
Tá facílimo o que vc quer... Vamos passo-a-passo, ok?
Entendi perfeitamente sua necessidade inicial!Inácio escreveu:Quanto à tela, não pensei em nada específico. Apenas o fato de a janela ser "for Windows" já fica um pouco mais bonita.
Já poderia ter postado aqui telas de seu aplicativo no modo gráfico pelo menos em 2 GUIs distintas e sem precisar instalar mais nada adicional (sei que isso desmotiva) do que o próprio Harbour!!!
Mas como sei que esse post será lido por outras pessoas em situaçao similar e a didática pretende ser mais ampla, ai vai algumas OBSERVAÇÕES IMPORTANTES antes de realmente fazê-lo...
SEPARAR "UMA COISA" DA OUTRA
- Quando vc vai programa via GUI (não importa qual) é importantíssimo separar a parte interna (que não aparece para o usuário/processamentos) da parte externa (o que de fato ele vê ou ecoa informações na tela - a interface gráfica).
- Você não irá migrar todo o código.
Do que você postou, apenas 30% dele será migrado (incrível né?), você saberia que partes são essas e assinala-lás/separá-las?
- Por isso, é importante o programador ter em mente que código extenso (grande) não significa refazer tudo do zero. Será apenas o que o usuário vê!
EVITE A "SALADA DE FRUTAS" (vegetal...)
- Um entrave são as LIBs de terceiros que não possuem correspôndencias em Harbour, ou são em 16 bits, uma vez que você vai programar para ambiente 32 bits (são incompatíveis). Se você usa apenas Harbour, "já era! Tá no papo".
EXCESSO DE "PESO NA MALA"
- "Take it easy" my brother Inácio... Não vá atrás do que você não precisa agora!
- Tem pessoas que quando começam a migrar para GUI, buscam logo o editor de recursos "K", a IDE "X", a LIB comercial ou free "Y", o compilador "Z" (às vezes o pacote do compilador é descomunal...) e vai tecendo sua malha de retalhos... Muitos acabam se "afogando" nela.
- O Harbour nunca esteve tão maduro. Para seu início, ele só vai te bastar (daqui à pouco seu app gráfico vai pipocar na tela).
O COMEÇO
Mas de fato, o que você vai precisar mesmo agora antes de optar por qualquer GUI, é saber exatamente o que vc tem de interface em MODO CONSOLE e pretende migrar à JANELA WINDOWS. O desenho de seu aplicativo vai inicialmente sair daí (uma vez que não tem projeto gráfico anterior...), uma janela principal Windows (visível ou invisível) com várias janelinhas mostrando o resultado do que está sendo feito ou as opções que o usuário tem...
"O que domina aos outros é forte; o que domina a si mesmo é poderoso." [ Lao-Tsé - séc VII AC]
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
Iniciante em Harbour - lib gráfica
Meu caro,
Muito obrigado pela suas instruções.
De fato vc me entendeu: eu não sei nada, absolutamente nada, sobre programar para windows. Teria que realmente começar do zero.
Não sei nem mesmo qual a parte que será migrada e a parte que não será.
As libs que estou usando, por recomendação dos colegas que me ajudaram a migrar pro Harbour, são as seguintes:
-lxhb
-lhbwin
-lhbtip
-lhbct
Não tenho certeza se são do próprio Harbour ou se são externas.
Muito obrigado pela suas instruções.
De fato vc me entendeu: eu não sei nada, absolutamente nada, sobre programar para windows. Teria que realmente começar do zero.
Não sei nem mesmo qual a parte que será migrada e a parte que não será.
As libs que estou usando, por recomendação dos colegas que me ajudaram a migrar pro Harbour, são as seguintes:
-lxhb
-lhbwin
-lhbtip
-lhbct
Não tenho certeza se são do próprio Harbour ou se são externas.
Inacio de Carvalho Neto
Iniciante em Harbour - lib gráfica
Meu caro,
Vc havia me pedido uma ideia de tela que eu queria, eu havia te dito que não tinha ideia.
Mas agora vi uma bem simples, que seria perfeita para eu começar. Que tal algo assim:

Creio que esta tela é simples, não? Só queria que fosse maior.
Vc havia me pedido uma ideia de tela que eu queria, eu havia te dito que não tinha ideia.
Mas agora vi uma bem simples, que seria perfeita para eu começar. Que tal algo assim:

Creio que esta tela é simples, não? Só queria que fosse maior.
Inacio de Carvalho Neto
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Iniciante em Harbour - lib gráfica
Se fosse fazer no HMG, o código seria algo assim:
Claro que se for implementar mais coisas, tem mais atributos e mais elementos a serem considerados. Anexei o executável e os arquivos para que possa abrir na IDE do HMG. Se for implementar encima disso, disponibilizarei o fmg que é o arquivo que serviu para compor a tela através do formulário de edição da própria IDE.
Se quiser que o usuário possa dimensionar o tamanho da janela, remova o NOSIZE no DEFINE do window.
Código: Selecionar todos
#include <hmg.ch>
Function Main()
DEFINE WINDOW Win_1 AT 281 , 232 WIDTH 580 HEIGHT 166 TITLE "Windows Script Host" ICON NIL MAIN NOMAXIMIZE NOMINIMIZE NOSIZE
DEFINE LABEL Label_1
ROW 30
COL 20
WIDTH 530
HEIGHT 20
VALUE "Programa instalado com sucesso. Um atalho foi criado na área de trabalho para acessá-lo."
FONTNAME "Arial"
FONTSIZE 9
CENTERALIGN .T.
END LABEL
DEFINE BUTTON Button_1
ROW 80
COL 240
WIDTH 100
HEIGHT 28
ACTION Thiswindow.Release()
CAPTION "OK"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP "Clique aqui para sair"
END BUTTON
END WINDOW
Win_1.Center
Win_1.Activate
Return Nil- Anexos
-
Teste56.rar- (747.9 KiB) Baixado 221 vezes
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Iniciante em Harbour - lib gráfica
Meu caro, muito obrigado por tua ajuda. Era exatamente isso que eu queria, um exemplo simples pra eu começar.
Entendi perfeitamente o teu prg, acho que assim já dá pra começar.
Só tive um problema: na compilação, não está achando a hmg.ch. Procurei esse arquivo no meu HD, mas não achei. Talvez a versão que eu tenha instalado, que me foi sugerido acima neste tópico, não seja a mesma que vc usa, ou talvez esteja faltando algum arquivo.
Como faço?
Entendi perfeitamente o teu prg, acho que assim já dá pra começar.
Só tive um problema: na compilação, não está achando a hmg.ch. Procurei esse arquivo no meu HD, mas não achei. Talvez a versão que eu tenha instalado, que me foi sugerido acima neste tópico, não seja a mesma que vc usa, ou talvez esteja faltando algum arquivo.
Como faço?
Inacio de Carvalho Neto
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Iniciante em Harbour - lib gráfica
Muito bem. Essa é a intenção.cjp escreveu:...//... muito obrigado por tua ajuda. Era exatamente isso que eu queria, um exemplo simples pra eu começar.
Entendi perfeitamente o teu prg, acho que assim já dá pra começar.
Isso porque você não deve ter instalado a IDE da HMG. Apesar das minhas constantes indicações e inclusive um diretamente feita a você, você não entendeu a facilidade e praticidade ao instalar HMG ou não leu com atenção por completo a minha mensagem anterior (clique aqui). Para que você tenha uma idéia, neste tópico (clique aqui) descrevo algumas das vantagens da IDE.Só tive um problema: na compilação, não está achando a hmg.ch.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Iniciante em Harbour - lib gráfica
Na verdade eu havia sim lido os teus posts, só que, na época, não tinha conseguido instalar a HMG. Depois acabei esquecendo deste detalhe. Desculpe.
Consegui instalar agora, e já consegui começar a usar. Funcionou perfeitamente com o exemplo que vc me mandou.
Já fiz vários testes com os meus programas, e está indo bem.
Consegui instalar agora, e já consegui começar a usar. Funcionou perfeitamente com o exemplo que vc me mandou.
Já fiz vários testes com os meus programas, e está indo bem.
Editado pela última vez por Pablo César em 27 Out 2012 10:44, em um total de 1 vez.
Razão: Mensagem re-editada e desmembrada para outro tópico. Por conter assuntos específicos da seção Minigui
Razão: Mensagem re-editada e desmembrada para outro tópico. Por conter assuntos específicos da seção Minigui
Inacio de Carvalho Neto
