Clipper - Função do Clipper não documentada: DISPOUTAT

Posted by webmaster | Clipper |


A função DISPOUTAT não é mencionada na documentação da linguagem CA-Clipper 5.2/5.3 (impressa e online). Sua função consiste em imprimir, em uma determinada posição da tela, uma sequência de caracteres com a cor especificada: o mesmo efeito obtido com as funções SETPOS e DISPOUT.

Uma característica desta função é sempre enviar a informação para a tela. Ou seja, mesmo que você use os comandos SET DEVICE TO PRINTER, SET CONSOLE OFF e SET PRINTER ON a função mostrará a informação na tela. É bastante útil, pois você pode mostrar dados na tela mesmo durante uma rotina de impressão ou criação de um arquivo de texto.

Veja abaixo as informações necessárias para usar a função:

Sintaxe:

DISPOUTAT( nLinha, nColuna, cTexto, cCor )

Parâmetros:

. nLinha - número da linha inicial;
. nColuna - número da coluna inicial;
. cTexto - texto à ser mostrado;
. cCor - cor do texto.

Caso a cor não seja especificada, será usada a cor atual.

Exemplo:

DISPOUTAT( 10, 10, “TESTE”, “R/W” )

O exemplo acima mostrará a palavra TESTE na cor vermelha sobre fundo branco, na linha 10 e coluna 10 do vídeo.

Observações finais

Esta função foi testada nas versões versão 5.2e e 5.3b, da linguagem Clipper, e funcionou corretamente. Entretanto, use com cautela devido ao fato de ser uma função não documentada.

A informação apresentada neste artigo também é válida para Harbour e xHarbour.

Autor/fonte: Marcos Gambeta

Tags:

Clipper - Função do Clipper não documentada: DBGSHADOW

Posted by webmaster | Clipper |


Da mesma forma que a função DISPOUTAT, a função DBGSHADOW é uma função não documentada disponível nas versões 5.2 e 5.3 da linguagem CA-Clipper.

Sua função consiste em colocar uma sombra na região especificada.

Sintaxe:

DBGSHADOW( nLinhaInicial, nColunaInicial, nLinhaFinal, nColunaFinal )

Parâmetros:

. nLinhaInicial - número da linha inicial (canto superior esquerdo);
. nColunaInicial - número da coluna inicial (canto superior esquerdo);
. nLinhaFinal - número da linha final (canto inferior direito);
. nColunaFinal - número da coluna final (canto inferior direito).

Exemplos:

DBGSHADOW( 10, 20, 20, 40 )

O exemplo acima criará uma sombra na região delimitada pelas linhas 10 a 20 e colunas 20 a 40.

Este outro exemplo cria uma quadro na tela e coloca uma sombra nele - exemplo.prg:

//==========================//
// Este exemplo demonstra como usar a funcao DBGSHADOW (funcao
// nao documentada) do Clipper.
//=========================//

Function Main

Local nLin
Local nCol
Local cTexto

// configura a tela para 25 linhas x 80 colunas
SetMode(25,80)
// define cor negra sobre fundo branco
SetColor(”N/W”)
// limpa a tela
Cls
// preenche toda a tela com a letra X
For nLin := 0 To MaxRow()
For nCol := 0 To MaxCol()
@ nLin,nCol Say “X”
Next nCol
Next nLin
// cria uma quadro na tela na cor vermelha
DispBox(0+5,0+5,MaxRow()-5,MaxCol()-5,Chr(219),”R/W”)
// apaga o interior do quadro
@ 0+5+1,0+5+1 Clear To MaxRow()-5-1,MaxCol()-5-1
// mostra um texto no centro do quadro
cTexto:=”Exemplo de uso da funcao DBGSHADOW”
@ MaxRow()/2,(MaxCol()-Len(ctexto))/2 Say cTexto
// coloca uma sombra no quadro usando
// a funcao DBGSHADOW
DbgShadow(0+5,0+5,MaxRow()-5,MaxCol()-5)
// aguarda uma tecla ser pressionada
Inkey(0)
// finaliza o programa
Quit

Observações finais

Esta função foi testada nas versões 5.2e e 5.3b, da linguagem Clipper, e funcionou corretamente.

Por se tratar de uma função não documentada, deve ser usada com cautela.

A informação apresentada neste artigo também é válida para Harbour e xHarbour.

Autor/fonte: Marcos Gambeta

Tags:

Clipper - Função para remover acentos

Posted by webmaster | Clipper |


A função apresentada aqui remove os acentos de uma variável do tipo ‘character’.

Serve, por exemplo, para situações onde existe um nome acentuado e é necessário imprimí-lo em uma impressora que não suporta acentos. Também pode ser usada para indexar campos que contém letras acentuadas.

Exemplos de uso

1. Removendo os acentos de uma variável do tipo character:

cNome := “JOSÉ REBOUÇAS FILHO”
cNome := RemAcent( cNome )
? cNome // retorna JOSE REBOUCAS FILHO

2. Removendo os acentos na chave de indexação:

Use Clientes Alias Clientes New
Index On RemAcent(Clientes->Nome) To Nome

A função:

Function RemAcent ( cTexto )

// acento agudo
cTexto := StrTran( cTexto, “á”, “a” )
cTexto := StrTran( cTexto, “é”, “e” )
cTexto := StrTran( cTexto, “í”, “i” )
cTexto := StrTran( cTexto, “ó”, “o” )
cTexto := StrTran( cTexto, “ú”, “u” )
cTexto := StrTran( cTexto, “Á”, “A” )
cTexto := StrTran( cTexto, “É”, “E” )
cTexto := StrTran( cTexto, “Í”, “I” )
cTexto := StrTran( cTexto, “Ó”, “O” )
cTexto := StrTran( cTexto, “Ú”, “U” )

// acento circunflexo
cTexto := StrTran( cTexto, “â”, “a” )
cTexto := StrTran( cTexto, “ê”, “e” )
cTexto := StrTran( cTexto, “î”, “i” )
cTexto := StrTran( cTexto, “ô”, “o” )
cTexto := StrTran( cTexto, “û”, “u” )
cTexto := StrTran( cTexto, “”, “A” )
cTexto := StrTran( cTexto, “Ê”, “E” )
cTexto := StrTran( cTexto, “Δ, “I” )
cTexto := StrTran( cTexto, “Ô”, “O” )
cTexto := StrTran( cTexto, “Û”, “U” )

// til
cTexto := StrTran( cTexto, “ã”, “a” )
cTexto := StrTran( cTexto, “õ”, “o” )
cTexto := StrTran( cTexto, “Ô, “A” )
cTexto := StrTran( cTexto, “Õ”, “O” )

// ce-cedilha
cTexto := StrTran( cTexto, “ç”, “c” )
cTexto := StrTran( cTexto, “Ç”, “C” )

// trema
cTexto := StrTran( cTexto, “ü”, “u” )
cTexto := StrTran( cTexto, “Ü”, “U” )

// crase
cTexto := StrTran( cTexto, “à”, “a” )
cTexto := StrTran( cTexto, “è”, “e” )
cTexto := StrTran( cTexto, “ì”, “i” )
cTexto := StrTran( cTexto, “ò”, “o” )
cTexto := StrTran( cTexto, “ù”, “u” )
cTexto := StrTran( cTexto, “À”, “A” )
cTexto := StrTran( cTexto, “È”, “E” )
cTexto := StrTran( cTexto, “Ì”, “I” )
cTexto := StrTran( cTexto, “Ò”, “O” )
cTexto := StrTran( cTexto, “Ù”, “U” )

Return cTexto

Autor/fonte: Marcos Gambeta

Tags:
Page 5 of 10Primeiro...«34567»...Último