Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
1 usuário online :: Nenhum usuário registrado, Nenhum Invisível e 1 Visitante

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
automação do mozilla e chrome

15/1/2017, 12:16 por Handerson Mildroz

Boa tarde a todos!

Sou iniciante no VFP. Preciso de ajuda, pois tenho um código que usa o …

Comentários: 1

ListBox

23/5/2017, 10:37 por Rosangela Pires

Ola Amigos.

Para se movimentar na grid com as setas colocamos no Metodo AfterChange da grid …

Comentários: 0

TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

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

Os nossos membros postaram um total de 12249 mensagens em 1552 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

Re: SET PRINTER

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


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