Página 43 de 51

Enviado: 06 Mai 2008 17:11
por Maligno
FabioAugusto escreveu:Só uma duvida, a matriz gerada pelo Getprinters() é uma matriz dinâmica correto ?
Eu não diria que é uma matriz "dinâmica", propriamente. Nem sei a que se refere esse termo. É apenas uma matriz multidimensional, cuja estrutura o AChoice() não aceita diretamente. Nunca usei este AChoice(). Mas o que você fez pra resolver o problema é natural: adaptar a estrutura de GetPrinters() para a estrutura necessária, criando uma matriz intermediária. Aliás, eu próprio fiz isso mesmo nos meus programas. É por aí mesmo. :)

Re: WAPI v1.03 - Funções da API do Windows Laserjet 1020

Enviado: 08 Mai 2008 09:58
por FabioAugusto
Maligno, bom dia!

Inclui junto a meu sistema em clipper o WAPI, e com ele evolui mto o sistema pois ele ainda esta em clipper puro, parabéns e obrigado pela contribuição.

Ontem fiz alguns testes aqui na Empresa onde tenho Laserjet 1200/1022/1020 e OfficeJet 3030, e só não imprimiu na 1020, li ontem nesse topico atentamente uma discussão que ocorreu em out 2007 sobre o mesmo problema que um programador teve ao tentar imprimir na 1020. será que essa discussão gerou um veredicto para esse problema ?
Ou já devo descartar a 1020 da minha roda de impressão ?

Abs.

Fabio A França

Re: WAPI v1.03 - Funções da API do Windows Laserjet 1020

Enviado: 08 Mai 2008 10:34
por Maligno
FabioAugusto escreveu:será que essa discussão gerou um veredicto para esse problema ?
Ou já devo descartar a 1020 da minha roda de impressão ?
Nunca imprimi numa 1020. Eu tenho a 1022, assim como você, e nela você viu que imprime normalmente. Até imaginava que imprimiria, já que são impressoras muito semelhantes. Mas se a 1020 não tem tabela de caracteres nativa e imprime apenas em modo gráfico, infelizmente não vai dar certo mesmo. A biblioteca WAPI está preparada para imprimir apenas em modo texto. Pelo menos até que eu faça essa parte, que está nos planos.

Reli a discussão que você comentou. Houve um colega com o mesmo problema. Acho que nesta semana devo encontrar um amigo que, se não me falha a memória, tem uma 1020. Vou testar nela. Mas arrisco a dizer que é quase certo que funcione, já que são impressoras praticamente iguais. Assim que puder dou um retorno.

Re: WAPI v1.03 - Funções da API do Windows

Enviado: 08 Mai 2008 10:44
por FabioAugusto
Por isso que a USB.EXE imprime por enviar para spooler em modo grafico, facil de resolver, aos usuários que forem imprimir na 1020 vou utilizar a USB.EXE

Abs.

Fabio A França

Enviado: 08 Mai 2008 10:49
por Maligno
Sim, resolve. Esse programa usa uma classe do XHarbour que converte todo o texto em gráficos, que é possível imprimir em qualquer impressora. Claro que isso envolve um certo custo de tempo de processamento. Se o volume de impressão for muito grande, talvez você acabe notando alguma lentidão.

Impressão em modo gráfico

Enviado: 08 Mai 2008 12:28
por Pablo César
FabioAugusto escreveu:aos usuários que forem imprimir na 1020 vou utilizar a USB.EXE
Enquanto não se tem um veredicto sobre esse modelo e o WAPI não imprimir em modo gráfico, atualize a versão do USB que aliás agora a sua interface é gráfica e chama-se HWUSB e você encontra no site do Maligno em: http://pub.buzinello.com/xbase/clipper/tools/hwusb.zip

Obs.: Favor não postar aqui dúvidas sobre o USB ou HWUSB. Esse assunto poderá ser postado lá na seção fontes.

Bug Report

Enviado: 09 Mai 2008 19:15
por Maligno
Para aqueles que utilizam o novo esquema de impressão inteligente da biblioteca WAPI, uma informação: há um bug na função que trata a relação de páginas a imprimir. A seqüência "4-", por exemplo, ao invés de configurar a impressão da página 4 até a última página, gera um erro. Faltou um mísero asterísco num ponteiro. Já corrigi e agora está funcionando perfeitamente. A correção será liberada na próxima versão. Mas se alguém precisar antes, é só dizer, que recompilo a versão atual.

maligno nao consigo imprimir com a wapi.lib (printfile())...

Enviado: 12 Mai 2008 04:02
por adilson
Maligno bom dia, ja reportei isto em um topico anterior... mas e o seguinte tua
lib WAPI e tb o PRWIN do wagner, manda a impressao para o spooler , a impressora
(no meu caso lexmark), diz que imprime,excluindo,etc,etc) mas nao sai nada no papel,
e utilizando o DOSPRINT ou mesmo a NODOSIMP a impressao sai ok.. , digo isto
porque seria muito mais pratico e racional utilizar tua LIB , que um programa externo nao e mesmo ???

caso vc puder me ajudar , meu! muito obrigado

:{

Enviado: 12 Mai 2008 06:56
por Maligno
A biblioteca WAPI foi feita para a impressão de dados de texto comuns, no formato RAW. Se essa Lexmark for do tipo que comentaram outro dia, que imprime apenas gráficos, por não possui tabelas de caracteres internos (você confirma isso???), realmente a WAPI não poderá ser utilizada. Pelo menos enquanto eu não fizer a conversão de texto para gráficos, o que está nos planos futuros.

Entretanto, eu estranho o fato de não ter funcionado no PRWin do Vagner, já que, pelo que me consta, esse programa imprime no modo gráfico também. Nunca usei, mas é um programa similar ao DOSPrint e o NoDOSImp, onde você diz que funciona.

Não sei se ajuda, mas se quiser, faça um teste também com o novo utilitário do HWUSB do Heveraldo. Esse programa usa uma classe do XHarbour que eu sei que imprime texto comum depois de convertê-lo totalmente para o modo gráfico, o que, a princípio, deve funcionar em qualquer impressora. Tenho o programa no meu site. Clique aqui para baixá-lo. Mas eu nunca sequer o testei. Nem sei que parâmetros utiliza. Portanto, se tiver dúvidas sobre como usá-lo, crie um novo tópico na seção Clipper mesmo e exponha suas dúvidas lá.

Re: WAPI v1.03 - Funções da API do Windows

Enviado: 13 Mai 2008 05:06
por adilson
Maligno Bom Dia !, Com Relacao a LEXMARK Tem um (Tal) de Processador de Impressao e Tentei Varios Tipos (RAW - RAW[FF append], TEXT,LEMF,ETC) , e mesmo
assim nao imprime ok !,... Vamos esperar anciosos pelas proximas atualizacoes.

Um Forte Abraço..

:{

Enviado: 14 Mai 2008 09:09
por Maligno
adilson escreveu:Com Relacao a LEXMARK Tem um (Tal) de Processador de Impressao e Tentei Varios Tipos (RAW - RAW[FF append], TEXT,LEMF,ETC)
Processador de impressão? Não tenho idéia do que seja isso.

Opção PRINT para impressão seletiva de páginas

Enviado: 27 Mai 2008 09:34
por Pablo César
Sabemos que para imprimir páginas de forma seletiva, através da função PRINT do WAPI precisa como inicio de cada página (no arquivo de impressão) que esteja marcado com um identificador (ou tag) com um grupo de códigos ASCII: 02, 11 e 03 (decimal), ou STX+VT+ETX para que seja interpretado como inicio de página.

Gostaria de indicar ao Maligno, ora se o colega me permite fazer uma sugestão, para que o WAPI pudesse aceitar esse identificador de forma variável em conformidade e a gosto de cada um. Isso poderia ser implementado, Maligno ?

Enviado: 27 Mai 2008 11:05
por Maligno
Pablo César escreveu:para que o WAPI pudesse aceitar esse identificador de forma variável em conformidade e a gosto de cada um. Isso poderia ser implementado, Maligno ?
Eu só fixei isso para tornar a lista de argumentos menor. Mas não vejo no quê isso poderia melhorar alguma coisa. Se você usa X, Y ou Z como marcador de início de página, não faz a menor diferença. Então, por que não usar o X que eu já indico? Algum problema nisso? Porque mudar o marcador?

Paginação

Enviado: 27 Mai 2008 11:49
por Pablo César
Maligno escreveu:Eu só fixei isso para tornar a lista de argumentos menor.
Sim isso eu até entendo.
Maligno escreveu:Então, por que não usar o X que eu já indico? Algum problema nisso? Porque mudar o marcador?
Pois ao deixar esses identificadores de forma fixos, o usuário irá ser obrigado a gerar SEMPRE com tais caracteres dentro do arquivo de impressão e por consequente tais caracteres não irão ser ignorados por outros aplicativos como USB.EXE quando precisar fazer impresão gráfica, por exemplo. Vamos dizer que é para manter compatibilidade de uso com outros aplicativos de impressão.

Acho que o processo de seleção de página para ser impresso, deveria ser levado em conta o final de cada página e não o começo. A forma universal para o salto de página é o CHR(12), então deveria ser este o caracter de referência. Me desculpe a minha discordância, talvez seja porque ainda procuro por um procedimento mais certeiro. Não que o seu não funcionasse, mas visto que o WAPI não imprime em modo gráfico daí somos forçados ao uso de outros aplicativos e aí então ficamos sem o recurso de desdobramento para impressão.

Diante desta questão, acharia mais produtivo fazer um aplicativo de desmembramento seletivo do arquivo de impressão do que deixar atrelado a mesma função de impressão com o WAPI. Se for pensar a fundo, o aplicativo de desmembramento para impressão, é relaticvamente fácil. Seria questão de contar quantos CHR(12) tem o arquivo de impressão, apresentar um menú para seleção de página ao estilo WINWORD (imprimir páginas: 1;3;5-8;12) e localizar cada CHR(12) compondo tais páginas em apenas um arquivo úncio para impressão.

Enviado: 27 Mai 2008 13:17
por Maligno
Por partes. Porque escolhi essa seqüência como marcadora de início de página? A resposta se divide em duas. Primeiro que Chr(12) pode fazer parte de um comando de configuração como argumento, seja ESC/P ou PCL. Segundo que, já que não usaria Chr(12) mesmo, não faria qualquer diferença onde a seqüência apareceria; no início ou fim da página. Para efeito de codificação ficou mais fácil usá-la no início. Mas o fato é que eu precisaria desta tag para indexar as páginas. Mas veja que não descarto a possibilidade dessa tag ser configurada. Mas isso só posso responder em definitivo quando essa parte de impressão estiver finalizada.

Na questão de usar dois programas para impressão e tentar compatibilizá-los, é meio relativo. Hoje a WAPI não imprime gráfico, mas isso já está sendo resolvido, haja vista que, conforme comentei, dei azar de um cliente importante ter comprado uma impressora que não tem tabela de caracteres. Optei por modificar a WAPI pra trabalhar também no modo gráfico. Desta forma, estando a WAPI capacitada a imprimir tanto em texto quanto em gráfico, não haveria motivo para usar dois programas. Então voltamos à característica inicial: sendo apenas um programa, não fará diferença qual tag será utilizada e muito menos onde essa tag estará.

Aliás, aproveitando a discussão: há situações (me apareceu uma) em que pode-se querer imprimir um arquivo qualquer que não contém tag nenhuma. Aí entrará a nova opção de delimitação de página pela contagem de linhas. Isso evita que se tenha que carregar todo o arquivo para inserir as tags.

De qualquer forma, hoje eu não vou alterar coisa alguma na tag. Vou terminar o modo gráfico e depois implementar algumas melhorias, se for o caso. Isso não quer dizer que sou intransigente. Nada disso. Ainda não parei pra analisar. Mas SE eu perceber que trocar a tag de lugar vai me custar mais caro do que estou disposto a pagar, ela ficará onde está. Até porque, como eu já havia comentado há algum tempo, um sistema de relatório bem montado, dinâmico, flexível, faz o uso de qualquer tag uma coisa bem simples, esteja ela onde estiver.