Página 1 de 1
Problemas com a funcao gwriteat()
Enviado: 04 Jan 2005 09:43
por clebermano
Prezados amigos, mudei meu sistema para visual, ate ae tudo bem, agora me deparo com o seguinte problema.
Quando eu vou jogar na tela uma string com a funcao gwriteat(), funciona normal, agora quando eu preciso jogar na tela o conteudo de uma variavel, ja nao sai nada.
Alguem sabe me dizer pq?????
Enviado: 04 Jan 2005 15:22
por MARINI
O conteúdo da string deverá ser sempre um caractere.
Ex:
Se for uma string:
'data' informe DTOC(string).
'numérica' informe STR(string) ou
ALLTRIM(STR(string)).....
gFonte()
Enviado: 04 Jan 2005 16:29
por Domenico
Uma função muito simples criada com o clipper 5.3, mas completa.
Pois é possível centralizar ou apenas exibir onde desejado, qualquer fonte gráfica criada com o utilitário Ttf2fnt.exe do clipper 5.3
/*
Autor: Domenico Alleva
Função pertencente a domclp53.lib
Funcoes utilizadas do clipper 5.3
1 - gFntLoad()
2 - gWriteAt()
3 - gFntErase()
Nenhuma funcao externa
Isto faz da gFonte uma funcao primaria
***************************************************
GFonte.prg
para apresentar uma string na tela em modo gráfico
Parametros:
nCol = Coluna em pixel
Se não especificado a string será centralizada na tela
nLin = Posição da linha em pixel
cDialog = String a ser exibida
cFonte = Uma fonte com extensÆo .FNT ou .FND
cor = um valor numérico que representa a cor da fonte
valores válidos de 0 a 15
teste = qualquer valor
Quando se coloca um valor neste parametro a fonte não é exibida
Forma de uso
variavel:= GFonte(0,0,"String a ser medida","fonte.fnt",0,0)
desta forma com o parametro teste preenchido
GFonte() -> <variavel> retorna o valor em pixel da extensão da fonte.
Usado apenas quando se precisa medir a extensão da fonte em pixel.
nCol1 = Valor esquerdo em pixel
nCol2 = Valor direito em pixel
Quando se deseja que uma cadeia de caracteres seja centralizada
dentro de dois valores a serem definidos.
Quando nCol1 é especificado nCol pode ser vazio
*/
#include "LLibg.ch"
#include "inkey.ch"
Function GFonte(nCol,nLin,cDialog,cFonte,cor,teste,nCol1,nCol2)
local mifonte
local dialogo
local vTam
if nCol = NIL
nCol:= 0
endif
mifonte:= GFntLoad(cFonte)
dialogo:= GWriteat(nCol,nLin,cDialog,cor,LLG_MODE_NIL,mifonte)
if nCol = 0
nCol:= (640 - dialogo) / 2
endif
if nCol2 = 0 .or. nCol2 = NIL
nCol1 = 0
endif
if nCol1 = NIL
nCol1 = 0
endif
if nCol2 # NIL
nCol:= (nCol2 - nCol1) - dialogo
nCol:= (nCol/2) + nCol1
endif
if teste = NIL
Gwriteat(nCol,nLin,cDialog,cor,LLG_MODE_SET,mifonte)
endif
GFnterase(mifonte)
return(dialogo)
O envio desta função é para ajudar todos aqueles que desejam aprender a utilizar o clipper 5.3 em modo gráfico.
Enviado: 04 Jan 2005 16:40
por clebermano
Agradeco a ajuda, mas ja testei estas funcoes e nao funcionou, por exemplo seu eu for mostrar na tela gwiteat(100,100,"cleber",15,llg....)
ate ae tudo bem, mas se eu quiser jogar o valor que esta em um banco de dados por exemplo gwiteat(100,100,vendas->val_sai,15,llg....), ae ja nao sai nada, quer dizer nao consigo mostrar em tamanho grande na tela, usando o @ say, da certo, so que ae nao consigo os efeitos de fonte.
Se alguem puder me ajudar agradeco.
Enviado: 04 Jan 2005 16:43
por clebermano
opa, desculpa marini, nao tinha prestado atencao no seu comentario, realmente estou tentando, mostar um valor numerico, vou mudar para string ae te falo se deu certo. obrigado
De novo
Enviado: 04 Jan 2005 18:01
por Domenico
Peço desculpas mas a menos que me engane vc está fazendo errado.
A meu ver é muito simples, antes de querer mostrar o resultado com a função, vc deve ler o resultado:
variavel:= campo a ser mostrado
ai vc entra com a função:
Gwriteat(nCol,nLin,variavel,cor,LLG_MODE_SET)