wapi.lib nao manda para o spool ???!!

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
adilson
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 01 Fev 2008 07:02
Localização: americana - sao paulo

wapi.lib nao manda para o spool ???!!

Mensagem por adilson »

Amigos Boa Tarde !

Estou tentando enviar uns relatorios para o spool da impressora padrao do windows xp utilizando a lib do maligno
wapi.lib , e nao estou conseguindo,estou utilizando clipper 5.2e e blinker 7.0 e as libs wapi.lib e ctp52.lib, tb fiz uns
testes com prwin.exe e usb.exe e os mesmos estao enviando certinho .. o que poderia eu estar fazendo de errado ??

no programa inicial esta desta forma:

#include "inkey.ch"
#include "macros.ch"
#include "wapi.h"

a sintaxe para impressao --> printfile("#","relven.txt","meu sistema")

na compilacao nao da nenhum erro e ao executar a impressao nao manda nada ..


mais um vez obrigado ...

[]´s
Burroughs L3000 (4 kb ram) e B700,Labo 8034-8038 (Basic Nixdorf),Apple II plus,Clipper 5.2e e começando com xharbour 0.99.70
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á

wapi.lib nao manda para o spool ???!!

Mensagem por Pablo César »

Vejamos o que diz a sintaxe dessa função, pois ela sofreu alteração quando o Maligno incrementou a impressão seletiva na função:
PrintFile(cPrtName,cRptFile[,cRptTitle[,lPaged[,cPages[,lPrintAll[,lEven[,lOdd[,lReverse[,nCount[,lGroup]]]]]]]]]) -> logic

Infileira no spooler do Windows o conteúdo do arquivo <cRptFile>, que o apresenta sob o título <cRptTitle>. Este será impresso na impressora de nome <cPrtName> (espaços são permitidos). O resultado será TRUE, se o empilhamento for bem sucedido. Caso contrário, FALSE, sendo o código do erro recuperável pela função WAPIError().
Se o título do relatório for omitido, será utilizado "clipper.report@DD/MM/AAAA,hh:mm:ss", onde DD=dia, MM=mês, AAAA=ano, hh=horas, mm=minutos e ss=segundos.
A impressão será no modo RAW (crú), sem que haja qualquer modificação. O flag opcional <lPaged>, se TRUE (default=FALSE), indica que cada página será identificada pela seqüência de valores decimais 02, 11 e 03 (STX, VT e ETX, conforme a tabela ASCII). Obviamente, essa tag será eliminada da impressão. Se <lPaged> for FALSE, não será feita qualquer referência a números de páginas e todos os demais parâmetros perderão o sentido e serão ignorados, a exceção de <nCount>.
Uma lista de números de páginas (mesmo que repetidos) poderá ser informada em <cPages>, separados por vírgulas e em qualquer ordem (serão ordenados). Exemplo: "1,2,3". Seqüências poderão ser informadas de forma reduzida, apenas com seus números inicial e final no formato "i-f". Exemplo: "3-8" fará imprimir todas as páginas do número 3 a 8 (inclusive).
Um (e apenas um) desses valores poderá ser omitido. Se "i" for omitido, será substituído por 1. Sendo omitido "f", será usado o número da última página encontrada. As duas formas poderão ser usadas em conjunto.
O flag opcional <lPrintAll>, se TRUE (default), selecionará para impressão todas as páginas. Os flags <lEven> e <lOdd>, também opcionais, se TRUE (ambos com o defaul FALSE), selecionarão apenas as páginas pares ou ímpares, respectivamente.
O flag <lReverse> é opcional e, se informado TRUE (default=FALSE), fará a impressão das páginas selecionadas em ordem inversa.
O parâmetro <nCount> permite definir uma quantidade de cópias (default=1) a imprimir.
O flag <lGroup>, se TRUE (default) e sendo <nCount> maior que 1, fará as páginas serem impressas em sua seqüência natural. Exemplo: "1,2,3,1,2,3". Se for FALSE, as páginas de números iguais serão impressas contíguas. Exemplo: "1,1,2,2,3,3".
Você está testando o retorno da função, pois ela deveria retornar verdadeira ou falsa. E a função só imprime em modo RAW, ja ví tópicos mencionando que não foi possível a não ser em modo gráfico (veja este tópico viewtopic.php?f=39&t=4328&p=44993&hilit=wapi+raw#p44964 ). Qual é a impressora que está tentando ?.
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.
Responder