WAPI v1.05 - Funções da API do Windows
Moderador: Moderadores
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Ahhh é ? Quê igênuo eu fui. Claro agora entendo, esses fontes são os que compõem a LIB. Tá certo, eu tinha pensado isso no começo e depois me confundí. Mas é claro, agora faz sentido. Puxa... fui tolo em não perceber isso. Só pode !.
Editado pela última vez por Pablo César em 07 Ago 2007 15: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.
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.
Mudando de assunto:
Eu estava protelando colocar isso no WAPI, mas não tive escapatória. Vou ter que alterar o utilitário WAPI.EXE, mais precisamente na função do parâmetro PRINT, para poder fazer impressão parcial, da página X a Y, ou mesmo uma lista de páginas, em certa quantidade de impressões e com possibilidade de impressão com ordem invertida. De forma semelhante ao que se faz no Windows. Já estou trabalhando nisso e à noite deve ficar pronto. Alguma sugestão? Aproveite que estou com a mão na massa.
Eu estava protelando colocar isso no WAPI, mas não tive escapatória. Vou ter que alterar o utilitário WAPI.EXE, mais precisamente na função do parâmetro PRINT, para poder fazer impressão parcial, da página X a Y, ou mesmo uma lista de páginas, em certa quantidade de impressões e com possibilidade de impressão com ordem invertida. De forma semelhante ao que se faz no Windows. Já estou trabalhando nisso e à noite deve ficar pronto. Alguma sugestão? Aproveite que estou com a mão na massa.
[]'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!
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!
Acontece mas melhores famílias. Às vezes eu também tenho uns "brancos" que até me dão vergonha.fui tolo em não perceber isso. Só pode !.
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Wauu legal ! E dá pra fazer isso ? Qual seria a referência ? O CHR(12) ?.Maligno escreveu:função do parâmetro PRINT, para poder fazer impressão parcial, da página X a Y
Puxa legal esse recurso. Legal mesmo !ou mesmo uma lista de páginas, em certa quantidade de impressões e com possibilidade de impressão com ordem invertida.
Maligno você não se ofende se eu passar essa idéia pro MarcosV fazer no seu aplicativo ? No final, eu ja não sei com o quê ficar... É que a formatação feita de forma variavel, me interessa muito sem precisar de comando algum de impressão. A idéia que eu passei pro Marcos sobre seleção da fonte, modo de impressão (rascunho/otimizado), orientação do papel (paisagem/retrato) e tamanho e modo das fontes (normal/negrito), utdo isso ajudaria muito.
Então se não for muito pedir... ao menos faça a orientação do papel (se possível).
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.
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.
Não. O CHR(12) é comando de ejeção. Ele sempre fica no final da página. Eu preciso de um código no início. E como ele não será repassado ao spooler, vou escolher depois um código qualquer.Pablo César escreveu:Wauu legal ! E dá pra fazer isso ? Qual seria a referência ? O CHR(12) ?.
Imagina, Pablo. Nem precisava perguntar. A idéia nem é minha. Só estou copiando o que vemos no Windows todos os dias.Maligno você não se ofende se eu passar essa idéia pro MarcosV fazer no seu aplicativo ?
Como eu já disse pra você várias vezes, não é necessário isso tudo. Se você tiver um conjunto de funções de abstração para uso no seu programa, vai notar que tudo ficará muito simples. Aliás, vai notar também que só faltaria a impressão do modo que vou colocar no WAPI agora.Então se não for muito pedir... ao menos faça a orientação do papel (se possível).
Ademais, acho o esquema dos programas do Marcos e do Heveraldo, só pra citar dois, um tanto amarrado. Se fosse fazer assim, deixaria a criação das tags por conta de quem vai usar o programa. Não digo apenas com relação aos nomes em si, mas também a quais tags seriam criadas e a quais códigos elas seriam vinculadas. Seria mais ou menos o que eu tenho hoje no meu programa. Mais dinâmico, entende?
Sem falar, claro, que eu jamais usaria o modo gráfico. Só texto mesmo, como faço hoje.
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Maligno, como eu disse antes, irei testar a WAPI.LIB e fiz assim:
Rapaz... ele deletou ja vários arquivos mas em ambos os casos, não colocou na lixeira do Windows (WIN98). Em contra-partida, fiz o teste na linha de comando com WAPI.EXE e funcionou normal.
Estaria eu fazendo algo errado ? Ahh e também me aconteceu que depois de executar os dois exemplos de funções da WAPI.LIB, o cursor fica ativo e não tem "xHarbour" que possa desativar...
Código: Selecionar todos
RunWAPICmd("-SENDTORECYCLEBIN:"+Quote(VDIR+"\"+VCAIX[nCurElement])+";TESTE.TXT")
* e também assim:
IF DEL2RECBIN(VDIR+"\"+VCAIX[nCurElement])=.T.
ALERT("Arquivo "+VCAIX[nCurElement]+" deletado com sucesso !.")
ENDIFEstaria eu fazendo algo errado ? Ahh e também me aconteceu que depois de executar os dois exemplos de funções da WAPI.LIB, o cursor fica ativo e não tem "xHarbour" que possa desativar...
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.
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.
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Tche, Pablo.....o que tem Haver o xharbour com a Wapi ?...deixa pra lah...toh só brincando...não esquenta a cabeça com o xharbour...ele não morde,não desgasta, não desbota no sol.....hehe...Ahh e também me aconteceu que depois de executar os dois exemplos de funções da WAPI.LIB, o cursor fica ativo e não tem "xHarbour" que possa desativar...
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Só há duas formas do arquivo ser apagado e não ir pra lixeira: 1) a lixeira não está configurada para receber arquivos (parece que não é esse o caso) e 2) o nome do caminho não está sendo informado completamente.
Em todo caso, vou fazer uma nova checagem. Mas a princípio, posso adiantar que a função Del2RBin() funcionou perfeitamente. Veja o meu código de teste a seguir. Ele foi usado para teste no XP.
É um código meio tosco, mas funcionou certinho. 
Vou fazer outros testes e retorno a seguir.
Em todo caso, vou fazer uma nova checagem. Mas a princípio, posso adiantar que a função Del2RBin() funcionou perfeitamente. Veja o meu código de teste a seguir. Ele foi usado para teste no XP.
Código: Selecionar todos
function Main()
local cDir := "d:\work\wapi\demos\"
local aFil := {"tst1.xxx",;
"tst2.xxx",;
"tst3.xxx",;
"tst4.xxx",;
"tst5.xxx" ;
}
clear
AEval(aFil,{|c,i|aFil[i] := cDir+c})
Del2RecBin(aFil)
quitVou fazer outros testes e retorno a seguir.
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
De fato a minha varável VDIR está faltando a unidade (neste meu caso, deveria ser "C:"), e era isso mesmo. O caminho estava completo porém sem a identificação da unidade dá o resultando não esperado. Eu acho que essa questão da unidade poderia ser insentada, pois não para todas as estações a unidade sempre é a mesma LETRA, também nada impede de obter também a LETRA da unidade com VVOL:=SUBSTR(ALLTRIM(EXENAME()),1,2). No entanto se a WAPI verificar que esse arquivo existe, poderia insentar a unidade, você não acha Maligno ?Maligno escreveu:2) o nome do caminho não está sendo informado completamente.
E quanto a questão de retorno com o cursor em "ON" cómo será que resolvo isso ?
Editado pela última vez por Pablo César em 07 Ago 2007 17:55, 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.
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.
Então está resolvido o mistério. Não vou nem mais me preocupar em testar de novo.De fato a minha varável VDIR está faltando a unidade
Só posso dizer que isso não é coisa do utilitário WAPI. Provavelmente é algo relacionado ao RUN ou mesmo ao SwpRunCmd(). Mas isso não acontece comigo. Isso que o executor do WAPI.EXE não tem um "salvador" de estado do cursor, como já usei numa função minha para "sair" pro DOS, justamente pra evitar esse tipo de problema.E quanto a questão de retorno com o cursor em "ON" cómo será que resolvo isso ?
Se bem que isso deveria acontecer com qualquer função da biblioteca, já que o executor é sempre o mesmo. Acontece? E em qual SO?
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
O quê você acha ?Pablo escreveu:Eu acho que essa questão da unidade poderia ser insentada, pois não para todas as estações a unidade sempre é a mesma LETRA, também nada impede de obter também a LETRA da unidade com VVOL:=SUBSTR(ALLTRIM(EXENAME()),1,2). No entanto se a WAPI verificar que esse arquivo existe, poderia insentar a unidade, você não acha Maligno ?
Não sei ainda, pois estou avaliando a possibilidade de usar a WAPI.LIB ou o WAPI.EXE. Porque como eu disse, meu sistema é por módulos gerenciados através de uma batch, e este problema não transparece na linha de comando. SO ? WIN98 e XP, em ambos acontece o mesmo do cursor persistir. Talvez seja porque estou dentro de uma função controladora do ACHOICE ?. Achei estranho, ja que não é exibido em tela coisa alguma.Maligno escreveu:isso deveria acontecer com qualquer função da biblioteca, já que o executor é sempre o mesmo. Acontece? E em qual SO?
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.
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.
Eu acho que o problema é simples de resolver. Se você agora já sabe que deve incluir a letra do drive, basta não se esquecer de incluir a letra do drive.O quê você acha ?
O que de mais diferente poderia ser feito seria incluir um parâmetro lógico que, se verdadeiro, usaria o drive/caminho atualmente selecionado pelo programa. Este drive/caminho seria automaticamente incluído na linha de comando para o WAPI.EXE. Eu jamais usaria isso. Em todo caso,...
No WAPI.C eu não vou mexer. Acho que não é função dele fazer verificação e/ou suposição sobre a existência dos arquivos. E nem precisa. Pode-se resolver isso na biblioteca.
Façamos o seguinte: eu incluo na biblioteca um "salvador" de estado do cursor. Assim, quando for executar o WAPI, ele salva o estado e desliga o cursor. Ao retornar, ele restaura o estado e tudo volta a ser como antes.Achei estranho, ja que não é exibido em tela coisa alguma.
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Bom dia, benemérito colega !
Ahhh ora pois, acho que agora entendí. Você se refere a fazer uma nova função no WAPI ?. Tinha pensado que você estava caçoando de mim... ahhh com essa função acredito que irá resolver qualquer problema de cursor. Ou será que é uma questão do SO ? (espero que não). Se você quiser me mandar uma versão do WAPI de teste (já com essa função) eu vejo se resolveu, senão penso que não irá ter jeito...Maligno escreveu:Façamos o seguinte: eu incluo na biblioteca um "salvador" de estado do cursor. Assim, quando for executar o WAPI, ele salva o estado e desliga o cursor. Ao retornar, ele restaura o estado e tudo volta a ser como antes.
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.
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.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Maligno, gostaria de te perguntar sobre esse novo item que irás desenvolver:
- Funções de FTP: list, delete, upload, download, etc...
Você pensa incluir uma opção que verifique a existência de determinado arquivo ? Assim como existe o comando "ls" no FTP ?
Nessa questão do WAPI trabalhando em background (no tray, seria ?) teria como colocar essa nova função de FTP nesse recurso no tray ?
- Funções de FTP: list, delete, upload, download, etc...
Você pensa incluir uma opção que verifique a existência de determinado arquivo ? Assim como existe o comando "ls" no FTP ?
Nessa questão do WAPI trabalhando em background (no tray, seria ?) teria como colocar essa nova função de FTP nesse recurso no tray ?
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.
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.
Creio eu não ser necessário, uma vez que não é uma função propriamente. É apenas um recurso a mais no executor do WAPI, a função RunWAPICmd(). Uma variável guardará o estado do cursor e o fará invisível. No retorno, recupera-se esse estado. Só isso. Se funcionar (acredito que sim), ótimo. Se não funcionar, não fará mal algum.Se você quiser me mandar uma versão do WAPI de teste
Agora, o por quê disso acontecer eu não sei. É um mistério pra mim. Comigo não aconteceu nem mesmo uma única vez.
[]'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!
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!
