Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
25 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 22 Visitantes :: 2 Motores de busca

Clebervfp, Napster182, Rubens

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Erro de compatibilidade de cores

28/3/2017, 10:59 por Clebervfp

Boa dia, estou com um problema com vfp9, se alguém poder me ajudar fico agradecido!

Tenho um …

Comentários: 0

Espessura do cursor intermitente

7/3/2017, 09:08 por Jefferson Matakas

Bom dia a todos !!

Existe uma opcao no windows que pode ser acessada atraves da 'central da …

Comentários: 0

DESENVOLVIMENTO EM REDES

4/3/2017, 18:45 por AJC

Pessoal tem ou conhece livros ou material para programação em
redes usando banco de dados nativo …

Comentários: 0

USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 4

Como preencher campos vazios

9/2/2017, 11:55 por Linghston

Pessoal boa tarde,

É o seguinte, eu preciso preencher os campos de uma coluna da tabela DBF que …

Comentários: 2

Estatísticas
Temos 7040 usuários registrados
O último usuário registrado atende pelo nome de Napster182

Os nossos membros postaram um total de 32 mensagens em 18 assuntos

SET PRINTER

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

SET PRINTER

Mensagem por Rosangela Pires em 28/7/2015, 13:05

Amigos,

Estou com um problema.
Usei a função GETPRINTER() para pegar o nome da impressora que desejo a impressão de um relatorio.
Determino LcPrinter como Publica para que no Click do botão de impressão possa determinar o caminho.

Public LcPrinter
LcPrinter = ""
LcPrinter = GetPrinter()

No click do botão de impressão digitei o código:

Set Printer To Name (lcPrinter)
Report Form REPEMITECH To Printer Prompt Noconsole

Porem quando me é aberto o Prompt da Impressora, a impressora continua como Default do Windows, e não a determinada no Getprinter().
Se não uso o PROMPT na linha de impressão o relatório tambem não é direcionado para o GetPrinter() escolhido.

O que estou fazendo de errado ?
Alguem pode me ajudar.
avatar
Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: SET PRINTER

Mensagem por Rosangela Pires em 29/7/2015, 20:15

Amigos,
em artigo na internet encontrei um que diz que a função getprinter() não funciona em computador de 64 bits.
Alguem sabe como burlar isso., ou outra forma de selecionar a impressora destino.

Rosangela
avatar
Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: SET PRINTER

Mensagem por lardecristo em 30/7/2015, 10:41

GETPRINTER só traz o nome da impressora e não seleciona-a, ou seja, não altera a impressora para a selecionada na lista.

Experimente o seguinte
Código:

lcPrinter = GETPRINTER()
SET PRINTER TO NAME &lcPrinter
avatar
lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: SET PRINTER

Mensagem por Rosangela Pires em 31/7/2015, 03:23

Amigo LardeCristo,

Como mencionei no meu posto não consegui fazer GETPRINTER() funcionar. Em paginas na internet obtive informação que não funciona em 64 bits so em 32.
Porem em outro site encontrei um codigo que muda a impressora DEFAULT :

Código:
* New default printer
limpre12 = Nova Impressora
      lcPrinterName = (limpre12)
      * Save current Windows default printer in case we would want to restore it later
      lcSaveWinDefPrinter = Set("PRINTER", 2)

      *------------------------------------------

      * Windows API
      Declare Long GetLastError In WIN32API
      Declare Long SetDefaultPrinter In WINSPOOL.DRV String pPrinterName
      If SetDefaultPrinter(lcPrinterName) = 0
         * Error
         *? WinApiErrMsg(GetLastError())
      Else
         *? "New default printer: " + SET("PRINTER", 2)
         * ...
         * Restore default printer
         SetDefaultPrinter(lcSaveWinDefPrinter)
         *? "Restored default printer: " + SET("PRINTER", 2)
      Endif

      *------------------------------------------


      * WSH
      loNet = Createobject("WScript.Network")
      Try
         loNet.SetDefaultPrinter(lcPrinterName + "")
         *? "New default printer: " + SET("PRINTER", 2)
         *...
         loNet.SetDefaultPrinter(lcSaveWinDefPrinter)
         *? "Restored default printer: " + SET("PRINTER", 2)
      Catch To oExp When oExp.ErrorNo = 1429
         * Error
         *? oExp.ErrorNo, oExp.Message
      Endtry

      *------------------------------------------

      * WMI
      loLocator = Createobject('WBEMScripting.SWBEMLocator')
      * Local computer, logged on user
      loWMI = loLocator.ConnectServer()
      loWMI.Security_.ImpersonationLevel = 3        && Impersonate
      * Retrieve info about new printer
      loPrinters = loWMI.ExecQuery([Select * from Win32_Printer Where Name = '] + Strtran(lcPrinterName, [\], [\\]) + ['])
      * Check if new printer exists

      If loPrinters.Count > 0
         * FOR EACH loop is only way to access collection item(s)
         For Each loPrinter In loPrinters
            loPrinter.SetDefaultPrinter()
         Endfor

         lcS1 = Set("PRINTER", 2)

      ENDIF

Consegui resolver meu problema com isso.

Rosangela Pires
avatar
Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: SET PRINTER

Mensagem por lardecristo em 31/7/2015, 19:02

Rosangela Legal que achou a solução e obrigado por compartilhar, mas abaixo explico novamente o que postei anteriormente.

O GETPRINTER não muda a impressora padrão em nenhuma versão do Windows, ele só tem a intenção de trazer o nome da impressora selecionada no ComboBox (na lista que aparece), quem muda para outra impressora é o SET PRINTER... e ele também não muda a impressora padrão, ele somente direciona para a impressora com o nome dado, no caso do exemplo, a que o GETPRINTER retornou.

Agora fiquei na curiosidade de saber se o comando GETPRINTER não retornou para ti o nome da impressora selecionado na lista, assim que eu puder vou testar em uma máquina 64bits.

Abraços.
avatar
lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: SET PRINTER

Mensagem por Rosangela Pires em 31/7/2015, 19:52

Amigo LardeCristo,

Desculpe-me, não respondi corretamente seu post.
O Getprint() faz o que é proposto, ele traz o nome da impressora. Usei o SET PRINTER TO NAME (Nome da Impressora), só que não funcionou no meu projeto. Gostaria muito que ele funcionasse, pois evitaria o código, que não pequeno.
Como disse, encontrei em uma site não me lembro qual, algo dizendo que este comando não funciona em 64 bits, só em 32. Por isso procurei outra solução para resolver o meu problema.
Encontrei a solução postada.
Obrigado pela atenção.

Rosangela Pires
avatar
Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: SET PRINTER

Mensagem por Julio em 4/8/2015, 10:00

Bom dia, parabéns Rosângela por ter encontrado a solução e postado aqui.

Já tentei muitas vezes e o GETPRINTER(), muda e lista a impressora.

Mas não alterar a impressora padrão do windows.
Nunca consegui alterar via VFP.
Tenho a impressora1 como padrão no windows.
Utilizo o GETPRINTER() e escolho outra impressora tipo impressora2, até ja "setei" a impressora2 antes de imprimir com set default e o nome da impressora e nos meus testes sempre vai imprimir na impressora padrão do windows, impressora1.

Mas obrigado e vo testar tua solução.

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum