Começando com Harbour + HMG
Moderador: Moderadores
Começando com Harbour + HMG
Vou aqui postar minhas considerações sobre meu começo com Harbour + Minigui.
Instalação : Sem problemas, simples e rápida, logo que terminou abri um projeto da pasta samples e compilou/rodou tranquilo.
1º Projeto : Comecei logo com uma das telas de entrada de dados que vou precisar no meu sistema. Como não conheço bem o uso de IDE´s, fui apertando, montando e testando, basicamente é simples, tenho apenas que aprender o que cada coisa faz, montei uma tela com entrada de dados, labels, textboxs, radiogroup e mais algumas coisinhas, esse arrastar e soltar foi simples e compreendi a maioria das propriedades, não entendi como funcionam os eventos. Abri o formulário criado e com o manual da HMG percebi que tudo podia ser feita mais rapidamente na mão (a IDE não permite copiar e colar, fazendo na mão posso), então praticamente rescrevi tudo na mão e foi rápido. A tela apesar de não ter ficado com uma aparência profissional, ficou bem funcional e simples como eu queria (depois eu vou me dedicar a aparência).
Impressão final : Me arrependo amargamente de não ter metido a mão na massa a mais tempo, o bicho de feio só tem a cara, mas depois que você conhece ele não assusta mais.
Aqui o meu projeto, se alguém puder dar uma olhada e se quiser dar umas dicas e ou efetuar algumas criticas, todas serão bem-vindas.
www.phrep.com.br/marcelo.zip
Bem, caros colegas, por enquanto é só.
Agradeço desde já a atenção de todos.
Até logo.
Marcelo
Instalação : Sem problemas, simples e rápida, logo que terminou abri um projeto da pasta samples e compilou/rodou tranquilo.
1º Projeto : Comecei logo com uma das telas de entrada de dados que vou precisar no meu sistema. Como não conheço bem o uso de IDE´s, fui apertando, montando e testando, basicamente é simples, tenho apenas que aprender o que cada coisa faz, montei uma tela com entrada de dados, labels, textboxs, radiogroup e mais algumas coisinhas, esse arrastar e soltar foi simples e compreendi a maioria das propriedades, não entendi como funcionam os eventos. Abri o formulário criado e com o manual da HMG percebi que tudo podia ser feita mais rapidamente na mão (a IDE não permite copiar e colar, fazendo na mão posso), então praticamente rescrevi tudo na mão e foi rápido. A tela apesar de não ter ficado com uma aparência profissional, ficou bem funcional e simples como eu queria (depois eu vou me dedicar a aparência).
Impressão final : Me arrependo amargamente de não ter metido a mão na massa a mais tempo, o bicho de feio só tem a cara, mas depois que você conhece ele não assusta mais.
Aqui o meu projeto, se alguém puder dar uma olhada e se quiser dar umas dicas e ou efetuar algumas criticas, todas serão bem-vindas.
www.phrep.com.br/marcelo.zip
Bem, caros colegas, por enquanto é só.
Agradeço desde já a atenção de todos.
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Começando com Harbour + HMG
Oi Marcelo, eu já dei o parabéns de como você está evoluindo tão rapidamente (não exagero e nem muito menos subestimando a sua capacidade). Mas eu acho que levei mais tempo em entender... rs
Por isso Roberto Lopez fez esta ferramenta mais para facilitar a compreensão daqueles que programaram em Clipper.
Sobre o seu projeto, achei meio estranho assim do começo utilizar tantos RadioGroup. Cabe saber se essas opções são exclusivista, quero dizer: se precisa ter apenas uma opção e não vária em cada item. Acho que no outro tópico você optou por CheckBox e este permite multi seleção. Não sei o que seu usuário precisa. Mas também existe outros controles exclusivistas como: ListBox e ComboBox e eu os disporia de outra forma. Isto é:
Mucosa:
Septo:
Cornetos inferiores:
Fica mais entendivel, na minha opinião.
Na minha opinião, trata-se que você teve sorte e soube começar com uma ferramenta que se adapta ao seu estilo. Porque existe muitas outras boas ferramentas como eu disse antes e quando sentimos dificuldades, sentimos-nos muito frustrados.Clipper escreveu:.. o bicho de feio só tem a cara, mas depois que você conhece ele não assusta mais
Por isso Roberto Lopez fez esta ferramenta mais para facilitar a compreensão daqueles que programaram em Clipper.
Sobre o seu projeto, achei meio estranho assim do começo utilizar tantos RadioGroup. Cabe saber se essas opções são exclusivista, quero dizer: se precisa ter apenas uma opção e não vária em cada item. Acho que no outro tópico você optou por CheckBox e este permite multi seleção. Não sei o que seu usuário precisa. Mas também existe outros controles exclusivistas como: ListBox e ComboBox e eu os disporia de outra forma. Isto é:
Mucosa:
Septo:
Cornetos inferiores:
Fica mais entendivel, na minha opinião.
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.
Começando com Harbour + HMG
Prezado Pablo
Obrigado por seu elogio. Se estou aprendendo rapidamente é porque tenho aqui neste fórum o auxilio de pessoas como você que contribuem com este aprendizado.
Com relação aos RadiosGroup, pelo projeto está certo, é que na verdade é um laudo em que Cada Item (Aba) tem que haver a seleção de um único subitem (Radio Button), em alguns casos dependendo do RadioButton escolhido eu preciso colocar uma observação (Textbox). Na penúltima aba (Checkbox) a coisa muda de figura pois é uma opção que o médico pode escolher entre nenhuma das 2 opções ou então uma das opções, mas nunca as duas, sendo que se for escolhida uma a outra não poderá ser, por isso eu desabilito uma quando a outra for escolhida, e habilito as duas quando nenhuma foi escolhida, e sendo uma escolhida então eu habilito o seu respectivo Textbox para que possa ser inserida uma observação obrigatória.
O projeto está indo bem, aprendi muita coisa, quebrei um pouco a cabeça com algumas "besterinhas" mas é só questão de adaptação, preciso aprender direito o funcionamento dos eventos, os métodos e as propriedades tem sido mais simples (sinto falta de uma literatura mais amplas destes conceitos). basicamente o que tá pegando agora é aprender os benditos eventos.
Sei que nesse projeto cometi vários vícios de programação procedural, mas de fato isso não está me preocupando no momento, assim que eu aprender bem a base do ambiente visual e dominar bem os conceitos de métodos, eventos e propriedades eu aplicarei bem dentro de uma programação OOP.
Ah ! Ia esquecendo... Tô levando uma surra no bendito EditBox - A questão é que ele grava bonitinho no arquivo, recupera bonitinho pra ser editado, mas na hora de imprimir concatena tudo.
Eu poderia usar a SUBSTR para separar e imprimir dividido, mas eu gostaria que fosse impresso como o usuário colocou (do mesmo jeito que aparece na tela).
Com relação a versão da Hmg. Estou usando a 3.0.35, baixei e instalei a Unicode 1.0.8, mas quando compilo com ela, desconfigura tudo que tenha acentuação e eu não soube como resolver (na verdade nem parei pra ver isso), na versão 3.0.35 roda tudo tranquilo.
Também gostaria de saber qual a diferença da versão Unicode para a versão Extended.
No link segue o projeto como está (19.02.2015 - 01:28) - Não repare nos EDIT EXTENDED's que estou usando, isso é provisório.
www.phrep.com.br/projetos.rar
Agradeço imensamente a sua ajuda, bem como a de todos os colegas aqui do fórum, e afirmo com certeza que sem essa ajuda e o incentivo que me foi dado esse projeto possivelmente estaria muito mais distante de ser concretizado ou talvez fadado ao fracasso.
Até logo.
Marcelo
Obrigado por seu elogio. Se estou aprendendo rapidamente é porque tenho aqui neste fórum o auxilio de pessoas como você que contribuem com este aprendizado.
Com relação aos RadiosGroup, pelo projeto está certo, é que na verdade é um laudo em que Cada Item (Aba) tem que haver a seleção de um único subitem (Radio Button), em alguns casos dependendo do RadioButton escolhido eu preciso colocar uma observação (Textbox). Na penúltima aba (Checkbox) a coisa muda de figura pois é uma opção que o médico pode escolher entre nenhuma das 2 opções ou então uma das opções, mas nunca as duas, sendo que se for escolhida uma a outra não poderá ser, por isso eu desabilito uma quando a outra for escolhida, e habilito as duas quando nenhuma foi escolhida, e sendo uma escolhida então eu habilito o seu respectivo Textbox para que possa ser inserida uma observação obrigatória.
O projeto está indo bem, aprendi muita coisa, quebrei um pouco a cabeça com algumas "besterinhas" mas é só questão de adaptação, preciso aprender direito o funcionamento dos eventos, os métodos e as propriedades tem sido mais simples (sinto falta de uma literatura mais amplas destes conceitos). basicamente o que tá pegando agora é aprender os benditos eventos.
Sei que nesse projeto cometi vários vícios de programação procedural, mas de fato isso não está me preocupando no momento, assim que eu aprender bem a base do ambiente visual e dominar bem os conceitos de métodos, eventos e propriedades eu aplicarei bem dentro de uma programação OOP.
Ah ! Ia esquecendo... Tô levando uma surra no bendito EditBox - A questão é que ele grava bonitinho no arquivo, recupera bonitinho pra ser editado, mas na hora de imprimir concatena tudo.
Eu poderia usar a SUBSTR para separar e imprimir dividido, mas eu gostaria que fosse impresso como o usuário colocou (do mesmo jeito que aparece na tela).
Com relação a versão da Hmg. Estou usando a 3.0.35, baixei e instalei a Unicode 1.0.8, mas quando compilo com ela, desconfigura tudo que tenha acentuação e eu não soube como resolver (na verdade nem parei pra ver isso), na versão 3.0.35 roda tudo tranquilo.
Também gostaria de saber qual a diferença da versão Unicode para a versão Extended.
No link segue o projeto como está (19.02.2015 - 01:28) - Não repare nos EDIT EXTENDED's que estou usando, isso é provisório.
www.phrep.com.br/projetos.rar
Agradeço imensamente a sua ajuda, bem como a de todos os colegas aqui do fórum, e afirmo com certeza que sem essa ajuda e o incentivo que me foi dado esse projeto possivelmente estaria muito mais distante de ser concretizado ou talvez fadado ao fracasso.
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Começando com Harbour + HMG
Oi Marcelo,
Gostei muito do seu projeto, muito caprichado. Acho que você abusou dos EDIT EXTENDED hihihi eu também gosto deles mas veja o que estaria deixando lento... (relendo a sua mensagem você já me antecipou que seria provisório).
A versão ANSI mais atualizada e estável é 3.0.46.
Mas em UNICODE, o ambiente como em internet não precisa disso e pode rodar com toda acentuações em multilingua.
Então o padrão de caracteres entre ANSI e UNICODE são diferentes, principalmente nos caracteres de acentuações.
Para poder trabalhar em UNICODE, você precisa acertar o seu editor de código para codificação UTF-8.
Se você utiliza Notepad++ (o mais indicado) você ao carregar por primeira vez o seu código em ANSI pode converter para UTF-8, nós usamos o (sem BOM). Veja no menu Formatar para converter para UTF-8 (sem BOM).
Eu sempre uso a ultima versão porque é a que possui mais recursos.
UNICODE é um padrão formato de caracteres.
Versão Extended, não sei ao que você se refere. Existe a Minigui Extended que é da familia Minigui. HMG originou-se com compilador MinGW e depois veio outra versão que utiliza o compilador BCC do Grigory Filatov com muitas inovações mas que a HMG quis se manter mais conservadora digamos.
Minigui Extended não adotou o padrão UNICODE nem o 64bits como na HMG.
E se você quis se referir a EDIT Extended, isto é apenas funções de edição internas da biblioteca HMG e Minigui Extended.
Marcelo, você está em bom caminho e evoluindo muito rapidamente. Espero que você torne-se um expert e possa vir a ser um contribuidor na nossa comunidade HMG ou em qualquer outra que mais agradar.
Parabéns colega !
Gostei muito do seu projeto, muito caprichado. Acho que você abusou dos EDIT EXTENDED hihihi eu também gosto deles mas veja o que estaria deixando lento... (relendo a sua mensagem você já me antecipou que seria provisório).
Versão 1.0.8 ? Nunca vi essa versão, acho que você quis dizer a 3.4.0 ?Estou usando a 3.0.35, baixei e instalei a Unicode 1.0.8
A versão ANSI mais atualizada e estável é 3.0.46.
Acontece que em ANSI você vai precisar dos codepages e setar a sua configuração para a linguagem português... mas quando compilo com ela, desconfigura tudo que tenha acentuação e eu não soube como resolver
Mas em UNICODE, o ambiente como em internet não precisa disso e pode rodar com toda acentuações em multilingua.
Então o padrão de caracteres entre ANSI e UNICODE são diferentes, principalmente nos caracteres de acentuações.
Para poder trabalhar em UNICODE, você precisa acertar o seu editor de código para codificação UTF-8.
Se você utiliza Notepad++ (o mais indicado) você ao carregar por primeira vez o seu código em ANSI pode converter para UTF-8, nós usamos o (sem BOM). Veja no menu Formatar para converter para UTF-8 (sem BOM).
Eu sempre uso a ultima versão porque é a que possui mais recursos.
Não entendi a sua pergunta.Também gostaria de saber qual a diferença da versão Unicode para a versão Extended.
UNICODE é um padrão formato de caracteres.
Versão Extended, não sei ao que você se refere. Existe a Minigui Extended que é da familia Minigui. HMG originou-se com compilador MinGW e depois veio outra versão que utiliza o compilador BCC do Grigory Filatov com muitas inovações mas que a HMG quis se manter mais conservadora digamos.
Minigui Extended não adotou o padrão UNICODE nem o 64bits como na HMG.
E se você quis se referir a EDIT Extended, isto é apenas funções de edição internas da biblioteca HMG e Minigui Extended.
Marcelo, você está em bom caminho e evoluindo muito rapidamente. Espero que você torne-se um expert e possa vir a ser um contribuidor na nossa comunidade HMG ou em qualquer outra que mais agradar.
Parabéns colega !
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.
Começando com Harbour + HMG
Prezado Pablo
Mais uma vez obrigado pela a atenção.
A versão Unicode é a 3.4.0 - É que aparece lá na barra HMG UNICODE 1.0.8 por isso meu engano
Mas de fato estou tendo problemas com ela, primeiro foi a questão da acentuação. Fiz como você disse, abri pele Notepad++ e converti para UTF-8 (Sem BOM), mas aí é que ficou ruim...(desculpe o trocadilho). Aí desconfigura na versão 3.0.35 e na 3.4.0 quando compilo fica "Building in 32 Bits" e não sai disso, tenho que clicar com o botão direito e finalizar na marra.
Voltei para ANSI e na versão 3.0.35 compila e executa tudo bonitinho e agora na versão 3.4.0 nem compila mais, fica no bendito..."Building in 32 Bits"
Fiz algumas alterações significativas na tela de Nasofibroscopia (melhorou bastante a questão de edição e visualização) graças a você que me alertou das benesses da SetProperty() e GetProperty().
A propósito...Não é que eu vou desistir do EDIT EXTENDED, é que assim que estiver dominando o bicho eu vou fazer algumas adaptações as minhas necessidades no fonte do EDIT.
Em relação a HMG e a HMG Extended, eu só queria saber se tem muita diferença, é que observei que a Extended tem algumas opções que a 'normal' não tem, mas isso deixa pra depois, por enquanto estou muito satisfeito com o que tenho em mãos.
Segue link do projeto atualizado.
www.phrep.com.br/projetos.rar
Obrigado mais uma vez.
Até logo.
Marcelo
Mais uma vez obrigado pela a atenção.
A versão Unicode é a 3.4.0 - É que aparece lá na barra HMG UNICODE 1.0.8 por isso meu engano
Mas de fato estou tendo problemas com ela, primeiro foi a questão da acentuação. Fiz como você disse, abri pele Notepad++ e converti para UTF-8 (Sem BOM), mas aí é que ficou ruim...(desculpe o trocadilho). Aí desconfigura na versão 3.0.35 e na 3.4.0 quando compilo fica "Building in 32 Bits" e não sai disso, tenho que clicar com o botão direito e finalizar na marra.
Voltei para ANSI e na versão 3.0.35 compila e executa tudo bonitinho e agora na versão 3.4.0 nem compila mais, fica no bendito..."Building in 32 Bits"
Fiz algumas alterações significativas na tela de Nasofibroscopia (melhorou bastante a questão de edição e visualização) graças a você que me alertou das benesses da SetProperty() e GetProperty().
A propósito...Não é que eu vou desistir do EDIT EXTENDED, é que assim que estiver dominando o bicho eu vou fazer algumas adaptações as minhas necessidades no fonte do EDIT.
Em relação a HMG e a HMG Extended, eu só queria saber se tem muita diferença, é que observei que a Extended tem algumas opções que a 'normal' não tem, mas isso deixa pra depois, por enquanto estou muito satisfeito com o que tenho em mãos.
Segue link do projeto atualizado.
www.phrep.com.br/projetos.rar
Atualizei para a versão 3.0.46 e tá funcionado blz agora.**********
Ps. Tô levando surra para mostrar o último e o Primeiro registro, Funções Primeiro() e Ultimo() do sistema, no Clipper tenho função igual e funciona perfeitamente.
Obrigado mais uma vez.
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Começando com Harbour + HMG
Prezados Colegas
Vamos lá...
O que tem de errado aqui ?
Compilei na versão 3.4.0 Unicode e na 3.4.0 Ansi e nas duas ocorre o seguinte problema :


Agradeço a atenção.
Até logo.
Marcelo
Vamos lá...
O que tem de errado aqui ?
Código: Selecionar todos
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_UTF8EX
HB_LANGSELECT( 'PT' )
hb_cdpSelect( "UTF8EX" )
HB_LANGSELECT("PT")
HB_SETCODEPAGE("PT850")
SET CODEPAGE TO PORTUGUESE
SET LANGUAGE TO PORTUGUESE


Agradeço a atenção.
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Começando com Harbour + HMG
Putz como não pensei nisso... Aquela é a versão da IDE não da HMG.Clipper escreveu:A versão Unicode é a 3.4.0 - É que aparece lá na barra HMG UNICODE 1.0.8 por isso meu engano
Mas a acentuação converteu bem em UNICODE ?Mas de fato estou tendo problemas com ela, primeiro foi a questão da acentuação. Fiz como você disse, abri pele Notepad++ e converti para UTF-8 (Sem BOM), mas aí é que ficou ruim...(desculpe o trocadilho).
Sim claro, uma vez que passa para UNICODE as outras versões em ANSI terão os seus caracteres acentuados de forma diferente.Aí desconfigura na versão 3.0.35
Nossa amigo, desculpe. Esse release ficou devendo o Build.bat. Ficou com um bug grosseiro que fica empacando e tudo parece um caos ao menos desavisados. Mas faça o seguinte:na 3.4.0 quando compilo fica "Building in 32 Bits" e não sai disso, tenho que clicar com o botão direito e finalizar na marra.
1. Abaixa este Build.bat
2. Descompacte e substitua pelo atual que está na pasta C:\hmg.3.4.0
Está certo.A propósito...Não é que eu vou desistir do EDIT EXTENDED, é que assim que estiver dominando o bicho eu vou fazer algumas adaptações as minhas necessidades no fonte do EDIT.
Indique o código que talvez possa eu ajudar.Ps. Tô levando surra para mostrar o último e o Primeiro registro, Funções Primeiro() e Ultimo() do sistema, no Clipper tenho função igual e funciona perfeitamente.
Se você se sente melhor em ANSI, então deixe como está.Atualizei para a versão 3.0.46 e tá funcionado blz agora.
É que na versão UNICODE, você precisa tratar as strings com funçõe sinternas como: HMG_Upper()... etc e hb_USubStr() do Harbour para UNICODE.
Mas uma vez dominado isso, você passa acmpanhar as mudanças atuais.
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.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Começando com Harbour + HMG
Wow man ! Você não perde tempo... vai longe assim. Esqueci de dizer que tem essa opção, mas quer um consellho ? Eu não faria isso.Compilei na versão 3.4.0 Unicode e na 3.4.0 Ansi e nas duas ocorre o seguinte problema
Dá para trabalhar normalmente em UNICODE em perfeita harmonia. Vejo muitos colegas que ainda usam versões anteriores só pelo único caso de saberem trabalhar com ANSI.
Se você utiliza HMG em ANSI, o seu código fonte tem que estar em ANSI. Se usa HMG em UNICODE o seu código também tem que estar em UNICODE.
Não dá pra ficar trocando uma hora ANSI outra UNICODE. Tem que decidir qual ficar.
Tem mais outro detalhe, quando você cria teus FMGs (teus forms) em ANSI, você precisa recarregá-los na IDE UNICODE caso você queira mudar para UNICODE. E caso você tenha criado em UNICODE e queira compilar em ANSI terá que reccarregar e gravá-los em ANSI para que tudo mude novamente.
Outra coisa que está pensando na decisão de passar para UNICODE. Os seus DBFs estão em ANSI e tudo que for em UNICODE terá que ser tratado com funções de conversão para UNICODE.
Eu seu que tudo parece um bicho de sete cabeças mas tudo que é novo é assim. Leva um tempo para digerir.
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.
- Antonio
- Usuário Nível 3

- Mensagens: 347
- Registrado em: 14 Ago 2003 17:33
- Localização: Sao Paulo - SP
- Contato:
Começando com Harbour + HMG
Boa tarde!
Aproveitando o tópico gostaria que me fosse esclarecido sobre o seguinte:
Ha diferenças entre as versões 3.3.1 e a 3.4.0?
As duas são do Roberto Lopez?
O que mais pode ser dito entre essas duas versões da HMG?
Grato.
Aproveitando o tópico gostaria que me fosse esclarecido sobre o seguinte:
Ha diferenças entre as versões 3.3.1 e a 3.4.0?
As duas são do Roberto Lopez?
O que mais pode ser dito entre essas duas versões da HMG?
Grato.
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Começando com Harbour + HMG
Oi Antonio,
Eu ensino HMG e você me ensina Java que mesmo na faculdade eu teimo em não digerir bem OOP... rs
Mas gosto e desejo aprender a fundo Java !
A 3.4.0 tem mais recursos como já disse.
Um abraço
Eu ensino HMG e você me ensina Java que mesmo na faculdade eu teimo em não digerir bem OOP... rs
Mas gosto e desejo aprender a fundo Java !
Com certeza há diferenças, toda diferença de versão tem suas implementações e ambas são do Roberto Lopez, o criador.Antonio escreveu:Ha diferenças entre as versões 3.3.1 e a 3.4.0?
As duas são do Roberto Lopez?
A 3.4.0 tem mais recursos como já disse.
Um abraço
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.
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Começando com Harbour + HMG
Só para complementar a mensagem do Pablo... para ver quais as diferenças e implementações ocorridas em uma versão da HMG, veja o arquivo changelog.txt que está na pasta da versão 3.4.0 (\hmg.3.4.0\):Antonio escreveu:Ha diferenças entre as versões 3.3.1 e a 3.4.0?
Código: Selecionar todos
-HMG 3.4.0 2015/01/18
- Updated to latest Harbour Nightly Build (2015-01-14)
- Updated to latest MingW Compiler
- New HMG IDE version 1.0.8
- now stops build app if app is running
- if not specified text editor, search for text editor associate with PRG files
- New in Grid control
- <ParentWindowName>.<GridControlName>.PaintDoubleBuffer [ := | -->] lBoolean // Paints via double-buffering, which reduces flicker
- New Groups in Grid (see samples in grid samples folder) Note: Grid Group is not available when application is running on Windows versions of 32-bits You can check if your application is running on Win32 with the function HMG_IsRunAppInWin32() In Win32 GroupEnabled := .T. is ignored whitout needs to change the code.
- <ParentWindowName>.<GridControlName>.GroupEnabled [ := | -->] lBoolean
- <ParentWindowName>.<GridControlName>.GroupDeleteAll
- <ParentWindowName>.<GridControlName>.GroupDelete ( nGroupID )
- <ParentWindowName>.<GridControlName>.GroupExpand ( nGroupID )
- <ParentWindowName>.<GridControlName>.GroupCollapsed ( nGroupID )
- <ParentWindowName>.<GridControlName>.GroupAdd ( nGroupID [, nPosition ] )
- <ParentWindowName>.<GridControlName>.GroupInfo ( nGroupID ) [ := | -->] { [ cHeader ] , [ nAlignHeader ] , [ cFooter ] , [ nAlingFooter ] , [ nState ] }
- <ParentWindowName>.<GridControlName>.GroupItemID ( nItem ) [ := | -->] nGroupID
- nAlignHeader & nAlingFooter --> GRID_GROUP_LEFT | GRID_GROUP_CENTER | GRID_GROUP_RIGHT
- nState --> GRID_GROUP_NORMAL | GRID_GROUP_COLLAPSED
- <ParentWindowName>.<GridControlName>.GroupDeleteAllItems ( nGroupID )
- <ParentWindowName>.<GridControlName>.GroupGetAllItemIndex ( nGroupID ) --> anItemIndex
- <ParentWindowName>.<GridControlName>.GroupCheckBoxAllItems ( nGroupID ) := lCheck
- New CheckBox to select item(s) in Grid (see samples in grid samples folder)
- <ParentWindowName>.<GridControlName>.CheckBoxEnabled [ := | -->] lBoolean
- <ParentWindowName>.<GridControlName>.CheckBoxItem ( nRow ) [ := | -->] lBoolean
- <ParentWindowName>.<GridControlName>.CheckBoxAllItems := lCheck
- Method ON CHECKBOXCLICKED()
- New DynamicFont property to have any text font and style in any cell/header.
- <ParentWindowName>.<GridControlName>.HeaderDYNAMICFONT ( nCol ) := {|| {cFontName, nFontSize, [ lBold, lItalic, lUnderline, lStrikeOut ]} }
- New HeaderDynamicForeColor and HeaderDynamicForeColor
- <ParentWindowName>.<GridControlName>.HeaderDYNAMICFORECOLOR ( nCol ) := {|| aColor }
- <ParentWindowName>.<GridControlName>.HeaderDYNAMICBACKCOLOR ( nCol ) := {|| aColor } // not work
- Miscellaneous Features
- <ParentWindowName>.<GridControlName>.Image ( lTransparent ) := { "image1.png", "image2.bmp", ... }
- <ParentWindowName>.<GridControlName>.ImageIndex ( nRow , nCol ) [ := | -->] nIndex
- <ParentWindowName>.<GridControlName>.ImageList [ := | -->] hImageList
- <ParentWindowName>.<GridControlName>.ColumnDYNAMICFONT ( nCol ) := {|| {cFontName, nFontSize, [ lBold, lItalic, lUnderline, lStrikeOut ]} }
- <ParentWindowName>.<GridControlName>.HeaderImageIndex ( nCol ) [ := | -->] nIndex
- <ParentWindowName>.<GridControlName>.ChangeFontSize := nSize | NIL // Useful for use Dynamic Font with more (less) Height than the size of font the Grid control
- New Dynamic Font (in Grid and Tree controls see respective samples in Grid and Tree sample folders )
- New ToolTip Menu
- SET TOOLTIPMENU ON|OFF --> For default ToolTip MENU is ON
- SET TOOLTIPMENU TO <lOn>
- ToolTipMenuIsActive ()
- New ToolTip Custom Draw (see DOC\Misc. Commands\Set ToolTipCustomDraw)
- New Method ON ENTER in CheckBox and CheckButton
- New concept of Array Font for various uses described elsewhere below.
- aFont := ARRAY FONT <cFontName> SIZE <nFontSize> [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] --> { cFontName, nFontSize, lBold, lItalic, lUnderline, lStrikeout }
- aFont := CREATE ARRAY FONT <cFontName> SIZE <nFontSize> [ BOLD <lBold> ] [ ITALIC <lItalic> ] [ UNDERLINE <lUnderline> ] [ STRIKEOUT <lStrikeout> ] --> { cFontName, nFontSize, lBold, lIitalic, lUnderline, lStrikeout }
- New Functions:
- FindFirstChangeNotification()
- FindNextChangeNotification()
- FindCloseChangeNotification()
- WaitForSingleObject()
- WaitForMultipleObjects()
- SetCursorSystem()
- SetWindowTheme (hWnd, cSubAppName, cSubIdList)
- HMG_StrCmp ( Text1 , Text2 , [ lCaseSensitive ] ) --> CmpValue
- HMG_IsValidFileName ( cFileName ) // cFileName --> ONLY FILE NAME without Path
- HMG_GetFileAssociatedWithExtension ( cExt ) --> return the full file name associated with extension (extension with point, e.g. ".TXT")
- HMG_IsRunAppInWin32() --> lBoolean
- HMG_IsWinVistaOrLater() --> lBoolean
- HMG_GetCompileVersion32 ( HMG_cPath ) --> cVersion
- HMG_GetCompileVersion64 ( HMG_cPath ) --> cVersion
- HMG_GetCompileVersionRaw ( HMG_cPath ) --> acVersion
- HMG_GetPrivateProfileSectionNames ( cFileName ) ---> return array { "SectionName1", "SectionName2", ... }
- HMG_GetPrivateProfileSection ( cFileName, cSectionName ) ---> return array { "Key1=string1", "Key2=string2", ... }
- New in SPLITBOX functions:
- REBAR_GETHEIGHT()
- REBAR_GETBANDCOUNT()
- REBAR_GETBARRECT()
- REBAR_GETBANDBORDERS()
- REBAR_SETMINCHILDSIZE()
- REBAR_GETBANDINFO()
- New Set icon of StatusBar item
- <ParentWindowName>.StatusBar.IconHandle (nItem) := hIcon
- New Addition of 455 new colors definitions, see INCLUDE\i_color.ch (contrib by Grigory Filatov)
- New GetFile() and PutFile() functions support parameter nFilterIndex, this is an index of the filter array (based upon a contribution of Kevin Carmody)
- New in PLAYER control :
- Volume (Set/Get)
- Seek (Set)
- New in Tree Control
- New Events
- ON EXPAND
- ON COLLAPSE
- This.TreeItemValue // available for OnExpand and OnCollapse events and DynamicForeColor, DynamicBackColor and DynamicFont properties.
- New DynamicFont, DynamicForeColor and DynamicBackColor
- <ParentWindowName>.<TreeControlName>.DynamicForeColor := {|| aColor }
- <ParentWindowName>.<TreeControlName>.DynamicBackColor := {|| aColor }
- <ParentWindowName>.<TreeControlName>.DynamicFont := {|| {cFontName, nFontSize, [ lBold, lItalic, lUnderline, lStrikeOut ]} }
- <ParentWindowName>.<TreeControlName>.ChangeFontSize := nSize | NIL // Useful for use Dynamic Font with more (less) Height than the size of font the Tree control
- New properties
- <ParentWindowName>.<TreeControlName>.IsExpand ( nValue ) --> lBoolean
- <ParentWindowName>.<TreeControlName>.ImageList [ := | --> ] hImageList
- <ParentWindowName>.<TreeControlName>.HasLines [ := | --> ] lBoolean
- <ParentWindowName>.<TreeControlName>.FullRowSelect [ := | --> ] lBoolean
- <ParentWindowName>.<TreeControlName>.HasButton ( nValue ) [ := | --> ] lBoolean
- <ParentWindowName>.<TreeControlName>.Cargo ( nValue ) [ := | --> ] xData
- <ParentWindowName>.<TreeControlName>.CargoScan ( xData ) --> nValue | NIL
- <ParentWindowName>.<TreeControlName>.GetPathValue ( nValue ) --> anPathValue | NIL
- <ParentWindowName>.<TreeControlName>.GetPathName ( nValue ) --> acPathName | NIL
- <ParentWindowName>.<TreeControlName>.GetDisplayLevel ( nValue ) --> nDisplayColumn | NIL
- New Printer Features
- Select Printer PDF (Directly print to a pdf file)
- Select Printer DialogFileName and SaveAs
- SELECT PRINTER <cPrinter> [ PREVIEW ] [ NOSAVEBUTTON ] [ DIALOGFILENAME <cDialogFileName> ] [ SAVEAS <cFullFileName> ]
- cDialogFileName --> [ cPath\ ] cFileName + [ cExt ] --> ".PDF" | ".BMP" | ".JPG" | ".GIF" | ".TIF" |".PNG" | ".EMF"
- cFullFileName --> [ cPath\ ] cFileName + cExt --> ".PDF" | ".BMP" | ".JPG" | ".GIF" | ".TIF" |".PNG" | ".EMF"
- New property ANGLE <nAngle> in PRINT DATA (nAngle: are in degrees and counterclockwise)
- New BosTaurus Functions
- BT_ToolBarBottomHeight (Win)
- BT_ToolBarBottomWidth (Win)
- BT_ToolBarTopHeight (Win)
- BT_ToolBarTopWidth (Win)
- BT_MathPI ()
- BT_MathSIN ( AngleInDegrees )
- BT_MathCOS ( AngleInDegrees )
- BT_MathTAN ( AngleInDegrees )
- BT_MathCircumferenceY ( Radius, AngleInDegrees ) --> nRow
- BT_MathCircumferenceX ( Radius, AngleInDegrees ) --> nCol
- BT_MathCircumferenceArcAngle ( Radius, Arc ) --> AngleInDegrees
- BT_SelectObject (hDC, hGDIobj)
- BT_DeleteObject (hGDIobj)
- BT_DrawTextSize (hDC, cText, cFontName, nFontSize, nTypeText) --> { w , h , ABC of first character }
- BT_RegionCreateElliptic (nCol1, nRow1, nCol2, nRow2)
- BT_RegionCombine ( @hRgnDest, hRgnSrc1, hRgnSrc2, nCombineMode ) --> nResult
- BT_RegionFrame (hDC, hRgn, aColor, nWidth, nHeight)
- BT_ImageListGetSystemIcon ( [ lLargeIcon ] ) --> hImageList ( You NEVER add, remove or delete icons from the System Imagelist )
- BT_ImageListExtractIcon (hImageList, nIndex) --> hIcon
- BT_DirectoryInfo ( [nCSIDL | cPath] , [nTypeList] , @nIndexRoot, @CSIDL_Name ) --> { { Data1, Data2, Data3, ... } , ... }
- New Demos
- MiniWriter (RichEditBox demo in Applications contributed by Eduardo L. Azar)
- Enhanced BUILD.BAT and BUILD64.BAT stops build app if app is running (contrib by Pablo César)
- Enhanced DEFINE WINDOW: now AT, ROW, COL, WIDTH and HEIGHT parameters are optional (contrib by Pablo César)
- Enanced InputBox() and InputWindow() functions (contrib by Pablo César)
- Fixed bug in RichEdit Control Justify text and in ParaNumberingStyle constants (contrib by Kevin Carmody)
-HMG 3.3.1 (Stable) 2014/07/15...Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Começando com Harbour + HMG
É por isso que eu bebo...
Depois de quebrar a cabeça para implementar o projeto para uso com Unicode, tudo resolveu-se na base do : "vai tentando gambiarra que uma hora ou lasca tudo ou acerta de vez".
1 - Converti para Unicode (s/BOM) pelo Notepad++ - Faiô
2 - No Notepad++ Habilitei o Unicode s/Bom e reescrevi onde tava desconfigurado - Faiô de novo
3 - Converti para Unicode (s/BOM) pelo Lope Edit - Faiô di novo......vou desistir...vô não....
4 - No Lope Edit Habilitei o Unicode s/Bom e reescrevi onde tava desconfigurado, e não é que... faiô di nono... tô me arretando... :?
5 - Abri o Crimson Editor (o do cachorrinho) - Ele não tem conversor para Unicode (na verdade não tem conversor para nenhum formato), bem, quem tá na chuva é pra se queimar...
6 - No Crimson Editor Habilitei o Unicode s/Bom e reescrevi onde tava desconfigurado :*
Vai entender...
´
:{ Crimson Editor
Agora compilando na versão 3.4.0 Unicode e funcionado perfeitamente....
Valeu a ajuda.
Até logo.
Marcelo
Depois de quebrar a cabeça para implementar o projeto para uso com Unicode, tudo resolveu-se na base do : "vai tentando gambiarra que uma hora ou lasca tudo ou acerta de vez".
1 - Converti para Unicode (s/BOM) pelo Notepad++ - Faiô
2 - No Notepad++ Habilitei o Unicode s/Bom e reescrevi onde tava desconfigurado - Faiô de novo
3 - Converti para Unicode (s/BOM) pelo Lope Edit - Faiô di novo......vou desistir...vô não....
4 - No Lope Edit Habilitei o Unicode s/Bom e reescrevi onde tava desconfigurado, e não é que... faiô di nono... tô me arretando... :?
5 - Abri o Crimson Editor (o do cachorrinho) - Ele não tem conversor para Unicode (na verdade não tem conversor para nenhum formato), bem, quem tá na chuva é pra se queimar...
6 - No Crimson Editor Habilitei o Unicode s/Bom e reescrevi onde tava desconfigurado :*
Vai entender...
:{ Crimson Editor
Agora compilando na versão 3.4.0 Unicode e funcionado perfeitamente....
Valeu a ajuda.
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
- Antonio
- Usuário Nível 3

- Mensagens: 347
- Registrado em: 14 Ago 2003 17:33
- Localização: Sao Paulo - SP
- Contato:
Começando com Harbour + HMG
Obrigado por responder Toledo e Plabo Cesar.
Parece que esta é ainda uma versão de teste e sera substituida em breve, é isso mesmo?
Pablo Cesar eu estudei java num curso técnico de analise de sistemas na ETEC e C# foi por conta mesmo.
São duas linguagens muito boas e nem tanto ao mesmo tempo.
Se tivessemos no harbour um editor com interlicense como se tem nas duas acima eu diria que o harbour não estaria devendo nada a nenhuma linguagem e quem sabe, de repente não esta devendo mesmo ja que não sou profundo conhecedor de nenhuma linguagem de programação.
Parece que esta é ainda uma versão de teste e sera substituida em breve, é isso mesmo?
Pablo Cesar eu estudei java num curso técnico de analise de sistemas na ETEC e C# foi por conta mesmo.
São duas linguagens muito boas e nem tanto ao mesmo tempo.
Se tivessemos no harbour um editor com interlicense como se tem nas duas acima eu diria que o harbour não estaria devendo nada a nenhuma linguagem e quem sabe, de repente não esta devendo mesmo ja que não sou profundo conhecedor de nenhuma linguagem de programação.
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Começando com Harbour + HMG
Grande garoto !
Você é persistente e inteligente !
Mas não entendo por quê não daria certo pelo Notepad++
Eu peguei ose seus dois prg, apenas carrguei no Notepad++, executei a conversão para UTF-8 (sem/Bom), gravei e re-compilei.
Deu certo para mim, em anexo os dois prgs.
Você é persistente e inteligente !
Mas não entendo por quê não daria certo pelo Notepad++
Eu peguei ose seus dois prg, apenas carrguei no Notepad++, executei a conversão para UTF-8 (sem/Bom), gravei e re-compilei.
Deu certo para mim, em anexo os dois prgs.
- Anexos
-
Projetos.rar- (8.07 KiB) Baixado 250 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.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Começando com Harbour + HMG
Eu não sei por quê na HMG lançam as versões da HMG com a nomenclatura "TESTE"... fico pé da vida com essa mer...Antonio escreveu:Parece que esta é ainda uma versão de teste e sera substituida em breve, é isso mesmo?
Na verdade todo, mas todo release são de certa forma também de teste, não acham ou eu estou enganado ?
Sei que o Dr. Claudio Soto irá lançar um remendo (Patch) consertando algumas coisas e implementando outras novas.
Editor com Intellisense ?Antonio escreveu:Se tivessemos no harbour um editor com interlicense como se tem nas duas acima eu diria que o harbour não estaria devendo nada a nenhuma linguagem

Bom pelo que eu sei, existe o projeto scintilla http://www.scintilla.org/ScintillaDoc.html que no momento a FiveWin (em Harbour) está desenvolvendo o próprio editor atarvés de dlls.
http://forums.fivetechsupport.com/viewt ... 57#p171557
Na HMG utilizamos o Notepad++ que também é OPENSOURCE e possui os mesmo recursos e até mais.
Mas já haverá colega daqui mesmo no fórum que poderão indicar IDE com seu próprio edito (verifique HBIDE) mas claro nada se compara com NetBeans ou Eclipse que são verdadeiros ambiente de desenvolvimento integrados.
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.
