Usei esta função por anos, mas não lembro se eu testava se a impressora estava ligada. Mas pra todos efeitos acho que IsPrinter() significa Existe Impressora?
Então estando desligada Existe SIM Impressora.
Ser for o caso verifique os antigos comandos de impressão Set Printer ON pois acho que ao setar este comando ele teste e retorne algum erro que voce possa capturar e tratar.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
no dos quando vc usa o isprinter se ela tiver desligada nao a comunicaçao da mesma é como se nao tivesse conectada
ja isso nao acontece no harbour entendeu meu caro amigo rochinha
era pra no caso da impressora desligada da o retorno .f.
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina clipper 5.3 /harbour/minigui
Description
The IsPrinter() function is used to test if an application can pass print output to the operating system. This is usually the case when a print spooler is active. IsPrinter() cannot detect, if a physical printer is ready to print, since this is monitored by the operating system.
If a character string holding a particular printer name is passed, IsPrinter() returns .T. (true) if this printer is installed.
Note: under CA-Clipper (DOS), IsPrinter() checked the readiness of a physical printer. This is not possible with xHarbour's IsPrinter() function due to differences between DOS and modern operating systems.
Conforme o trecho apresentado pelo amigo Toledo, tudo no que tange impressão e impressora, passa pelo spool. A única forma de contornar e "talvez" obter uma informação direta com este comando seria configurar nas opções da impressora que o spool ficará desativado e a impressão é direta.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Permita-me um adendo: Acho que você esqueceu do ME. Até o ME (Windows Millenium) os Sistemas Operacionais Windows ainda eram baseados no MS-DOS. A partir do XP, a tecnologia passou a ser a NT (New Technology), e ai os recursos baseados em DOS se perderam...
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7 (Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Josivan Nascimento
O fato de você usar o comando citada não quer dizer que está imprimindo direto. O Windows continuará metendo o bedelho. O que se deve fazer é impedí-lo de fazer isto.
Teste esta função passada.
Porter
Faça o teste do IsPrinter() com impressora ligada e desligada, sendo que na configuração da saida de impressora esteja para pular o spool do Windows.
Jairo Maia
Se bem me lembro o ME foi a primeira tentativa de eliminar o Prompt do MS-DOS, to certo?
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
rochinha escreveu:Se bem me lembro o ME foi a primeira tentativa de eliminar o Prompt do MS-DOS, to certo?
Isso não me lembro. O que lembro é que quem tinha programas baseados em MS-DOS como em Clipper por exemplo, ficou de cabelo em pé até entender que o config.sys somente era lido e considerado as variáveis de ambiente. Variáveis de configuração como FILES=nFiles passou a ser definida no arquivo System.ini pela variável PerVMFile=nFiles.
O prompt do DOS é usado pelo suporte da Microsoft ainda até hoje. Há situações que só são resolvidas levando o usuário para o CMD. Mas realmente não deixou de ser uma preparação para passar a NT.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7 (Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Porter
Faça o teste do IsPrinter() com impressora ligada e desligada, sendo que na configuração da saida de impressora esteja para pular o spool do Windows.
olá Rochinha, fiz o teste, parei o Spooler de impressão no XP, e continua considerando sempre que a impressora está ligada, conectada.
Jairo Maia
As mudanças no ME, relacionadas a tentativa frustrada da Microsoft afim de matar o prompt, fizeram desta versão um pacote inútil. Nesta época surgiram as configurações não por arquivo de lote mas por arquivos .NT, lembra?, autoexec.nt e config.nt.
A Microsoft deu na verdade um tiro no pé e voltou atrás porque os administradores deste S.O. usam massissamente este recurso para configurações cirurgicas do mesmo e também porque os SDK .Net também precisariam fazer uso deste recurso.
Antes do ME tinhamos um Prompt de MS-DOS real e depois dele o que temos é um emulador.
Porter
Então podemos achar que isto seja incompatibilidade da função com o S.O. e não um bug.
E quanto a função que passei, fez o teste?
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.