Página 1 de 1

impressao de cupom nao vinculado

Enviado: 01 Abr 2011 06:30
por cristina
Bom dia,
Preciso imprimir um arquivo texto no cupom nao vinculado da imp.fiscal bematech, mas este texto tem tamanho variavel de linhas e as quebras de linhas estao como @. Estou tentando com fopen() e fread(), mas nao estou conseguindo separar as linhas. Por favor se alguem puder me ajudar, agradeco muito. Uso clipper 5.1
obrigada

Re: impressao de cupom nao vinculado

Enviado: 01 Abr 2011 14:36
por rochinha
Amiguinha,

Use este exemplo:

Código: Selecionar todos

   cLargura        := 400
   cArquivoRetorno := "arquivo.txt"
   cText := MEMOREAD( (cArquivoRetorno) )
   nLines := MlCount(cText,cLargura)
   FOR nFor := 1 TO nLines
       cLine := MemoLine( cText, cLargura, nFor )
       ...
   NEXT
Defina cLargura como quizer, coloquei pois é o tamanho que uso para ler retornos CNAB 400.

Impressao de cupom nao vinculado

Enviado: 04 Abr 2011 11:52
por Pablo César
Seja bem vinda ao fórum Cristina !

Aqui a seguir você pode contar com esta função que lê linha a linha, independente do tamanho máximo de cada linha, que foi baseada em funções de baixo nível do Clipper.

Código: Selecionar todos

#define CRLF      CHR(13)+CHR(10)

Function Ini_Read(cFile)
Local cLine:=""
Private lEof:=.f.

nHandle:=Fopen(cFile,0)
If nHandle # -1
   Do While !lEof
      cLine := ReadFile(nHandle,1024)
      // processa a linha
      ? cLine
      nLine++
   Enddo
Endif
Fclose(nHandle)
Return aRet

Static Function ReadFile(nHandle,nBuffSize)
LOCAL cRet:= cBuff:='', nPos:= nEol:= nRead:=0

cBuff:=Space(nBuffSize)
nPos:=FSeek(nHandle,0,FS_RELATIVE)
IF ( nRead:=FREAD(nHandle,@cBuff,nBuffSize) ) > 0
   IF ( nEol:=AT(CRLF,SUBSTR(cBuff,1,nRead)) ) == 0
      cRet:=SUBSTR(cBuff,1,LEN(cBuff)-1)
   ELSE
      cRet:=SUBSTR(cBuff,1,nEol-1)
      FSeek(nHandle,nPos+nEol+1,FS_SET)
   END
ELSE
   lEof:=.t.
END
Return(cRet)
É só informar o nome do arquivo, mais nada e implementar o código após de obter cada linha do arquivo.
Cristina escreveu:Uso clipper 5.1
Aconselho a colega migrar para Clipper 5.2e, é a versão mais estável, pois a 5.1 tem bugs. No site do Maligno tem um pacote que só descompactar do mesmo jeito que faria com o instalador Clipper, veja aqui: http://pub.buzinello.com/xbase/clipper/ ... talled.zip

Re: impressao de cupom nao vinculado

Enviado: 20 Abr 2011 16:47
por cristina
Muito obrigada pela grande ajuda!! As rotinas foram perfeitas. Obrigada mesmo!
Agora vou ver o clipper 5.2...
Abracos