Erro de compilação para testar lib
Moderador: Moderadores
Erro de compilação para testar lib
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
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

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Erro de compilação para testar lib
Porter.
Nunca vi se incluir uma LIB assim no xHarbour, eu incluo no meu COMP.LNK
Por exemplo:
abs.
Código: Selecionar todos
#include "viewer.lib"
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
Erro de compilação para testar lib
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
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

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Erro de compilação para testar lib
Essa LIB é para xHarbour mesmo? Ela é 32 bits mesmo e compativel com xHarbour ou você "acha" que é? abs.
Erro de compilação para testar lib
É 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.
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

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Erro de compilação para testar lib
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.
Erro de compilação para testar lib
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.
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

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Erro de compilação para testar lib
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.
Erro de compilação para testar lib
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")
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 *
*-----------------*- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Erro de compilação para testar lib
Se ele quer igual ao bloco de notas....
Tudo depende de estar usando lib gráfica, pra fazer pelo Harbour.
Ou pelo menos GTWVG, GTWVW ou outra.
Código: Selecionar todos
RUN ( "notepad.exe arquivo.txt" )
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/
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/
Erro de compilação para testar lib
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ç
adulterar os relatórios.
Abç
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Erro de compilação para testar lib
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:
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.
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
É 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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Erro de compilação para testar lib
Olha aí, um extremamente simples, só passar o nome do arquivo
hbmk2 test gtwvg.hbc -strip -compr
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
- 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/
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

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Erro de compilação para testar lib
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
Abs
Erro de compilação para testar lib
Olá JoséQuintas, com xHarbour da para usar esses recursos ?
Obrigado.
Obrigado.
