Clipper On Line • Ver Tópico - Clipper, Harbour, LIB gráfica

Clipper, Harbour, LIB gráfica

Aqui é o lugar para bater papo e trocar idéias sobre os mais variados assuntos

Moderador: Moderadores

 

Clipper, Harbour, LIB gráfica

Mensagempor microvolution » 17 Fev 2018 10:58

JoséQuintas escreveu:NÃO EXISTE OOP EM HMG, MAS TEM OOP NA GTWVG.
certo...
então, vamos a um exemplo de uma tela que o MSDN gentilmente me forneceu e eu adaptei à minha necessidade:
Se, puder, veja no link: http://pctoledo.com.br/forum/viewtopic.php?f=45&t=17040&start=45 um erro estranho que está acontecendo, por favor!
Se lá no link não for POO, é o que então?
Pois tudo q acontece é de forma muito estranha e não tem um seguimento PROCEDURAL onde a gente localiza o erro com facilidade.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Clipper, Harbour, LIB gráfica

Mensagempor microvolution » 17 Fev 2018 11:01

Quintas, como vc explica que na GTWVG tem POO?
E, como vc explica que na HMG isso não existe?
:%
Cada dia que passa, o "quebra-cabeças" vai se complicando ainda mais.
:-o
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Clipper, Harbour, LIB gráfica

Mensagempor Claudio Soto » 17 Fev 2018 15:01

Microvolution creo que existe un pequeño error de conceptos. La POO depende del lenguaje de programación y no tiene relación con como funciona el SO. La POO tiene que ver con clases, herencia, polimorfismo, etc y se implementa en algunos lenguajes (ej java, c++, etc) y es un tipo de forma de escribir y manejar el código fuente. Mientras otros lenguajes no implementan este tipo de codificación (ej C, Pascal, etc) y emplean la programación procedural.

En cuanto a Windows no funciona en la forma tradicional del DOS ( SO monotarea), Windows se maneja con eventos y el SO es quien le envía mensajes al programa y este los debe interceptar y responder en consecuencia. Por ejemplo cuando se preciona una tecla Windows le envía un mensaje al programa y este debe procesar dicho evento.
A groso modo en HMG los eventos se manejan con los ON ..., ON click, ON Paint, on focus, etc.

En definitiva los eventos de Windows y la programación POO son dos cosas diferentes. Independientemente que el lenguaje de programación soporte o no POO, en todos los lenguajes el sistema de eventos de Windows se manejan de la misma manera.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Clipper, Harbour, LIB gráfica

Mensagempor JoséQuintas » 17 Fev 2018 18:33

Cada dia que passa, o "quebra-cabeças" vai se complicando ainda mais.


Vamos ver se entende assim...

No xBase você prepara toda a tela...

@ 1, 0 SAY "código" GET código
@ 2, 0 SAY "Nome"GET nome
@ 3, 0 SAY "outro" GET outro


e depois faz o ambiente funcionar
READ


Na programação Windows isso envolve a tela completa, com tudo.

textbox
label
botões
menus
sei lá mais o que...


E depois ativa tudo

activate, show, etc.


Essa é a grande diferença.
Não dá pra ir colocando textos na tela depois, ou algo assim.
Tudo tem que estar definido antes, nem que seja apenas um espaço aonde vai ser colocado o texto.
O Windows passa a tomar conta, e apenas repassa os eventos para o programa.
O usuário clica num botão, o Windows repassa ao programa que o botão foi clicado e o programa faz o que precisa.

Em console: o programa gerencia tudo sozinho
Em Windows: o Windows gerencia tudo, apenas repassa eventos para o programa, e o programa trata aquele evento, uma coisa por vez, durante a execução.

Então... uma vez o aplicativo em GUI, ele deve obedecer a LIB gráfica, que por sua vez deve obedecer o Windows.
Você pode fazer o que quiser... mas deve obedecer as necessidades das LIBs gráficas, que obedecem as necessidades do Windows.

Outra coisa também: não parece, mas cada desenho numa tela GUI é uma janela diferente, é como se fosse um programa diferente, um zumbi recebendo ordens.

Numa tela console - considere de certa forma a GTWVG também:
moveu a janela de lugar, o texto da janela vai ser reescrito, o aplicativo apenas precisa reescrever o texto da tela e fim.

Numa tela GUI:
A janela principal vai ser movida, o programa avisa ao windows para mover também todas as janelas internas com texto, desenhos, etc. (botões inclusive).
A cada objeto movido, tá lá o windows e o aplicativo (lib gráfica) trocando mensagens pra dizer o que fazer.

Vamos ver de outra forma... o meu monitor 4k....
A tela console trabalha com 40 x 100, o que equivale a 4.000 caracteres/elementos
Em modo gráfico, 3840 x 2160 = 8.294.400 pixels/elementos.
E cada elemento pode ser uma cor diferente.
Gerenciar 4.000 elementos é mais rápido do que gerenciar 8 milhões de elementos.
A forma intermediária é dividir em janelas menores, objetos menores, que são gerenciados pelo Windows, e não pelo programa.

No final todo mundo sempre reclamou do desperdício de computador que acontecia no Windows.... e agora todo mundo quer desperdiçar, dizem que é o normal.... rs
Parece piada, mas é sério, trocentos anos depois, o que era considerado errado virou o que é certo.

E vai piorar....
Telas de celular já tem 4k, então é mais que normal que telas de computador sejam muito mais que 4k, já tem monitor DELL de 8k.

Aqui o Windows reserva 10 GIGAS de memória só pra vídeo. 10 milhões de bytes, além dos 2 milhões de bytes que a placa tem.

8.000 bytes pra texto, 12 milhões de bytes pra vídeo, além dos bytes usados durante processamento....
Tela gráfica é coisa séria... o tempo dos 640KB de memória do Clipper se foram...
E se não tiver um bom gerenciamento de tudo isso gráfico.... ferrou....

Acho que ninguém parou pra pensar nesse ponto.... do que é gerenciado ao usar GUI...
Mas não tem volta...

Resumindo:
O Windows faz um gerenciamento doido pra controlar vídeo....
A LIB gráfica é obrigada a obedecer o Windows, pra esse controle funcionar bem...
O programador tem que obedecer a LIB gráfica...
Quer programar em GUI: obedeça a LIB que escolher.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Clipper, Harbour, LIB gráfica

Mensagempor JoséQuintas » 17 Fev 2018 19:02

Agora OOP...... programação orientada a objetos....

Se a tela é dividida em objetos, e até tudo que existe no computador é dividido em objetos.... nada mais interessante do que programação orientada a objetos.
Você tem lá o objeto button, que tem suas propriedades e métodos: você pode mudar um conteúdo do button, ou executar uma tarefa que existe no button.
O mais interessante seria button:Largura, button:Altura, button:linha, button:coluna, button:Mover( 1, 1, 5, 5 )
Tudo que se refere ao "objeto" fazendo parte do objeto.

Em tela texto, isso nem precisa pra tela... é só um texto...
Mas pode usar num browse, pra gerenciar o que faz parte dele, ele envolve muito mais do que um simples texto.

Voltando ao button: ele pode ter uma imagem, um texto, imagem + texto, pode mudar ao clicar, mudar ao passar o mouse por cima, há vários elementos que fazem parte do button.

Na GTWVG, tem lá o button:caption, usado pra atribuir ou recuperar o caption do button, a propriedade caption faz parte do button da gtwvg.
Na HMG.... no fonte Harbour não existe o objeto button, pelo menos não pra acesso direto, somente através de funções.
Mas até aí... sei lá... depende do programador... ou é tanta merd. envolvida, que só de funcionar já tá bom demais.

Por isso comentei de programar igual videogame... pode simplificar tudo... ou não.. sei lá...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Clipper, Harbour, LIB gráfica

Mensagempor microvolution » 18 Fev 2018 18:37

JoséQuintas escreveu:Não dá pra ir colocando textos na tela depois, ou algo assim.
já percebi essa dificuldade mesmo.falta agora me explicar por que a GTWVG é orientada a objetos e a HMG não.
Dê exemplos práticos do button, que vc usou agora pouco pra ver se entendo.
Outra coisa, se ela é OOP ou POO, por que não conseguimos fazer uma tela gráfica tipo o DEFINE WINDOW da HMG com tudo e um pouco mais?
por exemplo, neste link/post: http://pctoledo.com.br/forum/viewtopic.php?f=45&t=17040&start=45 eu fiz já um grande avanço numa tela gráfica de PDV... mas em GTWVG não consigo ver se é possível...
pois se for, ela (GTWVG) parece ser mais fácil de se assimilar, como é no caso da nossa antiga forma procedural:
for i=1 to 100
  comandos/funções
next
function xxxxxx()
@say,
@get
read
function arquivo_fecha()
quit


func xxxxxx()
comandos/funções
etc
sei lá
retu


func arquivo_fecha()
comandos/funções
etc
sei lá
retu

Isso acima pra mim, podem perceber que acredito eu q nunca perguntei e incomodei ninguém... pois está claro pra mim, como a noite é dia e vice-versa, mas, com a sobrevida que o harbour me deu, algumas coisas foram "mordendo" sem ter dentes...
Essa da HMG - através do DEFINE WINDOW/ END WINDOW ainda não caiu a ficha... e os erros que acontecem do tipo ERROR BASE/1021 argument error; ==, exatamente na linha do FORM_QUALQUER.activate ... fico sem noção de onde realmente o erro está... entende?
:% :%
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Clipper, Harbour, LIB gráfica

Mensagempor JoséQuintas » 18 Fev 2018 21:23

Em modo texto o programa tem controle total:
Pode colocar e tirar texto à vontade.

Em modo GUI, o controle é do Windows.
Todos os objetos, seja texto ou gráfico, ou a própria janela, precisam ser definidos ANTES.
Somente os eventos de cada controle é que são transmitidos pelo Windows para o aplicativo, e o aplicativo só pode interagir com eles.

TUDO em GUI são janelas Windows.
Não dá pra ficar colocando e tirando janelas o tempo todo, ou mesmo se desse, o programa seria uma doideira.

A GTWVG até permite misturar GUI com texto, mas nem tudo que é GUI pode ser misturado no texto.
Muitas coisas, somente em GUI.
Seria a mesma coisa com qualquer LIB.

Talvez desenhando a tela numa IDE ajude a entender essa parte de controles, e o que pode ou não pelo programa.
Tente encontrar um Visual Basic 6, e brincar um pouco com ele, pode ajudar a entender isso também.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Clipper, Harbour, LIB gráfica

Mensagempor microvolution » 18 Fev 2018 22:58

JoséQuintas escreveu:Tente encontrar um Visual Basic 6, e brincar um pouco
a primeira linguagem q aprendi a programar foi o BASIC (originou o VB)... já até vi algo há muitos anos sobre o VB antes da explosão da internet... parece q era VB.NET...
Mas já usei muito o DELPHI, desde o 4, 7 e o XE3... não sei até hoje porque não dei continuidade aos estudos do DELPHI, pois lá não tinha tanto problema como aqui eu enfrento pra entender... cheguei a fazer um aplicativo por nome USBCONTROLLER que controlava o acesso às portas USB do computador de forma PARCIAL ou TOTAL e por usuário COMUM ou ADMINISTRADOR... pensei q iria a arrebentar de vender, pois não há no mercado um aplicativo como o meu feito em DELPHI... talvez não dei prosseguimento no DELPHI pois as licenças do 4 e do 7 eu tinha, mas, as posteriores, após a venda para a EMBARCADERO achei muito alto adquirir então... quando houve a possibilidade de dar uma "sobrevida" aos meus códigos clipper - a qual é uma linguagem que me adaptei bem, tô agora esbarrando em coisas que pra maioria aqui é infantilidade, mas, pra mim, tá difícil de compreender...
mas, quando esse dia chegar, vou montar um "sistema de automatização pra venda de pipoca" rsrsrs
Meu amigo Quintas, como faço para desenvolver uma tela bem gráfica - semelhante às da HMG (define/end window) bem parecida com a GTWVG?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Clipper, Harbour, LIB gráfica

Mensagempor JoséQuintas » 19 Fev 2018 02:12

Mas já usei muito o DELPHI


Isso contraria todas as dúvidas que tem colocado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Clipper, Harbour, LIB gráfica

Mensagempor MSDN » 19 Fev 2018 09:28

As vezes eu acho que o cara vem aqui pra tirar sarro da nossa cara, escreve tudo isso, e depois fica rindo, só pode ser, não tem outra explicação !
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

Clipper, Harbour, LIB gráfica

Mensagempor microvolution » 19 Fev 2018 13:52

JoséQuintas escreveu:Mas já usei muito o DELPHI
sim... somente a versão 4 e 7 para testes e aprendizado... mas o tempo não era disponível o suficiente na época e sempre fui apaixonado pelo clipper... de 2003 a 2015 eu não pude fazer nada por questões pessoas de força maior q vou parar de ficar usando a internet pra me abrir e ser chacoalhado.
MSDN escreveu:As vezes eu acho que o cara vem aqui pra tirar sarro da nossa cara
Sr. Marcelo Souza das Neves, o Sr. sempre me falta com respeito e eu sempre aqui levando numa boa.
Faz o seguinte:
- se está levando para o lado pessoal - que não deveria, pois não me conhece e nem eu a V.Sa. - a não ser que vc tenha alguma rincha pessoal para com minha pessoa, aí dá pra entender, por favor, é só me ignorar e mais nada.
- se este fórum for de grupo fechado e não aberto a quem quiser, é só pedir ao proprietário pra me avisar;
- se eu não mais sou bem vindo ao fórum, é só pedir aos administradores pra me excluírem;

Você e ninguém há de encontrar alguma coisa que presta em mim; aliás em nenhum de nós há coisa boa pra oferecer, por mais "bonzinhos" que sejamos ou que apareçamos ser, nada somos. O que somos? somos apenas pó e cinza e ao pó e cinza retornaremos todos - sem nenhuma exceção. Há registro de apenas 2: Enock e Elias.

Como está escrito em Romanos 3:10-18:
Não há um justo, nem um sequer.
Não há ninguém que entenda;Não há ninguém que busque a Deus.
Todos se extraviaram, e juntamente se fizeram inúteis.Não há quem faça o bem, não há nem um só.
A sua garganta é um sepulcro aberto;Com as suas línguas tratam enganosamente;Peçonha de áspides está debaixo de seus lábios;
Cuja boca está cheia de maldição e amargura.
Os seus pés são ligeiros para derramar sangue.
Em seus caminhos há destruição e miséria;
E não conheceram o caminho da paz.
Não há temor de Deus diante de seus olhos.

Então, por favor Sr. Marcelo, que eu saiba nada lhe fiz e não pretendo fazer, mas, se eu o fiz, me perdoe, pois sou humano e não consigo ser perfeito.
Não sou seu inimigo e nem muito menos concorrente, pois vc deve ter muitos aplicativos no mercado, eu, apenas 1 com 3 clientes, sendo q apenas 1 quem me paga e já tem 1 ano que não paga nada, pois me cobrou melhorias...
Então, por favor, vamos ser mais profissionais e vejamos que o inimigo é outro:
Efésios 6:12 Porque não temos que lutar contra a carne e o sangue, mas, sim, contra os principados, contra as potestades, contra os príncipes das trevas deste século, contra as hostes espirituais da maldade, nos lugares celestiais.

↑↑↑↑Estes 4 mais o chefe deles, sim é que são os nossos inimigos↑↑↑

Voltemos ao que nos interessa. Dar sobrevida aos nossos aplicativos clipper, ou melhor, ao nosso harbour que está meio que para ou não para se não fizermos algo para o VZakats ou quem o ajuda ou vier a ajudar.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Clipper, Harbour, LIB gráfica

Mensagempor MSDN » 19 Fev 2018 20:20

Depois dessa, só lhe desejo uma coisa.....sorte, sorte, sorte, sorte, sorte, sorte, sorte, sorte...e...sorte...pq vai precisar de muita, ou talvez um alento seria acreditar em reencarnação !
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

Clipper, Harbour, LIB gráfica

Mensagempor gregpoulsen » 10 Jul 2019 10:33

Boa tarde.
Muito obrigado pelo tópico útil. Esta informação parece muito útil. Muito bem feito
gregpoulsen
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 1
Data de registro: 10 Jul 2019 10:32
Cidade/Estado: Boston
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Clipper, Harbour, LIB gráfica

Mensagempor JoséQuintas » 10 Jul 2019 18:54

Nem lembrava dele, vai completar 5 anos disso.

Mas continua igual.
Dá pra resumir tudo: quer mudar pra Harbour, mude, tanto faz se 3.2 ou 3.4. (3.0 é velha e diferente)
Mudou, problema 64 bits, resolvido, depois tem tempo de sobra pra testar qual acha melhor, ou o que mais vai querer fazer.
Não dá pra mudar agora? vai deixando preparado no próprio Clipper, assim vai ganhando tempo.
E nada de duas versões, senão vai ser tempo perdido, sempre uma vai estar atrasada.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Clipper, Harbour, LIB gráfica

Mensagempor gregpoulsenn » 17 Set 2019 11:52

Um tópico maravilhoso complementado por exemplos. Bom trabalho Além disso, deixe-me adicionar algumas informações sobre a placa grafica para processamento de vídeo. Eu acho que você estará interessado.
gregpoulsenn
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 1
Data de registro: 17 Set 2019 11:44
Cidade/Estado: Boston
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Anterior



Retornar para Bate Papo

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro