Página 1 de 1

Gráfico de Barras/Pizza

Enviado: 20 Mai 2014 20:42
por JoséQuintas
Eu estava usando minha LIB simples, fazendo código de barras usando texto.
Com a mudança de codepage, não tenho mais os caracteres especiais.
Tem como fazer gráfico em Harbour?
Estou usando GTWVG.

Gráfico de Barras/Pizza

Enviado: 20 Mai 2014 22:33
por yugi386
Saudações!

Prezado José Quintas

Os caracteres em UTF8 estão disponíveis, porém, em uma outra codificação, representados por 1, 2, 3 ou 4 bytes.
Creio que você utilizava os seguintes caracteres para gráficos: ░ , ▒ , ▒ , além dos caracteres para desenhar boxs, simples ou duplos, etc.
Você tem agora à disposição outros caracteres como: ◐, ◑, ◒, ◓, ◧, ◨, ◩, ◪, ➀, ➄, ➊, ➓, dentre outros.

Há um site muito bom com uma referência interessante sobre utf-8: http://www.fileformat.info/info/charset/UTF-8/list.htm

Os caracteres que você certamente precisa estão aqui: http://www.fileformat.info/info/charset ... start=8192

[]s

Yugi386

Gráfico de Barras/Pizza

Enviado: 20 Mai 2014 23:17
por JoséQuintas
Por enquanto pra facilitar imaginei duas opções:

1. Mudar a codepage antes de fazer o gráfico
2. Usar as funções de conversão, partindo da codepage default e Ascii original

Tentar vasculhar as funções de codepage/conversão pra ver se dá pra usar sem mudar a codepage default.
A vantagem seria não precisar nenhuma tabela adicional.

Gráfico de Barras/Pizza

Enviado: 21 Mai 2014 07:07
por yugi386
Saudações!

Compile e rode o seguinte código:

Código: Selecionar todos

function main()
private ct, linha:= 02, coluna:=01

set cursor off

// sete o mapa de códigos que estiver usando aqui
	REQUEST HB_LANG_PT
	REQUEST HB_CODEPAGE_UTF8EX
	HB_LANGSELECT( 'PT' )
	HB_CDPSELECT( "UTF8EX" )	

cls
@ 00,01 say "MAPA DE CARACTERES - TECLE [ESC] PARA SAIR"

for ct:= 32 to 256
    @ linha,coluna say strzero(ct,3) + "=" + chr(ct)
    coluna = coluna + 8
    if coluna > 75
        coluna := 1
        ++linha
    endif
next

do while lastkey() <> 27
    inkey(0)
enddo
return NIL
Eu costumo usar este artifício para fazer algumas verificações. Mas a grande vantagem de usar o UTF8 é que não há mais mudança de página, ou seja, os caracteres são fixos. Você nunca mais vai ter dor de cabeça tendo que reescrever suas libs!!!

OBS: uma "pegadinha" é o uso do GET com utf8: veja este tópico para se livrar de problemas: https://pctoledo.org/forum/viewto ... =4&t=15027

[]s

Yugi386

Gráfico de Barras/Pizza

Enviado: 21 Mai 2014 20:17
por Itamar M. Lins Jr.
Eu uso o rmchart.
Provavelmente funcione com qualquer GT do harbour.

Saudações,
Itamar M. Lins Jr.

Gráfico de Barras/Pizza

Enviado: 22 Mai 2014 21:11
por pauloa1
Olá Itamar!

Tem algum exemplo de como usar o gráfico com rmchart ?
Eu lembro que uma vez tentei usar e não tive sucesso, você consegue imprimir os gráficos gerados?

Paulo

Gráfico de Barras/Pizza

Enviado: 23 Mai 2014 17:51
por Itamar M. Lins Jr.
Sim consigo imprimir.

Código: Selecionar todos

**************************************
Function Chart(hDll,oMainWindow,sTemp)
**************************************
*
*
Local nRetVal:=0
nRetVal := DllCall(hDll,DLL_OSAPI,"RMC_CREATECHARTFROMFILE",oMainWindow:Handle,1001,10,10,0,sTemp)
nRetVal := DllCall(hDll,DLL_OSAPI,"RMC_DRAW",1001)
return ""

*************************************
Function PrintChart(hDll,oMainWindow)
*************************************
*
*
local nRetVal:=0
nRetVal := DllCall(hDll,DLL_OSAPI,"RMC_DRAW2PRINTER",1001,,5,5,196,140,RMC_EMF)
Return .t.

******************************
Function Grafico(sTemp,lPrint)
******************************
*
*
Local oMainWindow, oFont, hDll

   hDll:=DllLoad("rmchart.dll")

   PREPARE FONT oFont NAME "Times New Roman" WIDTH 0 HEIGHT -17 CHARSET 4

   INIT DIALOG oMainWindow  TITLE "GRÁFICO"  Font oFont AT 0,0 SIZE 910,620 STYLE DS_CENTER+WS_OVERLAPPEDWINDOW+WS_VISIBLE ;
   On Init {|| Chart(hDll,oMainWindow,sTemp) }

   @ 820,020 ButtonEx oBtPrint Caption ''  TRANSPARENT of oMainWindow Style WS_TABSTOP Size 70,70 BITMAP (HBitmap():AddFile(cImageDir+'impressora.bmp')):handle BSTYLE 1 ON CLICK {||PrintChart(hDll,oMainWindow)}

   oMainWindow:Activate()

Return Nil

Como podem ver, basicamente pode ser usado com qualquer GT eu uso a HWGUI.

Tem exemplos p/ VB, Delphi no manual, ou via OCX.

Saudações,
Itamar M. Lins Jr.

Gráfico de Barras/Pizza

Enviado: 26 Mai 2014 12:00
por JoséQuintas
Não vi avisos do COL deste tópico, só agora que vi.
Procurei na internet o RMChart mas aparecem diferentes opções.
Qual seria o melhor local de download?

Gráfico de Barras/Pizza

Enviado: 26 Mai 2014 12:43
por Itamar M. Lins Jr.
Só se colocar aqui na parte de download.

Porque é bem velho, até onde sei não teve atualização.
É um aquivo de nome SETUP.EXE mudei para rmsetup.exe

Saudações,
Itamar M. Lins Jr.

Gráfico de Barras/Pizza

Enviado: 26 Mai 2014 12:56
por Itamar M. Lins Jr.
Bem já esta na seção de download, esperando o moderador liberar.

setupRMCHART.EXE

Quando instala, a lib já vem com um programa com diversos exemplos bem profissional. É possível ver na tela facilita muito o uso.


Saudações,
Itamar M. Lins Jr.