Página 16 de 51

Enviado: 11 Mai 2007 10:15
por Pablo César
Maligno escreveu:Infelizmente está parado.
Imagem
Maligno escreveu:Não. Nem poderia.
ahamm, eu entendí, não que você ja não tenha dito... Apenas pensei que tudo em informática pode ser escrito em arquivo e pensei que esta seria uma solução. Mas o que entendí resume-se a resposta neste tópico: https://pctoledo.org/forum/viewtopic.php?t=5825
Maligno escreveu:Não uso @ SAY para impressão.
Você gera arquivo de impressão então ?.
Maligno escreveu:Tenho uma função pra isso. Essa função recebe a linha a imprimir.
Essa função, lê o seu arquivo de impressão, linha a linha ?
Maligno escreveu:Imprimo normalmente, inserindo algo semelhante a tags com os comandos especiais que preciso, nos trechos certos dos relatórios.
Essas TAGS são gravadas no arquivo de impressão, então ?.

Acho que já perguntei isto antes: você conhece o PRINTER.EXE ( Printer (DOS/WIN) ), viu que ele imprime em modo gráfico e trabalha através de um arquivo intermediário que é gerado com TAGS e o PRINTER.EXE traduz as TAGS em modo de impressão. A sua forma de imprimir é gráfica ?.

Bem aguardamos qualquer novidade do WAPI e espero que tenhas éxitos na sua emprendados desafios.

Imagem

Enviado: 12 Mai 2007 06:29
por Maligno
Pablo César escreveu:Apenas pensei que tudo em informática pode ser escrito em arquivo
Tudo o que pode ser representado em termos de bits e bytes pode ser escrito em arquivo. Mas eu entendi que você perguntou se o BCC tinha algo "nativo". Não tem. Mas pode ser feito.
Você gera arquivo de impressão então ?.
Sim, pois torna viável o trabalho de particionamento da impressão e é, aliás, a única forma confiável de exibir um preview de relatório.
Essa função, lê o seu arquivo de impressão, linha a linha ?
Não. A função a que me referi envia dados para impressão. Isso não significa que esses dados serão impressos. Pode ser configurado um destino para esses dados. Posso imprimir diretamente, como nos sistemas tradicionais ou armazenar esses dados em arquivo. O próprio arquivo poderá ser enviado para o spooler ou, depois da tradução (ou supressão das "tags"), ser enviado para o vídeo. Tenho um sub-sistema de manipulação de texto pra isso.
Essas TAGS são gravadas no arquivo de impressão, então ?.
Não. A função de impressão, que substitui os @...SAY, recebe essas "tags" de impressão normalmente. Esses dados são direcionados para um arquivo e nele serão gravados com ou sem os comandos de impressão, de acordo com o destino. Se o destino for o vídeo, todos os comandos serão eliminados. Aliás, faço o inverso com a acentuação das palavras. Se o destino for a impressora, são eliminados. Caso contrário, sendo vídeo, eles permanecem.
Agora, se o destino da impressão dos dados for a impressora, as "tags" são substituídas pelos comandos relativos à impressora escolhida. O WAPI envia o arquivo devidamente preparado (RAW) para o spooler.
A sua forma de imprimir é gráfica ?.
Não. Gráfico só em Windows (por um gerador de relatórios). Em DOS só uso texto. Até já me pediram impressão gráfica, mas eu recusei.

[]'s
Maligno
http://www.buzinello.com/prg

Enviado: 17 Mai 2007 10:23
por Pablo César
Caro Maligno,

Adicionando ainda mais a sua lista de pendências... hehe lá vem o Pablo...

Surgiu a idéia, a minha resposta Veja aqui de uma MP enviada pra mim e na qual menciono a abertura de uma sessão nova sessão e que poderia causar alguns inconvenientes ao fechar o aplicativo que estaria em outra sessão. Bem a idéia seria... (ora que meio radical) de utilizar uma nova função do WAPI que pudesse "fechar" a sessão com handle X (daquela sessão minimizada). Você hoje, consegue RE-EXIBIR uma sessão (com a função WINDOW2TOP), será que poderia fazer FECHAR ?. Sei que soa radical porque é necessário avaliar as consequências que traria fechar uma sessão com aplicativo sendo executado e não fechado devidamente. Pense, talvez seja útil e fica a critério de cada um. O quê você acha ?

Um clip-abraço :)Pos

Enviado: 17 Mai 2007 10:30
por Maligno
Pablo César escreveu:será que poderia fazer FECHAR ?
Sim, a princípio não haveria qualquer problema pra isso. Muito embora em alguns casos o fechamento pode depender de uma interação com o programa que estiver para ser fechado.
Sei que soa radical porque é necessário avaliar as consequências que traria fechar uma sessão com aplicativo sendo executado e não fechado devidamente.
Bom, aí já é problema de quem vai fechar o programa. Não tenho nada com isso. :)))

[]'s
Maligno
http://www.buzinello.com/prg

Enviado: 17 Mai 2007 10:41
por Pablo César
Então... podemos considerar que você iria disponibilizar mais essa nova opção no WAPI ?

Imagem

Enviado: 17 Mai 2007 10:51
por Maligno
Pablo César escreveu:Então... podemos considerar que você iria disponibilizar mais essa nova opção no WAPI ?
Claro. Farei assim que tiver um tempinho. :)

[]'s
Maligno
http://www.buzinello.com/prg

Enviado: 23 Mai 2007 14:06
por Daniel
Maligno

Valeu por esta lib muito boa mesmo gostei, me tirou de uma enrascada com impressao em usb

Valeu

Enviado: 23 Mai 2007 14:21
por Maligno
Daniel escreveu:me tirou de uma enrascada com impressao em usb
Que bom que ajudou. Fico contente por você. E vai ficar um pouco melhor, acredito, quando tiver conseguido terminar o modo residente do WAPI, que poderá ficar simplesmente monitorando um certo diretório em busca de comandos, que poderão ser executados simultâneamente.

Só uma curiosidade: você está usando as funções da biblioteca ou executando o WAPI.EXE diretamente?

[]'s
Maligno
http://www.buzinello.com/prg

Enviado: 23 Mai 2007 15:47
por Daniel
Ola
eu estou usando a biblioteca e compilando junto com os meus prg.
Em uma impressora lx-300 usando cabo adaptador de usb para ieee-1284 em windows xp o codigo ficou assim:

Código: Selecionar todos

cIm:= "I" + (StrZero(Val(StrTran(Str(Seconds()), ".", "")), 7)) + ".txt"
Set Console Off
Set Device To Printer
Set Printer On
Set Printer To &cIm

...........
..........

Eject
Set Printer Off
Set Device To Screen
Set Console On
SetaImp(cIm,"Relatório de Vendas")
 
********************************
Function SetaImp(cImp, cTitulo)
Local aPrinter, op, x2:= 10, TelaAnt

   TelaAnt:= SaveScreen()
   aPrinter:= GetPrinters()
   If Empty(aPrinter) 
      @ 24, 10 Clear
      @ 24, 13 Say "Nao ha Impressora instalada!"
      FErase(cImp)
      Return .f.
   EndIf
   @ 9, 23 Clear To (10 + LEN(aPrinter)), 51
   @ 9, 23 To (10 + LEN(aPrinter)), 51
   For x:= 1 TO LEN(aPrinter)
      xp:= 20 - Len(AllTrim(aPrinter[x,2]))
      @ x2, 25 Prompt Str(x, 2) + "-> " + aPrinter[x, 2] + Space(xp)
      x2++
   Next
   Menu To op
   RestScreen(,,,,TelaAnt)
   If LastKey() == 27
      FErase(cImp)
      Return .f.
   Else
      PrintFile(aPrinter[op, 2], cImp, cTitulo)
      FErase(cImp)
      Return .t.
   EndIf


Enviado: 23 Mai 2007 15:56
por Maligno
Uma aplicação típica das funções da biblioteca. Bem melhor que interagir diretamente com o WAPI.EXE. Mais fácil. A LIB gerencia tudo pra você. :)

[]'s
Maligno
http://www.buzinello.com/prg

Enviado: 15 Jun 2007 10:21
por Maligno
O que esse tópico tem a ver com o grupo "Códigos Fonte" para ser transferido do grupo de Clipper?

Reclassificação do Wapi

Enviado: 15 Jun 2007 21:47
por Pablo César
Pois é, Maligno eu gostava de ver este tópico lá na seção do Clipper mesmo, pois acredito que você estaria criando uma biblioteca para Clipper, motivado pelas limitações que o Clipper apresenta (e não outra linguagem) e o pessoal que precisa mesmo de outros recursos para o Clipper iriam passar desapercebidos aqui. Muitos dos colegas que se iniciam na inscrição do FORUM confundem muito a seção "código-fontes" com questões que deveriam ser feitas lá na seção Clipper.

Mesmo que o colega Maligno não tenha apresentado outras contribuições ao WAPI não quer dizer que o projeto esteja parado ou não estivesse atendendo as diversas demandas que ora foram solicitadas pelas carências da linguagem Clipper e ora também porque o projeto não considera-se como "finalizado" e precisa muito da participação e debate dos colegas que enfrentam lá na seção Clipper.

Na minha opinião deveria ser re-avaliado esta situação. Queremos muito que o projeto WAPI enriqueça-se com novos recursos que o nobre colega Maligno nos está oferecendo e que seja motivado pelos colegas que solicitam e expõem suas limitações com o Clipper.

Sabemos que o WAPI.EXE também poderia ser funcional para outras linguagens em DOS mas basicamente a criação da LIB é exclusiva para o Clipper. Não estou querendo menos prezar nem descriminar nenhuma outra linguagem, mas sinto-me muito a vontade de saber que o Clipper traz muita motivação, até mesmo a criação deste conceituado FORUM.

Enviado: 20 Jun 2007 01:15
por Maligno
Ao passo que existem no grupo de Clipper tópicos que servem apenas e tão somente para distribuir códigos fontes. E outros tópicos que só tratam de XHarbour. Mas permanecem no grupo de Clipper. Se é pra reclassificar mensagens, até entendo. Mas que seja feito do jeito CERTO.

Enviado: 24 Jun 2007 13:53
por Dudu_XBase
A Postagem foi movida para minimizar a quantidade de tópicos FIXOS na seção clipper.
A postagem em si foi colocado como fixa anteriormente para ser mais evidenciada e dar reconhecimento a colaboração do Maligno.
As classificações das mensagens serão reavaliadas.
Desculpe se causei algum transtorno estarei vendo junto com os demais moderadores outras decisões que serão tomadas, avaliando sugestões dos demais amigos do Fórum.

Enviado: 24 Jun 2007 17:39
por Maligno
Dudu_XBase escreveu:A Postagem foi movida para minimizar a quantidade de tópicos FIXOS na seção clipper.
Isso constitui algum problema para o grupo? Não acho que haja uma quantidade exagerada. De qualquer forma, nunca pedi que esse tópico se tornasse fixo. Nem vejo necessidade nisso.
A postagem em si foi colocado como fixa anteriormente para ser mais evidenciada e dar reconhecimento a colaboração do Maligno.
Agradeço sua preocupação nesse sentido, mas realmente não vejo necessidade. É um tópico como outro qualquer, sem merecimento a mais sobre qualquer outro tópico.
As classificações das mensagens serão reavaliadas.
Desculpe se causei algum transtorno estarei vendo junto com os demais moderadores outras decisões que serão tomadas, avaliando sugestões dos demais amigos do Fórum.
Transtorno nenhum, mas causou sim estranheza (a mim, pelo menos) pelo critério na reclassificação. Ficaremos no aguardo. Só quero frisar que esse assunto de reclassificação não é da minha alçada, não me diz respeito e não me faz diferença. Portanto, o que vocês decidirem, por mim será aceito passivamente. Garanto que não tocarei mais nesse assunto. Já dei minha opinião a respeito. Obrigado.