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.