WAPI v1.05 - Funções da API do Windows

Fórum sobre ferramentas de apoio à programação (Clipper/[x]Harbour)

Moderador: Moderadores

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 »

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
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 »

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
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 »

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
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 »

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
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 »

Então... podemos considerar que você iria disponibilizar mais essa nova opção no WAPI ?

Imagem
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 »

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
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

Mensagem por Daniel »

Maligno

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

Valeu
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
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 »

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
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

Mensagem 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

Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
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 »

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
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 »

O que esse tópico tem a ver com o grupo "Códigos Fonte" para ser transferido do grupo de Clipper?
[]'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!
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á

Reclassificação do Wapi

Mensagem 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.
Editado pela última vez por Pablo César em 24 Jun 2007 08:21, em um total de 1 vez.
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.
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 »

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.
[]'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!
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem 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.


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




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 »

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.
[]'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!
Responder