TBrowse do clipper: algoritmo

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Iwasa
Usuário Nível 1
Usuário Nível 1
Mensagens: 45
Registrado em: 16 Ago 2007 08:27
Localização: PRES. PRUDENTE SP
Contato:

TBrowse do clipper: algoritmo

Mensagem por Iwasa »

Caros colegas clippeiros,

Estou estudando o TBROWSE do clipper, por ser orientado a objeto, não estou conseguindo entender a estrtura de montagem. Procurei pela web, mas não encontrei nada que me fizesse entender sua estrutra de montagem...
Se por ventura, algum colega, puder me orientar como é a estrutura de montagem do TBROWSE ficaria muito agradecido.
Do inicio até que compreendi a montagem:
1. Declara-se as variáveis locais para objetos e variáveis de controle.
2. Cria-se o objeto Tbrowsedb em uma variavel local.
3. Declara-se as colunas na variavel objeto com TBColumnew
4. Adiciona-se as colunas declaradas ao objeto TBrowse
...

Até este passo eu consegui compreender... logo após estes passos não consegui compreender muita coisa...
Desde já agradeço aos colegas.
Abraços
CLIPPER 5.3b/BLINKER 7.0/RDD CDX => Migrando para HARBOUR/RDD CDX

"Podemos construir um mundo melhor, compartilhando informações. Compartilhar conhecimento é edificar um mundo melhor para todos!".

http://iwasa.4shared.com/
Avatar do usuário
Dr.Microso
Usuário Nível 3
Usuário Nível 3
Mensagens: 173
Registrado em: 12 Jan 2009 21:26
Localização: Belo Horizonte, MG

Re: TBrowse do clipper: algoritmo

Mensagem por Dr.Microso »

Colega Iwasa, salve!

Se compreendi bem sua necessidade, acho que o link a seguir pode oferecer uma descrição de forma bem didática... Pelo menos para iniciar-se sem maiores sustos... Reconheço que há assuntos que são abordados de forma mais mítica do que técnica, onde a própria explicação acaba por nos afastar mais da compreensão...

http://iklosowski.no-ip.info/tbrowse.html

Realmente, do ponto de vista de um novato, a curva de aprendizado necessária para tornar-se efetivamente produtivo com Tbrowse é um pouco íngreme... A implementação proposta por OBJETOS é usada por muitos, mas compreendida por poucos!
O bakana é que uma vez dominado (vale estudá-lo), compreendemos como é indispensável sua funcionalidade e como proporciona elegância e simplicidade de design, e por isso é um recurso que muitos profissionais tentam implementar em outras linguagens que não o possui nativamente.
Veja que barato é possível fazer, via demonstração de alguns exemplos encontrados na sessão de download deste FÓRUM...

https://pctoledo.org/download/visualiza.zip (por Toledo)
https://pctoledo.org/download/brwcor.zip (por Toledo)
https://pctoledo.org/download/brwm.zip (por Marco Aurélio Martins)
https://pctoledo.org/download/tela.zip (por Luis Fernando Beniti)

Vale lembrar que o Clipper possui exemplos práticos do uso deste recurso em sua pasta de instalação.

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
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: TBrowse do clipper: algoritmo

Mensagem por Maligno »

Uma ligeira correção: o TBrowse não é orientado a objetos. Aliás, nada do Clipper passa nem perto do paradigma de orientação a objetos. O que muitos chamam de objetos, na verdade são estruturas de dados simples, ou pseudo-objetos. OOP, no rigor da palavra, é inumeras vezes mais complexo do que se vê em qualquer pseudo-objeto do Clipper, seja Browse, Get, etc. Ao que me consta, e conforme comentários lidos, nem o XHarbour tem OOP totalmente implementado.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Iwasa
Usuário Nível 1
Usuário Nível 1
Mensagens: 45
Registrado em: 16 Ago 2007 08:27
Localização: PRES. PRUDENTE SP
Contato:

Re: TBrowse do clipper: algoritmo

Mensagem por Iwasa »

Dr. Microso, muito obrigado pelas dicas, foram de grande valia, pois conheci mais sintaxes novas... Estou aprendendo e adaptando meus codigos no TBROWSE, não conheço o bem o TBROWSE, estou testando e aprendendo suas funções.
Pois estou vendo que simplifica muito os codigos e diminui bem os menus no sistema.
E como sempre o nosso colega Maligno nos ensinando dicas e técnicas importantes como sempre.
Agradeço a todos por terem respondido ao tópico e pelas dicas importantes.
Muito obrigado :{
CLIPPER 5.3b/BLINKER 7.0/RDD CDX => Migrando para HARBOUR/RDD CDX

"Podemos construir um mundo melhor, compartilhando informações. Compartilhar conhecimento é edificar um mundo melhor para todos!".

http://iwasa.4shared.com/
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Re: TBrowse do clipper: algoritmo

Mensagem por billy1943 »

Depois que os amigos manifestaram-se acima, permitam-me expor o seguinte:
- Trabalho há muitos anos com o Clipper (desde o Summer 87) e quando apareceu o Clipper 5.01, foram acrescentadas AS CLASSES DE OBJETOS DO CLIPPER, segundo W. EDWARD TILEY e comecei a dar uns tratos ao meus sistemas procurando incluir o que vi de útil nessas classes.

Assim, passei a utilizar:
1. Classe Error ( muito interessante porque acusa com mais detalhes os erros de execução do Clipper
2. Objetos Get que colocou mais luz nos comandos @ ...SAY ......GET e READ, permitindo colocar GET´s dentro de GET´s, introduzindo os conceitos de pilha, Getlist, etc.

3. Sistema TBROWSE - aí é que mora o "danger", como se diz comumente. Eu não costumo usar o comando BROWSE de jeito nenhum, poucas vezes uso também o DBEDIT ou seja faço muitas telas de manutenção de arquivos usando os recursos das funções: INITVARS(), CLRVARS(), EQUVARS(), REPLVARS() e FREEVARS().

Pois bem, andei analisando vários exemplos de rotinas envolvendo o TBROWSE, e francamente, nada vi que pudesse aumentar a segurança das minhas rotinas de entradas de dados do jeito que eu já faço, principalmente com a classe de Objetos Get, aliado à rotinas de críticas de dados à medida que são inseridos.

O que é que eu ainda não captei que o TBROWSE possa acrescentar ?
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Eliane
Usuário Nível 2
Usuário Nível 2
Mensagens: 82
Registrado em: 22 Mai 2006 10:17
Localização: Londrina-PR

Re: TBrowse do clipper: algoritmo

Mensagem por Eliane »

Meu amigo, quebrei minha cabeça para aprender a usar o TBROWSE. Mas aprendi. Nosso amigo Pablo Cesar me ajudou muitíssimo. Mando alguns exemplos completos:

tbwcli.prg -> usa tbrowse com arquivo de clientes (tbrowsedb)
tbwtab.prg -> usa tbrowse com tabela

Pode-se melhorar o código com certeza, mas funciona. Qualquer dúvida, é só falar.
Anexos
tbwtab.prg
tbrowse com tabela
(38.32 KiB) Baixado 372 vezes
tbwcli.prg
tbrowse arq.clientes
(24.85 KiB) Baixado 311 vezes
Avatar do usuário
Dr.Microso
Usuário Nível 3
Usuário Nível 3
Mensagens: 173
Registrado em: 12 Jan 2009 21:26
Localização: Belo Horizonte, MG

Re: TBrowse do clipper: algoritmo

Mensagem por Dr.Microso »

Caro Billy, salve!

Creio que a utilidade de um recurso firma-se proporcionalmente à real necessidade de seus aportes.

Busca-se no TBrowse conveniência, flexibilidade, robustez e portabilidade, contudo, assim poder ser... Ou não.
Minhas sugestões partem da percepção do "nível" que o colega pode estar dentro da linguagem ou do problema, e procuro adaptar-se a isto tentando contextualizar-se o máximo possível para conseguir ajudá-lo. Na verdade, como gostaria... Se eu fosse "a bola da vez".
Dr.Microso escreveu:Se compreendi bem sua necessidade, acho que o link a seguir pode oferecer uma descrição de forma bem didática...
Há vários formas (estrutura/code) para tornar solúvel um determinado problema, mas o que pode ser conveniente para alguns, pode ser meramente supérfluo ou danoso para outros.
billy 1943 escreveu:Eu não costumo usar o comando BROWSE de jeito nenhum, poucas vezes uso também o DBEDIT ou seja faço muitas telas de manutenção de arquivos usando os recursos das funções: INITVARS(), CLRVARS(), EQUVARS(), REPLVARS() e FREEVARS()...
Por desconhecer estas funções (fiquei muito interessado até...), e o "engenho" de seu uso, não posso lhe dizer ao certo em que ponto o TBrowse poderia agregar "algo +" ao seu code....

Devido sua flexibilidade, o TBrowse possui emprego diverso, eu utilizo principalmente para sofisticar MENUS e como um veículo poderoso para a navegação e filtragem de dados... Há muitas vantagens:

- Atualizar, editar e eliminar dados;
- Apresentar multi-linhas;
- Realçar via cores diferentes colunas, linhas (usar vermelho para indicar números negativos por exemplo ou produtos especiais).
- Trabalhar com matrizes multi-dimensionais;
- Apresentar dados de fontes diversas;
- Mesclar relacionamentos de banco de dados;
- Criar navegação multi-usuário, etc.

Sua experiência com o code é seu patrimônio, e a "engenhação aplicada" seu limite.
Esta é uma das razões que tenho por hobby estudar o code alheio. Acabo sempre dando boas risadas ou começo imediatamente a rever e adaptar conceitos.

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
Responder