Erro de compilação para testar lib

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Erro de compilação para testar lib

Mensagem por porter »

olá pessoal,
Estou tentando usar uma lib para mostrar relatório em tela (viewer.lib), encontrei aqui no forum
estou tentando compilar meu sistema com essa lib para ver como funciona, copiei essa lib para
dentro da pasta do meu sistema e no cabeçalho #include "viewer.lib", mas está dando esse erro
de compilação:

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633)
Copyright 1999-2009, http://www.xharbour.org http://www.harbour-project.org/
viewer.lib(1) Error E0001 Illegal character: '\x00'
viewer.lib(2) Error E0001 Illegal character: '\x0b'
2 errors
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Erro de compilação para testar lib

Mensagem por Kapiaba »

Porter.

Código: Selecionar todos

 #include "viewer.lib"
??? Nunca vi se incluir uma LIB assim no xHarbour, eu incluo no meu COMP.LNK

Por exemplo:

Código: Selecionar todos

C:\FWH1612\lib\FiveHX.Lib            +
C:\FWH1612\lib\FiveHC.Lib            +
C:\XHBBCC72\lib\hbzip.Lib            +
C:\XHBBCC72\lib\hbcurl.Lib           +
C:\XHBBCC72\lib\zlib.Lib             +
C:\XHBBCC72\lib\rtl.Lib              +
C:\XHBBCC72\lib\vm.Lib               +
C:\XHBBCC72\lib\gtgui.Lib            +
C:\XHBBCC72\lib\lang.Lib             +
C:\XHBBCC72\lib\macro.Lib            +
C:\XHBBCC72\lib\rdd.Lib              +
C:\XHBBCC72\lib\dbfntx.Lib           +
C:\XHBBCC72\lib\dbfcdx.Lib           +
C:\XHBBCC72\lib\common.Lib           +
C:\XHBBCC72\lib\tip.Lib              +
C:\XHBBCC72\lib\pp.Lib               +
C:\XHBBCC72\lib\dbffpt.Lib           +
C:\XHBBCC72\lib\codepage.Lib         +
C:\XHBBCC72\lib\HbSix.Lib            +
C:\XHBBCC72\lib\PcRepos.Lib          +
C:\XHBBCC72\Lib\ct.Lib               +
C:\XHBBCC72\Lib\png.Lib              +
C:\BCC72\lib\cw32.Lib                 +
c:\BCC72\lib\uuid.lib                 +
c:\BCC72\lib\ws2_32.lib               +
C:\BCC72\lib\psdk\msimg32.Lib         +
C:\BCC72\lib\psdk\odbc32.Lib          +
C:\BCC72\lib\psdk\rasapi32.Lib        +
C:\BCC72\lib\psdk\nddeapi.Lib         +
C:\BCC72\lib\psdk\psapi.Lib           +
c:\BCC72\lib\psdk\gdiplus.lib         +
C:\BCC72\lib\psdk\iphlpapi.Lib        +
c:\BCC72\lib\psdk\shell32.lib         +
C:\BCC72\lib\import32.Lib
abs.
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Erro de compilação para testar lib

Mensagem por porter »

olá Kapiaba,
Essa lib está aqui no forum na seção de download, eu já copiei essa lib para C:\BCC55\LIB e também para xHarbour\LIB, na hora
de executar o sistema, da erro nessa linha VIEWER("RELATO.TXT",01,00,23,79,"W+/B")


Tem um tópico antigo aqui no forum "Gerar Relatorio em Tela" que explica como usa-la.
Para gerar um relatório e visualisá-lo na tela é simples :

Primeiro você deve redirecionar a impressão para um arquivo, exemplo :
SET PRINTER TO RELATO.TXT

e depois executar uma função que mostre o tal arquivo na tela, eu uso a função VIEWER() da LIB com o mesmo nome, ela está disponivel no meu site, veja um exemplo de uso, veja como é simples, você poderá navegar pelo relatório com as teclas de direção e teclas de movimentação.

VIEWER("RELATO.TXT",01,00,23,79,"W+/B")
Uso : VIEWER(arquivo,LInicial,Cinicial,LFinal,CFinal,Cor)
Onde :
Arquivo = Nome do arquivo a ser visualisado
LInicial = Linha inicial da janela
CInicial = Coluna inicial da janela
LFinal = Linha final da janela
CFinal = Coluna final da janela
Cor = String de cores a ser usada
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Erro de compilação para testar lib

Mensagem por Kapiaba »

Essa LIB é para xHarbour mesmo? Ela é 32 bits mesmo e compativel com xHarbour ou você "acha" que é? abs.
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Erro de compilação para testar lib

Mensagem por porter »

É para Clipper, está na pagina 5 de downloads aqui do fórum, creio que dê para usar no xHarbour.

Nome do arquivo:Viewer10
Enviado por:Toledo
Descrição do arquivo:Exibe um arquivo texto numa janela, ótimo para mostrar relatórios no vídeo.
Tamanho:3.11
KBData:23.07.1999 07:21
Categoria:Downloads:

obrigado.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Erro de compilação para testar lib

Mensagem por Kapiaba »

Porter, se é Clipper, é 16 bits, portanto não funcionará com xHarbour que é 32 bits, pois ele não vai reconhecer uma LIB de 16 bits, o ideal é que você conseguisse os fontes em clipper que gerou essa lib, ai sim você poderia incorporar. abs.
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Erro de compilação para testar lib

Mensagem por porter »

olá Kapiaba,
Primeiro obrigado por sua atenção, realmente não vai rodar no xHarbour, gostaria de mostrar um relatório na tela,
meu cliente pediu mas com fontes pequenas tamanho 10 mais ou menos, mais ou menos parecido com o Bloco de Notas,
estou usando o Tbrowse que mostra um arquivo TXT, mas não consigo diminuir o tamanho da fonte.

Obrigado.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Erro de compilação para testar lib

Mensagem por Kapiaba »

Não entendi? O que a Tbrowse tem a ver com um relatório Porter? Mostre algo na prática via código do que você quer fazer ou o que seu cliente quer mesmo. Abs. Se tiver print screen, é melhor.
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Erro de compilação para testar lib

Mensagem por porter »

Esse código, recebe um arquivo txt como parâmetro e consigo mostrar na tela, mas eu quero mostrar esse relatório na tela com
tamanho de fonte menor.

EDICAO("C:\ESTOQUE\RELATO.TXT")

Código: Selecionar todos

#xtranslate :fileHandle   => :cargo\[1\]
#xtranslate :fileLine     => :cargo\[2\]
#xtranslate :lineOffset   => :cargo\[3\]
#xtranslate FTell(<fHandle>) => FSeek(<fHandle>, 0, 1)
*
#define FILE_BRWS_NUM_IVARS 3
#define MAX_LINE_LEN  256
#define CR    Chr(13)
#define LF    Chr(10)
#define CRLF  CR + LF
#define SET_IVAR(iVar, p) iif(p == NIL, NIL, iVar := p)
*------------------------------------------------------------------------------*
FUNCTION Edicao(cFname)
LOCAL oTbr, oTbc
LOCAL lExitRequested := .F.
LOCAL cSearcher, nSavefPos
LOCAL nKey
LOCAL GetList := {}

set_pesquisa = 0
cSearcher := Space(20)
SET SCOREBOARD OFF
CLEAR SCREEN
IF cFname == NIL .OR. !File(cFname)
	Alert("Usage: FBTest <cFileName>")
	QUIT
ENDIF

@ 23, 0 SAY "[F2] - Procura abaixo [F3] - Procura acima  [F4] - repetir pesquisa"
@ 0,  0 TO 22, 79

*INKEY(0)


IF (oTbr := FBrowseNew()) != NIL
FBrowseOpen(oTbr, cFname)
oTbr:nTop    := 1
oTbr:nLeft   := 1
oTbr:nBottom := 21
oTbr:nRight  := 78
oTbc := TBColumnNew(, {|| SubStr(oTbr:fileLine, oTbr:lineOffset) })
oTbc:width := 78
oTbr:addColumn(oTbc)
DO WHILE !lExitRequested
	DO WHILE !oTbr:stabilize()		
ENDDO
*nKey := InKey(0)
 nKey := InKey(.2)
DO CASE
	CASE nKey == 27
	lExitRequested := .T.

	CASE nKey == 19
		IF oTbr:lineOffset > 1
			oTbr:lineOffset--
			oTbr:refreshall()
		ENDIF

	CASE nKey == 4
		IF oTbr:lineOffset < len(oTbr:fileLine)
			oTbr:lineOffset++
			oTbr:refreshall()
		ENDIF

	CASE nKey == 1
		oTbr:lineOffset := 1
		oTbr:refreshall()

	CASE nKey == 6
		oTbr:lineOffset := Max(1, Len(oTbr:fileLine) - ;
		oTbc:width + 1)
		oTbr:refreshAll()

		#define TAB_SIZE 10

	CASE nKey == 9
		IF oTbr:lineOffset <= Len(oTbr:fileLine) - TAB_SIZE
			oTbr:lineOffset += TAB_SIZE
			oTbr:refreshAll()
		ENDIF

	CASE nKey == 271
		oTbr:lineOffset := MAX(1, oTbr:lineOffset - TAB_SIZE)
		oTbr:refreshall()

	CASE nKey == -1
		@ 24, 0
		@ 24, 10 SAY "Entre com o texto" GET cSearcher
		READ
		@ 24, 0
		IF FrwdSrch(oTbr, Trim(cSearcher))
			oTbr:refreshAll()
		ELSE
			Alert("Nao encontrado", {"OK"}, "B/W, W/B")
		ENDIF
		set_pesquisa = -1

	CASE nKey == -2
		@ 24, 0
		@ 24, 10 SAY "Entre com o texto" GET cSearcher
		READ
		@ 24, 0
		IF BkwdSrch(oTbr, Trim(cSearcher))
			nSavefPos := FilePos(oTbr)
			oTbr:refreshAll()
			DO WHILE !oTbr:stabilize()
			ENDDO

			// Ensure same line selected
			DO WHILE FilePos(oTbr) != nSavefPos
				oTbr:up()
				DO WHILE !oTbr:stabilize()
				ENDDO
			ENDDO
		ELSE
			Alert("Nao encontrado", {"OK"}, "B/W, W/B")
		ENDIF
		set_pesquisa = -2

		case nkey == -3
	do case
		case set_pesquisa = 0
			alert("Nao foi efetuado nenhuma pesquisa",{"OK"}, "B/W, W/B")
			loop
		case set_pesquisa = -1
		IF FrwdSrch(oTbr, Trim(cSearcher))
			oTbr:refreshAll()
		ELSE
			Alert("Nao encontrado", {"OK"}, "B/W, W/B")
		ENDIF
		case set_pesquisa = -2
			IF BkwdSrch(oTbr, Trim(cSearcher))
				nSavefPos := FilePos(oTbr)
				oTbr:refreshAll()
				DO WHILE !oTbr:stabilize()
				ENDDO
				DO WHILE FilePos(oTbr) != nSavefPos
					oTbr:up()
					DO WHILE !oTbr:stabilize()
					ENDDO
				ENDDO
			ELSE
				Alert("Nao encontrado", {"OK"}, "B/W, W/B")
			ENDIF
	endcase

OTHERWISE
IF StdMeth(oTbr, nKey)
//  Handled as standard key
ELSE
// Otherwise ignore
ENDIF
ENDCASE
ENDDO

*CLEAR SCREEN
ENDIF
RETURN NIL
*------------------------------------------------------------------------------*
FUNCTION FilePos(oTbr)
RETURN FTell(oTbr:fileHandle)
*------------------------------------------------------------------------------*
FUNCTION FBrowseNew
LOCAL oTbr := TBrowseNew()
oTbr:cargo := Array(FILE_BRWS_NUM_IVARS)
oTbr:lineOffset := 1

oTbr:goTopBlock    := {| | FileGoFirst(oTbr) }
oTbr:goBottomBlock := {| | FileGoLast(oTbr)  }
oTbr:skipBlock     := {|n| FileSkip(n, oTbr) }

RETURN oTbr
*------------------------------------------------------------------------------*
FUNCTION FBrowseOpen(oTbr, cFileName)
LOCAL fHandle := FOpen(cFileName)

IF fHandle >= 0
	oTbr:fileHandle := fHandle
	FileGoFirst(oTbr)
ENDIF

RETURN fHandle > 0
*------------------------------------------------------------------------------*
PROCEDURE FileBrowseClose(oTbr)
FClose(oTbr:filehandle)
RETURN

// Go to first line in file, and read it into oTbr:fileLine
*------------------------------------------------------------------------------*
STATIC PROCEDURE FileGoFirst(oTbr)
LOCAL cLine
LOCAL fHandle := oTbr:fileHandle
FSeek(fHandle, 0, 0)
FReadLn(fHandle, @cline, MAX_LINE_LEN)
cline = strtran(cline,chr(12) + chr(13),chr(13) + chr(10))

oTbr:fileLine := cLine
FSeek(fHandle, 0, 0)

RETURN
// Go to last line in file, and read into oTbr:fileLine
*------------------------------------------------------------------------------*
STATIC PROCEDURE FileGoLast(oTbr)
FSeek(oTbr:fileHandle, 0, 2)
GoPrevLn(oTbr)

RETURN

// Skip n lines in the file. n can be positive or negative.
// Return how many skipped.
*------------------------------------------------------------------------------*
STATIC FUNCTION FileSkip(n, oTbr)
LOCAL nSkipped := 0
IF n > 0
	DO WHILE nSkipped != n .AND. GoNextLn(oTbr)
		nSkipped++
	ENDDO
ELSE
	DO WHILE nSkipped != n .AND. GoPrevLn(oTbr)
		nSkipped--
	ENDDO
ENDIF

RETURN nSkipped

// Attempt to move to the next line in the file
// Return .T. if successful, .F. otherwise

// Needs to be public for search routine
*------------------------------------------------------------------------------*
FUNCTION GoNextLn(oTbr)
LOCAL fHandle := oTbr:fileHandle
LOCAL nSavePos := FTell(fHandle), ;
cBuff := "", lMoved, nNewPos

FSeek(fHandle, Len(oTbr:fileLine) + 2, 1)
nNewPos := FTell(fHandle)
IF FReadLn(fHandle, @cBuff, MAX_LINE_LEN)
	lMoved := .T.
	oTbr:fileLine := cBuff
	FSeek(fHandle, nNewPos, 0)
ELSE
	lMoved := .F.
	FSeek(fHandle, nSavePos, 0)
ENDIF

RETURN lMoved

// Needs to be public for search routines
*------------------------------------------------------------------------------*
FUNCTION GoPrevLn(oTbr)
LOCAL fHandle := oTbr:fileHandle
LOCAL nOrigPos := FTell(fHandle), nMaxRead, nNewPos, ;
lMoved, cBuff, nWhereCrLf, nPrev, cTemp

IF nOrigPos == 0
	lMoved := .F.
ELSE
lMoved := .T.
//  Check preceeding 2 chars for CR / LF
FSeek(fHandle, -2, 1)
cTemp := Space(2)
FRead(fHandle, @cTemp, 2)
IF cTemp == CRLF
	FSeek(fHandle, -2, 1)
ENDIF
nMaxRead := MIN(MAX_LINE_LEN, FTell(fHandle))

cBuff := Space(nMaxRead)
nNewPos := FSeek(fHandle, -nMaxRead, 1)
FRead(fHandle, @cBuff, nMaxRead)
*    cbuff = strtran(cbuff,chr(12) + chr(13),chr(13) + chr(10))
nWhereCrLf := Rat(CRLF, cBuff)
IF nWhereCrLf == 0
	nPrev := nNewPos
	oTbr:fileLine := cBuff
ELSE
	nPrev := nNewPos + nWhereCrLf + 1
	oTbr:fileLine := SubStr(cBuff, nWhereCrLf + 2)
ENDIF

FSeek(fHandle, nPrev, 0)
ENDIF

RETURN lMoved

// Return whether found or not - search forwards
// If found, cLine is set to current line and file pointer
// is at its start
// If not found, file pointer remains untouched
*------------------------------------------------------------------------------*
FUNCTION FrwdSrch(oTbr, cString)
LOCAL fHandle := oTbr:fileHandle
LOCAL lFound := .F.
LOCAL nSavePos := FTell(oTbr:fileHandle)
LOCAL cSavecLine := oTbr:fileLine

DO WHILE !lFound .AND. GoNextLn(oTbr)
	lFound := cString $ oTbr:fileLine
ENDDO

IF !lFound
	FSeek(fHandle, nSavePos, 0)
	oTbr:fileLine := cSavecLine
ENDIF

RETURN lFound

// Return whether found or not - search backwards
// If found, cLine is set to current line and file pointer
// is at its start
// If not found, file pointer remains untouched
*------------------------------------------------------------------------------*
FUNCTION bkwdSrch(oTbr, cString)
LOCAL lFound := .F.
LOCAL fHandle := oTbr:fileHandle
LOCAL nSavePos := FTell(fHandle)
LOCAL cSavecLine := oTbr:fileLine
DO WHILE !lFound .AND. GoPrevLn(oTbr)
	lFound := cString $ oTbr:fileLine
ENDDO

IF !lFound
	FSeek(fHandle, nSavePos, 0)
	oTbr:fileLine := cSavecLine
ENDIF

RETURN lFound
*------------------------------------------------------------------------------*
FUNCTION FReadLn(fHandle, cBuffer, nMaxLine)
LOCAL cLine, nEol, nNumRead, nSavePos
cLine   := Space(nMaxLine)
cBuffer := ""

// Save current file position for later seek
nSavePos := FTell(fHandle)

nNumRead := FRead(fHandle, @cLine, nMaxLine)

IF (nEol := At(CRLF, SubStr(cLine, 1, nNumRead))) == 0
	cBuffer := cLine                     // Line overflow or eof
ELSE
	cBuffer := SubStr(cLine, 1, nEol - 1)  // Copy up to eol

	// Now position file to next line (skip lf) ...
	FSeek(fHandle, nSavePos + nEol + 1, 0)

ENDIF

RETURN nNumRead != 0        // If last read didn't suceed, eof
*------------------------------------------------------------------------------*
FUNCTION StdMeth(oTbr, nKey)
LOCAL lKeyHandled := .T.
DO CASE
	CASE nKey == 24     ;  oTbr:down()
	CASE nKey == 05     ;  oTbr:up()
	CASE nKey == 03     ;  oTbr:pageDown()
	CASE nKey == 18     ;  oTbr:pageUp()
	CASE nKey == 31     ;  oTbr:goTop()
	CASE nKey == 30     ;  oTbr:goBottom()
	CASE nKey == 04     ;  oTbr:right()
	CASE nKey == 19     ;  oTbr:left()
	CASE nKey == 01     ;  oTbr:home()
	CASE nKey == 06     ;  oTbr:end()
	CASE nKey == 26     ;  oTbr:panLeft()
	CASE nKey == 02     ;  oTbr:panRight()
	CASE nKey == 29     ;  oTbr:panHome()
	CASE nKey == 23     ;  oTbr:panEnd()
	OTHERWISE;             lKeyHandled := .F.
ENDCASE
RETURN lKeyHandled	
*------------------------------------------------------------------------------*
FUNCTION MemoBlock(nFieldNum)
RETURN {|nMode| iif(nMode == NIL, ;
"Memo", ;
FieldBlock(Field(nFieldNum))) }

// Repeatedly call stabilize until it returns .T., ensuring the same
// record is highlighted (for database edits)
*------------------------------------------------------------------------------*
PROC DbStabilize(oTbr)
LOCAL nSaveRecno := recno()
oTbr:refreshAll()
DO WHILE !oTbr:stabilize()
ENDDO

DO WHILE recno() != nSaveRecno
oTbr:up()
DO WHILE !oTbr:stabilize()
ENDDO
ENDDO

RETURN
*-----------------*
* fim do programa *
*-----------------*
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro de compilação para testar lib

Mensagem por JoséQuintas »

Se ele quer igual ao bloco de notas....

Código: Selecionar todos

RUN ( "notepad.exe arquivo.txt" )
Tudo depende de estar usando lib gráfica, pra fazer pelo Harbour.
Ou pelo menos GTWVG, GTWVW ou outra.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Erro de compilação para testar lib

Mensagem por porter »

Obrigado JoséQuintas, obrigado Kapiaba, isso resolve o problema, a preocupação agora é que dessa forma o usuário pode modificar,
adulterar os relatórios.

Abç
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro de compilação para testar lib

Mensagem por JoséQuintas »

O que está usando como lib gráfica?
Pode fazer uma janela isolada em multithread em gtwvg.
Vai até permitir vários relatórios
Vou rascunhar aqui no post, seria mais ou menos isto:

Código: Selecionar todos

oReport := ViewClass():New()
oReport:cTexto := "?????????????????????"
hb_ThreadStart({ ||  oReport:Execute() } )

RETURN

CREATE CLASS VIEWClass
   VAR cTexto INIT ""
   METHOD Execute()
   END CLASS

METHOD Execute()
   hb_gtReload( "WVG" )
   SetMode( 40, 132 )
   CLS
   MemoEdit( 0, 0, maxRow(), MaxCol(), cTexto )
   QUIT
   RETURN NIL
Simplificando:
É como se fosse em EXE separado.
Então pode fazer o que quiser "nesse EXE".
Mas com multithread, não precisa EXE separado.
E com GTWVG, ela se vira pra ajustar fonte e janela para as linhas/colunas.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro de compilação para testar lib

Mensagem por JoséQuintas »

Olha aí, um extremamente simples, só passar o nome do arquivo

Código: Selecionar todos

PROCEDURE Main( cFile )

   IF cFile == NIL .OR. ! File( cFile )
      QUIT
   ENDIF

   SetMode( 40, 132 )
   CLS
   MemoEdit( MemoRead( cFile ), 0, 0, MaxRow(), MaxCol(), .F. )

   RETURN
hbmk2 test gtwvg.hbc -strip -compr
Anexos
test.zip
(317.97 KiB) Baixado 112 vezes
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Erro de compilação para testar lib

Mensagem por Kapiaba »

Código: Selecionar todos

There is but a limited set of command line options:
/A <filename> open file as ansi
/W <filename> open file as unicode
/P <filename> print filename
/PT <filename> <printername> <driverdll> <port> print filename to designated printer
http://alinconstantin.blogspot.com.br/2 ... ments.html

Abs
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Erro de compilação para testar lib

Mensagem por porter »

Olá JoséQuintas, com xHarbour da para usar esses recursos ?

Obrigado.
Responder