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 »

Hablando del ILW, el ILW se asoma... jijiji (un bromita).

ILW, creo que la solucion para esse erro fijate en este LINK: https://pctoledo.org/forum/viewto ... light=6003
Por ejemplo tengo un programa al que le envio un archivo de texto con una impresion configurada como si fuera para una impresora epson y lo imprime en la impresora por defecto en windows, pudiendo hacer una vista previa si uno lo desea.
Si claro, esto ya alcanzamos a este recurso. Ya viste el USB del colega Heveraldo, el USBPRINT del colega MarcosV ? Hay otros como el PRINTER.EXE y otros recursos de impresion que se pueden hacer por medio de creacion de arquivo de impresion sea en formato HTML tambien. Cual seria ese programa que usás podés decirnos y podés compartirlo con nosotros ?.

Cuanto a tu inquietud sobre DOS vs WINDOWS tambien es nuestro dilema tambien. Todo lo que puedas ofrecernos, será de gran utilidad, mismo que sean apenas questionamientos. Todo eso ayuda. Y como verás, hacemos cuestion que todo sea disponibilizado al público (mejor dicho a programadores) sin costos y sin exigencias. lo único que pedimos es participacion en ideas y tambien soluciones.

Ahora esa tu cuestion de DDE, yo no tengo know-how sobre eso. Hay mucho colegas aqui que trabajan con diversos BD y que talvez puedan pronunciarse. Esperemos que surja algo de ellos.
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

Re: Leitura de dispositivos em USB no Clipper através da WAP

Mensagem por Maligno »

Será que seria viável fazer isso através de APIs e elaborar um LIB em C ?

Sempre existe uma possibilidade técnica. Agora, antes de entrar na questão de ser viável ou não, eu precisaria estudar cada caso. No que diz respeito ao leitor biométrico, por exemplo, precisaria de um leitor. Sei que você apenas citou exemplos, mas o teclado USB funciona de forma transparente no Windows. Não acho que faria diferença no DOS. Pelo menos com relação às impressoras, isso parece resolvido. A não ser no caso da tal Lexmark que o o Leonardo comentou. Mas se foi pro spooler, não há motivo para não funcionar. Acho que pode ter acontecido de terem testado com códigos não-específicos para essa impressora.

A questão ainda é flutuante, já que não há um "alvo" específico. A porta USB em si não representa o problema. O problema está no dispositivo. Minha resposta, portanto, fica no ar. Quando tiver um dispositivo "alvo" a atacar, aí sim eu poderia dar uma resposta mais objetiva. Por ora, a resposta é: à primeira vista é viável. :)
[]'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
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

ilovewindev escreveu:No consegui linkear la libreria sin tener error en tiempo de ejecucion (Error 6003)
In my earlier example I oriented you to link the file CT52.LIB. The CATools library has a bug that generate the error R6003 in faster machines. To fix it, you need actualize that library. In the "pub" area of my site (link in my signature), directory clipper/libs, download the patcher catools3_patch_l_3.zip to kill the problem. Try it. If the problem persist, warn us.
con lo que pueda enviarle datos a un servidor DDE (Dynamic Data Exchange) escrito en Windows
To answer your question I need to research a bit more about DDE (or even OLE). But, I think that's not so problematic to do in Clipper throught WAPI. I'll see and I'll return to this matter soon.
[]'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á

Mensagem por Pablo César »

Mas se o teclado USB funciona de forma transparente no Windows, como faria para capturar essa bufferização ?.
A questão ainda é flutuante, já que não há um "alvo" específico. A porta USB em si não representa o problema.
Mas tudo que entra pela USB, pode ser escrito em arquivo por exemplo ?. Também haveria de identificar qual é a porta, isto é, USB001, USB002, etc. acho que é assim a identificação.

Quanto a questão DDE ou OLE, isto possibilitaria a aplicações Clipper acessar um .mdb ou até mesmo uma planilha Excel ? Ou então qual seria a finalidade disso ?
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 »

Pablo César escreveu:Mas tudo que entra pela USB, pode ser escrito em arquivo por exemplo ?
Imagine o seguinte: você tem um hub USB com 10 portas, nas quais estão conectados 10 dispositivos totalmente diferentes. Você não manipular porta alguma. O Windows, ao detectar essas portas, vai identificar cada uma delas de maneira única e associar um certo driver a cada uma delas, conforme for o tipo do dispositivo. Por isso, se for, por exemplo, um teclado, ele não vai funcionar sem um software apropriado que receba os códigos vindos pela USB e injete-os no buffer do teclado, como se tivessem sido realmente digitados. Nunca vi teclado desse tipo, mas acredito que, sendo uma máquina virtual (NT), o DOS receba esses códigos de tecla normalmente.
Também haveria de identificar qual é a porta, isto é, USB001, USB002, etc. acho que é assim a identificação.
A identificação é diferente, mas isso é matéria apenas para o SO. Não tem muita importância pra nós.
Quanto a questão DDE ou OLE, isto possibilitaria a aplicações Clipper acessar um .mdb ou até mesmo uma planilha Excel ? Ou então qual seria a finalidade disso ?
Comentei sobre OLE por comentar. Na verdade, o DDE me parece ser bem mais fácil de utilizar (é mais antigo), apesar de não ter muita experiência com nenhum deles. OLE também se presta a isso, claro, mas acho o DDE mais "amigável". Inclusive, a aplicabilidade é interessante. Por DDE você poderia, por exemplo, preencher uma certa célula do Excel com um valor qualquer.
[]'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á

Mensagem por Pablo César »

Quando fui ver por segunda vez sua mensagem tinha sumido... hihi (você a estava re-editando).
Maligno escreveu:Você não manipular porta alguma. O Windows, ao detectar essas portas, vai identificar cada uma delas de maneira única e associar um certo driver a cada uma delas
Pois é, mas essa associação podia ser forçada para que o conteúdo vindo de determinada porta venha a ser gavado em arquivo texto ? Digamos.
Maligno escreveu:A identificação é diferente, mas isso é matéria apenas para o SO. Não tem muita importância pra nós.
Se for atribuir uma função uma determinada porta, com certeza terá um nome essa porta, certo ?.
Maligno escreveu:você poderia, por exemplo, preencher uma certa célula do Excel com um valor qualquer.
A isso a que me referia. Inclusive gravar em .mdb ?
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 »

Pois é, mas essa associação podia ser forçada para que o conteúdo vindo de determinada porta venha a ser gavado em arquivo texto ? Digamos.
Sim, poderia, mas não parece ter muita utilidade.
Se for atribuir uma função uma determinada porta, com certeza terá um nome essa porta, certo ?.
Com certeza. Será um nome do tipo USB34098DUTU2938FH23, como o Windows costuma fazer. :)))
Inclusive gravar em .mdb ?
Que eu saiba não diretamente no banco de dados. Aí você utilizaria OLEDB, por exemplo. Talvez por meio do próprio Access. Talvez. :)
[]'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!
ilovewindev
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 24 Jul 2007 09:44
Localização: Argentina

Mensagem por ilovewindev »

Pablo Cesar,

con DDE se crea una comunicacion Cliente - Servidor entre dos programas con lo que se podria desde el programa Clipper pedirle al programa Servidor que muestre datos procesados en clipper con un formato mas Windows, generar reportes de cualquier tipo con preview, exportar los datos a cualquier formato, leer datos de un dispositivo y enviarlos de la aplicacion servidor a la aplicacion clipper, etc. Inclusive armar un menu bajo windows que llame a pantallas de carga en el programa Clipper y vuelva al menu una vez concluido. Los procesos de migracion de los sistemas en clipper a otra herramienta de desarrollo serian un placer (esto sin desmerecer a clipper), pero la vida de clipper se podria extender varios años mas.

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

Si entiendo, lo más interesante que desde el aplicativo Clipper se pueda leer datos de un dsipositivo y exportar tambien para cualquier formato. Seria estupendo, esperamos que Maligno pueda realizar este milagro.
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 »

Terminei a função de encerramento de aplicações. Testada tanto no XP quanto no Win98, ela pode receber o handle de uma aplicação específica ou o nome do seu arquivo executável. Neste último caso, se existirem, por exemplo, duas instâncias do NotePad, todas serão fechadas. E esse fechamento é imediato. Logo, se os dados não tiverem sido gravados, serão perdidos.
[]'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
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Em tempo: só vou liberar o novo ZIP na madrugada de segunda. Vou fazer mais algumas coisas na WAPI. :)
[]'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á

Mensagem por Pablo César »

Ok Maligno, good working for you !

Revisando os novos tópicos abertos desde o meu ultimo acesso, me interessei em saber e concordar que em alguns clientes que utilizam-se de protetores de tela (do próprio Windows), não só atrapalham como também tornam o ambiente pesado (lento). Aí pergunto Maligno: tem como fazer para desabilitar o protetor de telas do Windows através de APIs ?
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 »

Boa idéia. Tanto tem que já incluí na TODO list. :)
[]'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
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Lista de funções removidas. Procure-a numa mensagem mais nova.
Editado pela última vez por Maligno em 21 Jan 2008 10:48, em um total de 3 vezes.
[]'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á

Mensagem por Pablo César »

Parabéns Maligno. Testei as duas novas funções em modo RUNTIME e funcionou como esperado. O único que tenhoa comentar é sobre dois errinhos que notei no WAPI.C nas seguintes funções:

-SCREENSAVER:{GET|SET};{resultFile|{ON|OFF}}
* Lê o estado do screenSaver ou o reconfigura. O primeiro parâmetro deve ser a palavra de
* definição da tarefa, conforme se queira ler (GET) ou configurar (
GET)... sendo que era para ser SET

-KILLAPPLICATION:<handle>[;<fileName>] ficou faltando a letra "L"

Era isso o único que pude criticar... hehe... Dei-me conta dos erros de escrita porque eu sempre gosto de ler o arquivo WAPI.C

Estas duas novas funções, ficaram muito bom. E inclusive em WIN98. Valeu Maligno. Essa funçãod do SCREENSAVER eu já vou usar na minha BATCH para desabilitar esse protetor de tela que as vezes trava e incomoda.
Editado pela última vez por Pablo César em 06 Ago 2007 22:39, 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.
Responder