Programa fonte do USB.EXE

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

heveraldo
Usuário Nível 2
Usuário Nível 2
Mensagens: 72
Registrado em: 16 Jun 2006 17:15

Programa fonte do USB.EXE

Mensagem por heveraldo »

Galera,

Atendendo a solicitações, segue o programa fonte do USB.EXE

Usei a Win32prn do xharbour.
Primeiro criei um sisteminha externo, o qual compartilei com todos.
Depois chequei a conclusão, que com algumas alterações poderia implmentar dentro do meu próprio sistema.

E foi o que eu fiz.
Eliminei o sistema externo e usando a mesma idéia, não foi preciso alterar cada relatorio do sistema. Como todo relatorio do mesu sistema cria um arquivo txt antes da impressão, com as devidas configuracoes de fontes:
[NEGRITO]
[CONDESADO]
[NORMAL]
[EXPANDIDO]

Depois leio o arquivo linha a linha e verifico se existe alguma configuraçao de fonte, limpo a configuração para nao ser impresso e defino a fonte a ser usada
- oPrinter:SetFont("Courier New",vm_nNormal, 0).

SEGUE O FONTE DO USB.EXE

Código: Selecionar todos

 
#define FORM_A4 9 
#define PS_SOLID 0 
#define RGB( nR,nG,nB ) ( nR + ( nG * 256 ) + ( nB * 256 * 256 ) ) 

#define BLACK RGB ( 0x0 ,0x0 ,0x0 ) 
#define BLUE RGB ( 0x0 ,0x0 ,0x85 ) 
#define GREEN RGB ( 0x0 ,0x85,0x0 ) 
#define CYAN RGB ( 0x0 ,0x85,0x85 ) 
#define RED RGB ( 0x85,0x0 ,0x0 ) 
#define MAGENTA RGB ( 0x85,0x0 ,0x85 ) 
#define BROWN RGB ( 0x85,0x85,0x0 ) 
#define WHITE RGB ( 0xC6,0xC6,0xC6 ) 




FUNCTION Main(cFilePRN,cSemConfiguracao) 
LOCAL GetList := {} 
LOCAL aPrn := GetPrinters() 
LOCAL aFiles 

cFilePRN := if(cFilePRN # NIL, cFilePRN , "") 
cSemConfiguracao := if(cSemConfiguracao # NIL, cSemConfiguracao, "") 

If File("USB.MEM") 
Rest From USB.MEM additive 
Endif 

vm_Prn := if(type("vm_Prn" ) = "U", 1 , vm_Prn ) 
vm_cFile := if(type("vm_cFile" ) = "U", "*.PRN " , vm_cFile ) 
vm_nTempo := if(type("vm_nTempo" ) = "U", 5 , vm_nTempo ) 
vm_nNormal := if(type("vm_nNormal" ) = "U", 11 , vm_nNormal ) 
vm_nCompri := if(type("vm_nCompri" ) = "U", 8 , vm_nCompri ) 
vm_nExpand := if(type("vm_nExpand" ) = "U", 18 , vm_nExpand ) 
vm_cNormal := if(type("vm_cNormal" ) = "U", '"[NORMAL]" ', vm_cNormal ) 
vm_cCompri := if(type("vm_cCompri" ) = "U", '"[COMPRIMIDO]" ', vm_cCompri ) 
vm_cExpand := if(type("vm_cExpand" ) = "U", '"[EXPANDIDO]" ', vm_cExpand ) 
vm_cNegrit := if(type("vm_cNegrit" ) = "U", '"[NEGRITO]" ', vm_cNegrit ) 
vm_cCancel := if(type("vm_cCancel" ) = "U", '"[CANCELANEGRITO]" ', vm_cCancel ) 

vm_Prn := GETDEFAULTPRINTER() 

* Imprime arquivo sem necessidade de configura‡Æo 
* Rotina executada por sistema principal 
* ----------------------------------------------- 
if !empty(cFilePRN) 
if FILE(cFilePRN) 
PrnTeste( vm_Prn , cFilePRN) 
* PrnTeste( aPrn[ vm_Prn ], cFilePRN) 
DELETE FILE (cFilePRN) 
endif 
RETURN(NIL) 
endif 

SetColor("bg+/b,w+/bg,w/w,w/w,w+/b") // Configuracao de cores PADRAO do sistema 
Set Key 28 to Help() 

CLS 
IF EMPTY(aPrn) 
Alert("Nenhuma impressora instalada - N„o ‚ poss¡vel continuar") 
QUIT 
ENDIF 

DO WHILE .T. //!EMPTY(vm_Prn) 
CLS 
@ 00,00 TO maxRow(),maxCol() 
@ 01,02 say "Sistema de impress„o Via USB F1-Help" 
@ 02,01 TO 02,78 

@ 03,02 say "Nome do arquivo:" get vm_cFile PICT "@!K" 
@ 04,02 say " Exemplo: SPOOL.PRN" 
@ 05,02 say " *.PRN " 
@ 06,02 say " N„o usar: *.* " 
@ 07,02 say " *.TMP " 

@ 03,35 say "Tempo para Impress„o:" get vm_nTempo PICT "9.99" 
@ 03,62 say "Segundos" 

@ 08,01 TO 08,78 
@ 09,02 get vm_cNormal 
@ 09,23 say "Imprime caractere com fonte normal tamanho:" get vm_nNormal pict "99" 
@ 10,02 get vm_cCompri 
@ 10,23 say "Imprime caractere com fonte comprimida tamanho:" get vm_nCompri pict "99" 
@ 11,02 get vm_cExpand 
@ 11,23 say "Imprime caractere com fonte expandida tamanho:" get vm_nExpand pict "99" 
@ 12,02 get vm_cNegrit 
@ 12,23 say "Imprime caractere com fonte negrito" 
@ 13,02 get vm_cCancel 
@ 13,23 say "Imprime caractere com fonte cancelanegrito" 

@ 17,02 say "Impressora Default" 
@ 18,01 TO 18,78 
@ 19,02 say vm_Prn 

@ 21,01 TO 21,78 
@ 22,02 say "Desenvolvido por: Heveraldo Pereira heveraldo@veloxmail.com.br" 
@ 23,02 say " Fortaleza-CE (85) 8859.9770 heveraldo@msn.com " 
if !empty(cSemConfiguracao) 
CLEAR GETS 
* keyboard chr(13) 
* vm_Prn := ACHOICE(17,1,20,78,aPrn,.T.,,vm_Prn) 
else 
READ 
IF LASTKEY()=27 ; EXIT ; ENDIF 
* vm_Prn := ACHOICE(17,1,20,78,aPrn,.T.,,vm_Prn) 
save to USB.MEM all like vm_* 
endif 
* READ 
* save to USB.MEM all like vm_* 

IF !EMPTY(vm_Prn) 
Do while .T. .and. lastkey() # 27 
Aviso(" Aguardando arquivos para impress„o ! ", vm_nTempo) 

* vm_Prn := GETDEFAULTPRINTER() 
* @ 19,02 say vm_Prn 

aFiles := {} 
asize( aFiles, aDir( alltrim(vm_cFile) ) ) 
aDir ( alltrim(vm_cFile), aFiles ) 

if !empty(aFiles) 
Aviso("Imprimindo relat¢rio...Agruarde!") 
* AEVAL( aFiles, { |cFile| Aviso("Imprimindo arquivo " + cFile + "...Agruarde!"), PrnTeste( aPrn[ vm_Prn ], cFile) } ) 
AEVAL( aFiles, { |cFile| Aviso("Imprimindo arquivo " + cFile + "...Agruarde!"), PrnTeste( vm_Prn , cFile) } ) 
AEVAL( aFiles, { |cFile| FERASE( cFile ) } ) 
inkey(vm_nTempo) 
endif 
Enddo 

* Do while .T. .and. lastkey() # 27 
* Aviso("Aguardando arquivos para impress„o!", vm_nTempo) 
* if FILE(vm_cFile) 
* Aviso("Imprimindo relat¢rio...Agruarde!") 
* PrnTeste( aPrn[ vm_Prn ], vm_cFile) 
* DELETE FILE (vm_cFile) 
* inkey(vm_nTempo) 
* endif 
* Enddo 

ENDIF 
EXIT 
ENDDO 
RETURN(NIL) 



STATIC FUNCTION PrnTeste() // (cPrinter, cBMPFile) 
PARA cPrinter, cBMPFile 

LOCAL oPrinter := Win32Prn():New(cPrinter) 
LOCAL aFonts 
LOCAL x 
LOCAL nColFixed 
LOCAL nColTTF 
LOCAL nColCharSet 

oPrinter:Landscape := .F. 
oPrinter:FormType := FORM_A4 
oPrinter:Copies := 1 

* Cria arquivo temporario 
* -------------------------------------------------------------------- 
TMP_Tela() 

Select Tela 
append from (cBMPFile) sdf && nome completo do arquivo sdf 

IF !oPrinter:Create() // Cria classe 
Alert("N„o ‚ poss¡vel criar a impress„o") 
ELSE 
IF !oPrinter:startDoc("Win32Prn(Nome documento e suas propriedades)") 
Alert("StartDoc() Falhou") 
ELSE 

oPrinter:SetFont("Courier New",vm_nNormal, 0) // Normal 
oPrinter:Bold(0) // Normal 

dbgotop() 
Do while !eof() 

lCancelaNegrito := .F. // Semafaro de impressao negrito/cancela negrito 
cLinha := Tela->Linha // Busca linha de impressao 
lEject := (" " $ cLinha) // Procura caractete EJECT 
cLinha := strtran( cLinha, " ") // Elimina caractere EJECT 

oPrinter:newline() // Inicia nova linha 
if &vm_cNORMAL. $ cLinha // Verifica se linha existe cfg de fonte 
cLinha := strtran( cLinha, &vm_cNORMAL.) // Elimina caractere cfg de fonte 
oPrinter:SetFont("Courier New",vm_nNormal, 0) // Muda para padrao windows NORMAL 
endif 
if &vm_cCompri. $ cLinha 
cLinha := strtran( cLinha, &vm_cCompri.) 
oPrinter:SetFont("Courier New",vm_nCompri,{3,-50}) // Comprimida 
endif 
if &vm_cExpand. $ cLinha 
cLinha := strtran( cLinha, &vm_cExpand.) 
oPrinter:SetFont("Courier New",vm_nExpand, 0) // Expandido 
endif 
if &vm_cNegrit. $ cLinha 
cLinha := strtran( cLinha, &vm_cNegrit.) 
oPrinter:Bold(800) // Negrito/Bold 
endif 
If &vm_cCancel. $ cLinha 
cLinha := strtran( cLinha, &vm_cCancel.) 
* oPrinter:Bold(0) // Normal 
lCancelaNegrito := .T. 
endif 

oPrinter:TextOut(cLinha) 
oPrinter:Bold(0) // Normal 
dbskip() 

if(lEject .and. !eof(), oPrinter:NewPage(), ) // Usa "oPrinter:NewPage()" para iniciar nova pagina 
if (oPrinter:MaxRow() - 2) <= oPrinter:Prow() // Usa "oPrinter:NewPage()" para iniciar nova pagina 
oPrinter:NewPage() 
endif 

Enddo 
oPrinter:EndDoc() // Finaliza documento 
ENDIF 
oPrinter:Destroy() // Destroi classe 
ENDIF 
Close Tela 
RETURN(NIL) 


Procedure PrintBitMap( oPrn, cBitFile ) 
LOCAL oBMP 
IF EMPTY( cBitFile ) 
* 
ELSEIF !FILE( cBitFile ) 
Alert( cBitFile + " n„o encontrado " ) 
ELSE 
oBMP:= Win32BMP():new() 
IF oBmp:loadFile( cBitFile ) 
oBmp:Draw( oPrn, { 200,200, 2000, 1500 } ) 
// Note: Can also use this method to print bitmap 
// oBmp:Rect:= { 200,2000, 2000, 1500 } 
// oPrn:DrawBitMap( oBmp ) 
ENDIF 
oBMP:Destroy() 
ENDIF 
RETURN 


* Criacao de arquivo temporario de auxilio impressao na tela 
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 
Function TMP_Tela() 
local Retorna := .T. 
local aSCGTMP := { {"LINHA", "C", 200, 0} } 

set exclusive on 
* Arquivo1 := alltrim(left(sys_Usuario,4)) + "TELA.TMP" 
Arquivo1 := "TELA.TMP" 
if(!file(Arquivo1), DBCREATE(Arquivo1,aSCGTMP), ) 
if select("Tela") # 0 
select Tela 
Tela->(__dbzap()) 
elseif select("Tela") = 0 .and. userede(Arquivo1,"Tela",.T.,10) 
Tela->(__dbzap()) 
endif 
set exclusive off 
Return (Retorna) 
* o arquivo testw32p.prg (ou algo assim que vem no pacote do xharbour apresenta todos os recursos da classe. 


* Funcao para abertura de arquivos 
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 
Function UseRede(arquivo,apelido,exuse,tempo) 
local sempre := (tempo = 0) 
Do while (sempre .or. tempo > 0) 
If exuse 
USE (arquivo) Alias (apelido) Exclusive //NEW VIA 'MySQL' 
Else 
USE (arquivo) Alias (apelido) Shared //NEW VIA 'MySQL' 
Endif 

If !Neterr() ; Return .T. ; Endif 
aviso("Tentando acesso ao bancos de dados...Aguarde!",1) 
tempo -= 1 
Enddo 

* atencao(""," N„o foi poss¡vel acessar algum arquivo de dados.",; 
* " O sistema ser finalizado para evitar perda",; 
* " de dados e manter a consistˆncia dos arquivos. ",; 
* " ",; 
* " Acesse o sistema novamente. ",; 
* " Qualquer d£vida, entre em contato com o suporte ",; 
* " t‚cnico."," ",; 
* " Tecle algo" ) 
* cls ; quit 

Return .F. 


* Aviso 
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 
Function Aviso(msg, tempo) 
local TelaAguarde := if(tempo # NIL, savescreen(), "") 
local ci 
local cf 

if !empty(msg) 
msg := if(msg=NIL," Processando...Aguarde! ",msg) 
ci := int(40-(len(msg)/2)-2) 
cf := int(40+(len(msg)/2)+2) 

* Som(1) 
Jan(12,ci,16,cf,"w+/b","n+/b",.T. ) 
@ 14,ci+1 say padc(msg,len(msg)+2) color "r*/b" 

If Tempo # NIL 
Inkey(tempo) 
TelaAguarde := restscreen(,,,,TelaAguarde) 
Endif 
* @ 48,78 Say "" 
endif 
Return(.T.) 

* Jan 
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 
Function Jan(li,ci,lf,cf,linhaS,linhaI,fundo) 
local CorJan := SetColor() 
if fundo = .T. && se .T. limpa a tela e coloca cor de fundos 
setColor(linhaS) && cor de fundo 
@ li,ci clear to lf,cf && limpa quadro 
setColor(CorJan) 
endif && fecha if 

@ li,ci to lf,cf Color linhaS && faz um quadro 
@ lf,ci to lf,cf Color linhaI && linha inferior 
@ li,cf to lf,cf Color linhaI && linha direita 
@ li,cf say "¿" Color linhaI && canto superior direito 
@ lf,cf say "Ù" Color linhaI && canto inferior direito 
@ lf,ci say "À" Color linhaS && canto inferior esquerdo 
@ 48,78 say "" 
SetColor(CorJan) 
Return NIL 


Function Help() 
local TelaHelp := savescreen() 
* limpa() 
* cls 
* @ 08,01 say "Ajuda ao Sistema " 
* @ 09,01 say "ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ" 

CLS 
@ 00,00 TO maxRow(),maxCol() 
@ 01,02 say "Sistema de impress„o Via USB" 
@ 02,01 TO 02,78 

@ 04,01 say "1. Configura‡„o do Arquivo: USB.MEM " 
@ 05,01 say " Insira macros substitui‡„o de fontes em seu arquivo de impress„o ou" 
@ 06,01 say " altere para as que j s„o usadas como configura‡Æo de fonte no seu arquivo" 
@ 07,01 say " de impress„o e defina seus respectivos tamanhos de fontes. " 
@ 08,01 say " Use ASPAS no inicio e final de cada macro. " 

@ 10,01 say " Definir tamb‚m: " 
@ 11,01 say " Nome do arquivo, tempo para impress„o de cada arquivo. " 

@ 13,01 say "2. Como configurar ? " 
@ 14,01 say " Execute o programa USB.EXE e realize as devidas configura‡äes. " 

@ 16,01 say "3. Como imprimir ? " 
@ 17,01 say " Modo STAND ALONE -> Execute o programa assim: " 
@ 18,01 say ' USB "" "SEM CONFIGURACAO" ' 

@ 20,01 say " Imprimindo direto pelo seu aplicativo:Insira a linha abaixo no seu sistema:" 
@ 21,01 say " RUN USB NOME DO ARQUIVO DE IMPRESSAO " 

@ 23,01 say " Pressione qualquer tecla para continuar..." 
inkey(0) 

CLS 
@ 00,00 TO maxRow(),maxCol() 
@ 01,02 say "Sistema de impress„o Via USB" 
@ 02,01 TO 02,78 

@ 04,01 say "4. Como funciona a substitui‡„o de fonte ? " 
@ 05,01 say " O sistema procura as macros substiui‡„o no seu arquivo de impress„o e" 
@ 06,01 say " altera para defini‡„o de fonte padr„o windows. " 

@ 08,01 say " A configura‡„o de cada tipo de fonte ‚ configurada por linha inteira, n„o " 
@ 09,01 say " podendo mudar de fonte no meio de uma linha. " 

@ 11,01 say " Negrito sempre ser cancelada na linha seguinte. " 

@ 13,01 say ' O eject ‚ executado quando encontra este " " caractere no arquivo de' 
@ 14,01 say ' impress„o ou no final de cada p gina. ' 

@ 16,01 say " O arquivo impresso, ser exclu¡do ap¢s a impress„o. " 

@ 18,01 say " O programa direcionar as impress”es para a impressora default do windows." 

@ 20,01 say " Sugest„o: Crie uma pasta C:\Temp, copie os arquivos de impress„o para ela" 
@ 21,01 say " e execute o programa USB.EXE na mesma. " 

@ 23,01 say " Pressione qualquer tecla para continuar..." 
inkey(0) 

CLS 
@ 00,00 TO maxRow(),maxCol() 
@ 01,02 say "Sistema de impress„o Via USB" 
@ 02,01 TO 02,78 

@ 04,01 say "5. Exemplo: Seu arquivo de impress„o deve ficar assim: " 
@ 05,01 say " [NORMAL]Teste de impressao com fonte normal " 
@ 06,01 say " Ainda imprimindo com fonte normal " 

@ 08,01 say " [NEGRITO]Teste de impressao com fonte negrito " 
@ 09,01 say " Fonte negrito ‚ sempre cancelada a cada nova linha ou seja, valta ao normal" 
@ 10,01 say " Imprimindo com fonte normal " 

@ 12,01 say " [EXPANDIDO]Impressao EXPANDIDA " 
@ 13,01 say " Continua EXPANDIDO " 
@ 14,01 say " [NORMAL] Configura impressao com fonte normal " 

@ 16,01 say " [NORMAL]Temos que abrir m„o de certos recursos e est‚tica no in¡cio, para" 
@ 17,01 say " conseguir imprimir. Depois que aprender um pouco desse programa, trabalhe" 
@ 18,01 say " a est‚tica, os recursos e a facilidade de impress„o para o usu rio final. " 

@ 23,01 say " Pressione qualquer tecla para retornar..." 
inkey(0) 

Restscreen(,,,,TelaHelp) 
Return Nil 



Compilado com xharbour
BCC55
Win32Prn



Aconselhor testarem também o PDFCreator. Mostra na tela com exatamente como será impresso, envia via e-mail, para a porta USB e etc.


Espero que ajude!

Um grande abraços a todos,

Heveraldo

Clipper.52 / xHarbour / GTWVW
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Heveraldo,

Parabéns pelo seu trabalho e muito obrigado por compartilhar do seu código-fonte.

Gostaria de saber se você haveria possibilidade de utilizar este seu aplicativo como LIB ou OBJ nos nosso aplicativos em CLIPPER e se você pudesse disponibilizar para todos nós, se fosse possível ?.

Obrigado, valeu ! :)Pos -:] :{
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
heveraldo
Usuário Nível 2
Usuário Nível 2
Mensagens: 72
Registrado em: 16 Jun 2006 17:15

USB

Mensagem por heveraldo »

O sistema usa a classe win32prn do harbour, e usar em clipper, acho que não seria possível.
Mas fiquem a vontade para usarem o fonte.

Abraços,

Heveraldo
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Eu uso o PageScript e, com ele, dá pra fazer isso tudo... Pegar a impressora padrão ou escolher uma entre as impressoras instaladas, imprimir retrato ou paisagem, bitmap, marca d'água, escolher fontes, cores etc., mandar comandos ESC/PCL ou imprimir arquivos...

É ruim pq não é open source, mas é 10. Vc cria o seu job, manda pro PS e vai tomar cerveja.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Mensagem por fladimir »

Legal Eolo... Mas me diz uma coisa no Harbour o PageScript funciona ? Vc já pensou nisto ?

Sucesso a todos nós!!!

:)Pos
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Mensagem por fladimir »

Legal Eolo... Mas me diz uma coisa no Harbour o PageScript funciona ? Vc já pensou nisto ?

Sucesso a todos nós!!!

:)Pos
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Mas me diz uma coisa no Harbour o PageScript funciona ?
Tche, até onde eu sei ele não funciona e tb. não tem motivo para funcionar.....pq tudo que o PageScript faz o xharbour faz de graça......outra coisa colega fladimir, nem todo mundo usa o xharbour ou esta afim de migrar de Clipper para xHarbour no futuro...

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Se o fonte não serve para o Clipper, só para o XHarbour, talvez este tópico esteja em lugar errado, devia ser transferido para o XHarbour...
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

É claro que o utilitário USB.EXE funciona tanto para Clipper quanto para XHarbour. É um programa à parte. Funcionará com qualquer linguagem que permita executar um programa externo.
Mas pela sua natureza, não poderá ser utilizado para montar uma LIB pra Clipper. Só uma LIB para XHarbour, já que o Heveraldo utiliza código nativo do XHarbour.
Por isso, concordo com o Eolo. Em se tratando de código XHarbour, esse tópico, ora no grupo de Clipper, deveria ser movido para o grupo de XHarbour, pois se alguém precisar de algo parecido, será ali que irá procurar. É só uma questão de organização.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
heveraldo
Usuário Nível 2
Usuário Nível 2
Mensagens: 72
Registrado em: 16 Jun 2006 17:15

USB

Mensagem por heveraldo »

Galera,

Desculpe pelo transtorno.
Sistema já postado no forum xharbour.

Abraços,

Heveraldo
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: USB

Mensagem por Maligno »

heveraldo escreveu:Desculpe pelo transtorno.
Sistema já postado no forum xharbour.
Transtorno nenhum. :)
Só um pedido: por favor, edite sua mensagem lá no grupo de XHarbour, pois sua tag de código ficou fora de sincronismo e o código não ficou indentado. Nem faz tanta diferença, mas a indentação facilita bastante a leitura.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
heveraldo
Usuário Nível 2
Usuário Nível 2
Mensagens: 72
Registrado em: 16 Jun 2006 17:15

Mensagem por heveraldo »

Maligno,

Tentei indentar, mas nao consegui.
Como faço para postar o fonte como vc fez, colocando em um fundo branco minha mensagem?

Heveraldo
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tche, Heveraldo.....vou tentar explicar pra vc.... quando vc esta escrevendo a Mensagem dentro de uma caixa BRANCA tem uns Botão A cima Neh ? Entaum...se vc clicar uma VEZ em CODE.......ele vai abrir um (code) ......ai vc vai colocar o seu fonte jah Bonitinha na Tubulação...ai vc clica mais uma vez e ele vai fechar a TAG com um (/code)......a mesma coisa serve para CITAÇÃO......soh que ele usa o QUOTE na TAG.

Obs:Eu usei os ( ) no lugar de [ ] ...para poder mostrar a vc...outra coisa...eu sempre mando Prever antes de Enviar.....ai vc jah pode ver se ele vai sair dentro da TAG ou não....outra coisa se vc selecionar o Texto digitado e clicar em um dos Botão ele coloca dentro da TAG para vc.

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Mensagem por Mário Isa »

Peguem aqui o download de testes da PageScrip 32 Bits
http://www.abeelabs.com/en/ps32/Pagescript32Trial.htm

Abraços
Mário
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Mensagem por Mário Isa »

É incrível!
A AbeeLabs colcou um exemplo em xHarbour neste arquivo que falei.
Vejam lá!

Mário
:)Pos :xau :))
Responder