Clipper On Line • Ver Tópico - Três Boas Dicas (A 3ª Dica Achei Fantástica!)

Três Boas Dicas (A 3ª Dica Achei Fantástica!)

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Três Boas Dicas (A 3ª Dica Achei Fantástica!)

Mensagempor Spitzer » 21 Jan 2005 00:53

Olá!

Pessoal, vão aí três dicas:

1) Função de Conversão do Padrão OEM para ANSI:
Devido a uma necessidade minha onde precisei gravar um arquivo texto e abrir este arquivo com aplicativos Windows (Word, Bloco de Notas, etc.), construí uma função que converte o padrão de caracteres OEM (DOS) para ANSI (Windows).
Para fazer a conversão, utilizei a função STRANSLATE() do arquivo objeto stransla.obj, que baixei da página do Maligno:
http://www.buzinello.com/prg/stransla.zip
A função STRANSLATE() é similar à STRTRAN() do Clipper, mas muito mais eficiente e mais rápida (escrita em C).
Nota 1: meu teclado está configurado para ABNT2. Para outras configurações, não sei se a conversão funcionará a contento.
Nota 2: Caso alguém se interesse, peça a função a mim em private que envio. Estou postando a função aqui, mas creio que os caracteres não aparecerão da forma como deveriam aparecer no MS-DOS.

/* ──────────────────────────────────
OemToAnsi()
Converte os caracteres do padrão OEM (MS-DOS) para ANSI (Windoes)
Parâmetros: Texto a ser convertido
────────────────────────────────── */
FUNCTION OemToAnsi

PARAMETERS pcTexto

RETURN STRANSLATE(pcTexto,;
                  "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÖÜø£Ø׃á"+;
                  "íóúñѪº¿®¬½¼¡«»ÁÂÀ©¢¥ãäðÐÊËÈÍÎÏ"+;
                  "¦ÌÓßÔÒõÕµþÞÚÛÙýݯ´­±¾¶§÷¸°¨·¹³²",;
                  "óÚÔõÓÕþÛÙÞ´¯ý─┼╔µã¶÷‗¹¨Í▄°úÏÎâß"+;
                  "ݾ·±Ð¬║┐«¼¢╝í½╗┴┬└®óÑÒ├ñ­ð╩╦╚═╬¤"+;
                  "ª╠Ë▀ÈʧıÁ■Ì┌█┘²¦»┤¡▒¥Âº¸©░¿À╣│▓")

* Fim de [OemToAnsi]


2) Um Pequeno Manual Sobre Blocos de Código:
Está 100% em inglês, mas para quem conhece pouco sobre eles (e como eu, nada!), é um bom começo.
O endereço para baixar é:
http://www.karland.com/code/clipper/files/codeblck.zip
O autor da dissertação (Tom Leylan) inicia o texto com um pouco de humor:
"Eles são misteriosos".
"Eles são divertidos".
"Freqüentemente, eles são mal entendidos".
"Eles são blocos do código".
hehehehehehehe

Interessante também o site http://www.karland.com/code/clipper
Muita coisa lá já vimos, mas tem algumas novidades.
E uma das novidades é a dica que eu mencionei ter achado fantástica, logo abaixo:

3) Exibir Relatório em Tela com TBrowse Direto do Arquivo Texto:
Que tal exibir o relatório na tela e se livrar do arquivo temporário?
Pois taí!
Baixem o fonte de:
http://www.karland.com/code/clipper/files/browtext.zip
Imagino que quem souber manipular arquivos (que não é o meu caso [ainda]) com FOPEN(), FCLOSE(), FREAD(), FREADSTR()... poderá criar pesquisas no relatório.
Apesar de não ter explorado bem o fonte, ele pareceu-me relativamente fácil de entender, portanto, fácil de fazer as modificações.
Abraços,
Ademir Spitzer
Spitzer
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 60
Data de registro: 15 Ago 2003 04:56
Cidade/Estado: Nova Fátima - PR
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Três Boas Dicas (A 3ª Dica Achei Fantástica!)

Mensagempor alxsts » 16 Ago 2018 18:43

Olá!

Não sei qual das dicas mais interessaria ao amigo mas:

1) Função de Conversão do Padrão OEM para ANSI:
O tópico é de 2005 e realmente o site do amigo Maligno já não mais existe mas já temos isto no Harbour.
2) Um Pequeno Manual Sobre Blocos de Código:
Outro site fora do ar. Não sabemos o que havia no link citado mas, pode-se encontrar material deste autor e assunto no site Viva Clipper: Codeblocks - by Tom Leylan - 30 June 1996
3) Exibir Relatório em Tela com TBrowse Direto do Arquivo Texto
Mesmo site do anterior, fora do ar. Não sabemos o que tinha lá mas, talvez seja a rotina de TBrowse() em arquivos texto, do livro do Rick Spence. Usei muito esta rotina e outras, principalmente o TBrowse() condicional.
Estas rotinas, assim como todo o conteúdo do disquete que acompanhava o livro, podem ser encontradas aqui mesmo no fórum, graças à contribuição do colega Josivan Nascimento. Veja o tópico Quem Gosta de Reliquias como Eu e baixe o arquivo Fontes disquete Rick Spence.rar
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2943
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Três Boas Dicas (A 3ª Dica Achei Fantástica!)

Mensagempor JoséQuintas » 16 Ago 2018 23:12

Sobre bloco de código, cheguei a postar por aqui.
O mais prático é comparar com uma função, mas sem nome.

FUNCTION Maior( a, b )

   IF a > b
     RETURN a
   ENDIF

   RETURN b



bCode := { ;
     | a, b | ;
    iif( a > b, a, b ) ;
   }
? Eval( bCode, a, b )
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: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Três Boas Dicas (A 3ª Dica Achei Fantástica!)

Mensagempor janio » 17 Ago 2018 09:54

O tópico é de 2005 e realmente o site do amigo Maligno já não mais existe mas já temos isto no Harbour.


Alguém sabe por onde anda o Maligno?
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Três Boas Dicas (A 3ª Dica Achei Fantástica!)

Mensagempor asimoes » 17 Ago 2018 16:27

Olá,

Como temos a lib HwGui pode-se criar um relatório em tela (GUI) bem bonito, tem exemplos no fórum.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Três Boas Dicas (A 3ª Dica Achei Fantástica!)

Mensagempor rubens » 21 Ago 2018 17:25

E melhor ainda, pode-se gerar um pdf do relatório e exibir na tela, exatamente como será impresso, com comandos chr emulados e tudo o mais... dando ao usuário a opção de saber quantas páginas, zoom, se da visualização quiser imprimir é só mandar e ainda escolher a página que quer imprimir... direto do harbour usando a harupdf..

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Três Boas Dicas (A 3ª Dica Achei Fantástica!)

Mensagempor alxsts » 24 Ago 2018 00:34

Olá!
JoséQuintas escreveu:Sobre bloco de código, cheguei a postar por aqui.
O mais prático é comparar com uma função, mas sem nome.

Sim, e o código postado deve ser o da função Max(). Mas este tipo de dado é muito poderoso. Pode-se colocar um prg inteiro dentro dele, não só com chamada a funções mas também com comandos e, inclusive definir variávei. Veja estes exemplos mostrados no manual da HwGui (imagem extraída de um post do Itamar M. Lins):

CodeBlock.png


Quanto ao Maligno, suponho que tenha enriquecido e esteja velejando pelos mares do sul...
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2943
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes




Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 20 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