Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
12 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 12 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Últimos assuntos
Bloquear edição do ListBox

17/6/2010, 15:13 por Julio

Pessoal

Boa Tarde!

Tnho uma listbox apenas para exibir o resultado.
Preciso bloquear a listbox …

Comentários: 17

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: 0

COMO ESTÃO DESENVOLVENDO EM WEB?

22/8/2016, 10:48 por AJC

Pessoal, já lí sobre vários topicos aqui no forum sobre desenvolvimento web
mas ainda nada …

Comentários: 2

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: 0

dll pertocheck

15/12/2016, 12:45 por FERNANDOMATRELLA

Alguem teria ja desenvolvido a comunicação com essa dll estou tento muito trabalho aqui e nenhum …

Comentários: 1

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

Os nossos membros postaram um total de 3 mensagens em 1 assuntos

impressao duplex hp

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

impressao duplex hp

Mensagem por Rosangela Pires em 9/4/2016, 04:24

Amigos,

Sei que o código para impressao duplex na hp lazer é chr(27)+"&l1S".
Como aplico ele em um relatorio, gerado por código, no visual fox pro.
ex.:

select tabela

do while .not. eof()

a = tabela.nome

? a

skip

enddo

Rosangela Pires

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 22/4/2016, 15:05

Amigos.

Encontrei a dica abaixo que resolveu meu problema de impressão duplex para Hp lazer :

1-Crie um segundo arquivo de texto chamado Hpprint.txt que contém estas linhas:

DEVICE=HP LaserJet IIID
OUTPUT=LPT2:
ORIENTATION= 0
PAPERSIZE=1
DEFAULTSOURCE=7
DUPLEX=2

2-Crie um prg chamado Runrpt.prg e digite o seguinte código:

USE Myreport.frx && Open the FRX as a table
LOCATE FOR Objtype = 1 AND Objcode = 53 && find the record that holds
** the printer information. For more information on the Table Structure
** of an .FRX file, see 'Table Structures of Table Files' in Help.

REPLACE Tag WITH "" && Remove any Printer codes that may be stored in
** the Tag memo

REPLACE Tag2 WITH "" && Remove any Printer codes that may be stored in
** the Tag2 memo

APPEND MEMO Expr FROM Hpprint.txt OVERWRITE && Replace any printer
** setting already there with the HP IIID Settings

USE && Close Myreport.frx
SET PRINTER TO NAME 'HP LaserJet IIID'
REPORT FORM Myreport TO PRINT NEXT 60 && Send the report to the
** HP IIID printer using the printer attributes specified in the
** Expr memo field.

USE Myreport.frx && Open the FRX as a table
LOCATE FOR Objtype = 1 AND Objcode = 53 && find the record that holds
** the printer information

APPEND MEMO Expr FROM Panprint.txt OVERWRITE && Replace any printer
** setting already there with the Panasonic KX-P1180 Settings

USE && Close Myreport.frx
SET PRINTER TO NAME 'Panasonic KX-P1180'
REPORT FORM Myreport TO PRINT NEXT 60 && Send the report to the
** Panasonic KX-P1180 printer using the printer attributes
** specified in the Expr memo field.

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 23/4/2016, 00:14

Amigos, como informei no post anterior encontrei um código que imprime Duplex Hp Lazer.
No meu projeto existe uma Tabela no Data Environment que gerencia todos os dados do formulario.
Acontece que após executar o código para impressão em Duplex me é apresentado erro informando que a TABELA não foi mais encontrada.
Já tentei fechar e reabrir o banco de dados sem sucesso.

Como consigo resolver isso.

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 2/5/2016, 18:44

Amigos,

Ainda não consegui resolver o problema do fechamento da tabela encontrada no Dataenvironment do formulario, acho que a instrução USE do código de impressão duplex está causando o erro. Como reabrir a tabela após o uso deste código. Alguem me HELP !!!!!!!!!!!

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 12/5/2016, 15:38

Amigos,

Vou pedir meu desligamento do Forum.

Ninguem me ajuda.

Meus amigos que sempre me respondiam me abandonaram.

Nem para dizer que não tem solução...

Vou partir a mala já está lá fora....

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por lardecristo em 13/5/2016, 12:46

Bom vamos lá.

Você já passou o PRG no seu relatório certo?

Se sim, tente o seguinte, feche tudo e abra o VFP com o sistema que tem o relatório, rode-o sem executar novamente o PRG, o que acontece?

lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 13/5/2016, 13:40

Amigo Lardecristo,

Não entendi o que você instruiu.

O codigo não esta em um prg e sim dentro de um botão dentro do formulario de emissão de relatorios. Como disse neste formulario no dataenviroment existe um tabela que abastece o formulario nas grids e campos. Após executar este botao de impressão e no retorno da instrução ocorre o erro dizendo que a tabela não é mais encontrada. Como informei suponho que a instrução USE neste codigo de impressão fecha as tabelas do DATAENVIROMENT de uma olha no codigo e você encontrara o comando USE quase no final dele.

ROSANGELA

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por lardecristo em 13/5/2016, 16:03

[Você precisa estar registrado e conectado para ver este link.] escreveu:

2-Crie um prg chamado Runrpt.prg e digite o seguinte código:


Por isso falei do PRG... Smile

Mas vamos lá, no botão somente execute o relatório, e mais nada..

REPORT FORM...

E veja se ocorre o erro.

lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 13/5/2016, 19:49

Amigo Lardecristo,

Ao executar somente o comando padrão de emissão de relatorio :

Código:
Report Form MyReport Preview ....
não ocorre erro alguem, roda perfeitamente. Agora quando tendo rodar pelo codigo que encontrei para DUPLEX, que é o que necessito, ocorre o tal erro de fechamento da tabela. Como falei este codigo não esta em um prg é sim no click de um botão dentro do formulario:
Código:
Hpprint.txt =  Arquivo Texto com as configurações de impressão
DEVICE=HP LaserJet
OUTPUT=LPT2:
ORIENTATION= 0
PAPERSIZE=1
DEFAULTSOURCE=7
DUPLEX=2
*****************************************************************

USE Myreport.frx && Open the FRX as a table
LOCATE FOR Objtype = 1 AND Objcode = 53 && find the record that holds
** the printer information. For more information on the Table Structure
** of an .FRX file, see 'Table Structures of Table Files' in Help.
REPLACE Tag WITH "" && Remove any Printer codes that may be stored in
** the Tag memo
REPLACE Tag2 WITH "" && Remove any Printer codes that may be stored in
** the Tag2 memo
APPEND MEMO Expr FROM Hpprint.txt OVERWRITE && Replace any printer
** setting already there with the HP IIID Settings
USE && Close Myreport.frx  ->AQUI É QUE ACHO QUE A TABELA É FECHADA
SET PRINTER TO NAME 'HP LaserJet'
REPORT FORM Myreport TO PRINT NEXT 60 && Send the report to the
** HP IIID printer using the printer attributes specified in the

Ao finalizar neste ponto retorno para o formulario.

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por lardecristo em 13/5/2016, 23:28

Rosângela, o comando USE que você marcou não gera o problema, porque o mesmo está no escopo da abertura do USE MyReporter.frx, mas vamos mudá-lo só por garantia.

Farei duas mudanças no código, copie o mesmo para o Click do botão.
Código:
USE Myreport.frx && Open the FRX as a table
LOCATE FOR Objtype = 1 AND Objcode = 53 && find the record that holds
** the printer information. For more information on the Table Structure
** of an .FRX file, see 'Table Structures of Table Files' in Help.
REPLACE Tag WITH "" && Remove any Printer codes that may be stored in
** the Tag memo
REPLACE Tag2 WITH "" && Remove any Printer codes that may be stored in
** the Tag2 memo
APPEND MEMO Expr FROM Hpprint.txt OVERWRITE && Replace any printer
** setting already there with the HP IIID Settings
USE IN SELECT("MyReporter")&& Close Myreport.frx  ->AQUI É QUE ACHO QUE A TABELA É FECHADA
SET PRINTER TO NAME 'HP LaserJet'
REPORT FORM Myreport TO PRINT && Send the report to the
** HP IIID printer using the printer attributes specified in the

Para mim o erro está na linha do REPORT FORM Myreport na verdade é o comando NEXT 60 por isso eu o tirei, mas isso só você testando para me dizer se resolveu.

A mudança no comando USE foi para garantir o fechamento do alias correto, ou seja, não importa o que está aberto, ele sempre tentará fechar o alias "MyReporter", aqui é um "trick" para o VFP...

PS.: Este comando USE IN SELECT("Cliente"), por exemplo, é a forma mais simples de se fechar um arquivo aberto, e também garante que não será gerado um erro, explico melhor, sempre que desejamos fechar um arquivo fazemos primeiro a checagem se ele está aberto (código 1), porque se não verificarmos o VFP gera um erro (código 2) caso o mesmo já esteja fechado ou não tenha sido aberto, mas usando o comando acima, a tabela estando ou não aberta ele executa-o sem gerar um erro.
Código 1
Código:
IF USED("Cliente") THEN
    SELECT("Cliente")
    USE
ENDIF

Código 2
Código:
SELECT("Cliente") && Gera um erro aqui se a tabela não estiver aberta
USE

Um outro teste é executar o click do botão sem o REPORT FORM, fechar tudo, e depois só o REPORT FORM, por que assim?? Porque desta forma você terá o seu relatório alterado para os parâmetros desejado e o teste depois?? Para testar o relatório sem os comandos de mudança, mas o relatório já modificado, mas lembre-se é importante passar o processo de alteração do relatório para que vejamos realmente funcionar sem problema.

lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 14/5/2016, 00:24

Amigo Lardecristo,

Vou testar suas alterações e retorno resultado.
Agradeço sua atenção para a solução do problema.
Obrigado.

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 14/5/2016, 01:57

Amigo Lardecristo,

Infelizmente o erro continua.

Tentei colocar na posição abaixo um browse para ver se a tabela esta ativa e já aqui o errro ALIAS CADASTRO (Cadastro = nome da tabela no dataenvironment), já se manifesta : (INCLUSIVE A GRID NO FORMULARIO QUE MOSTRA OS REGISTRO DA TABELA CADASTRO FICA BRANCA SEM NENHUM DADO)
***************************************************

USE Myreport.frx && Open the FRX as a table


SELECT CADASTRO && JÁ AQUI O ERRO SE MANIFESTA
BROWSE

LOCATE FOR Objtype = 1 AND Objcode = 53 && find the record that holds
** the printer information. For more information on the Table Structure
** of an .FRX file, see 'Table Structures of Table Files' in Help.
REPLACE Tag WITH "" && Remove any Printer codes that may be stored in
** the Tag memo
REPLACE Tag2 WITH "" && Remove any Printer codes that may be stored in
** the Tag2 memo
APPEND MEMO Expr FROM Hpprint.txt OVERWRITE && Replace any printer
** setting already there with the HP IIID Settings
USE IN SELECT("MyReporter")&& Close Myreport.frx ->AQUI É QUE ACHO QUE A TABELA É FECHADA
SET PRINTER TO NAME 'HP LaserJet'
REPORT FORM Myreport TO PRINT && Send the report to the
** HP IIID printer using the printer attributes specified in the

*******************************************************

Vou procurar uma outra maneira de emitir DUPLEX, apesar que já pesquisei bastante por esta solução.

Agradeço sua ajuda.

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por lardecristo em 14/5/2016, 09:35

A linha do SELECT realmente vai dar o erro, porque ao abrir o formulário com USE ele não abre como relatório, ele abre o mesmo como uma tabela normal.

Você testou a segunda sugestão que coloquei?

lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 14/5/2016, 14:22

Amigo Lardecrito,

Mesmo com a segunda solução o erro continua.

Vamos dar um tempo, vamos esfriar a cabeça.

Deve existir uma maneira mais facil de configurar a Impressora para Duplex via código, vou continuar procurando.

Como já disse, agradeço muito sua atenção na tentativa de solucionar e me ajudar na solução do erro.

Obrigado.

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 14/5/2016, 16:20

Amigo Lardecristo,

Futucando e pesquisando descobri que colocando SELECT 0 no inicio do código e SELECT 1 no final, o código roda sem erros.

Você pode me explicar o que o SELECT 0 e 1 fizeram para resolver meu problema ?

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por lardecristo em 14/5/2016, 22:37

Bom vamos lá, as explicações.

1 - SELECT 0 - O ZERO na frente do comando indica ao VFP que ele deve ir para uma área nova, ou seja, uma área que não tem tabela aberta.

2 - SELECT 1 - O UM na frente indica para ir a área 1, no seu caso esta área é a que está aberta a tabela "tabela" (estou usando o mesmo nome que você deu no primeiro post). O comando SELECT permite que você use o nome do alias da tabela ou um número de área, você pode ter várias tabelas abertas ao mesmo tempo, e cada uma delas recebe um número de área.

Exemplos
SELECT("Tabela")
SELECT("Cliente")
ou
SELECT 1
SELECT 10
SELECT 20

Explicando porque deu o erro e porque a solução resolveu.

O Erro ocorreu porque a sua tabela não está sendo aberto no relatório e sim em alguma lugar do form, então quando você usava o comando USE Myreporter.frx, o mesmo fechava a tabela do relatório.

A solução resolveu porque ao colocar SELECT 0 antes do USE Myreporter.frx, ele vai para uma nova área e abre a tabela sem fechar a anterior.

Então vamos ao código novo.
Código:
USE Myreport.frx IN 0 && Open the FRX as a table

LOCATE FOR Objtype = 1 AND Objcode = 53 && find the record that holds
** the printer information. For more information on the Table Structure
** of an .FRX file, see 'Table Structures of Table Files' in Help.
REPLACE Tag WITH "" && Remove any Printer codes that may be stored in
** the Tag memo
REPLACE Tag2 WITH "" && Remove any Printer codes that may be stored in
** the Tag2 memo
APPEND MEMO Expr FROM Hpprint.txt OVERWRITE && Replace any printer
** setting already there with the HP IIID Settings
USE IN SELECT("MyReporter")&& Close Myreport.frx  ->AQUI É QUE ACHO QUE A TABELA É FECHADA

SELECT("Tabela")  && Aqui é para voltar a tabela que você usa no reporter

SET PRINTER TO NAME 'HP LaserJet'
REPORT FORM Myreport TO PRINT && Send the report to the
** HP IIID printer using the printer attributes specified in the

Com o comando USE Myreport.frx IN 0 não será necessário o SELECT 0, porque o IN 0 já faz a seleção em uma área nova. Você pode usar isso sempre para abrir as tabelas, isso garantirá que não será fechada outra por abrir em uma mesma área, mas lembre-se todas as outras tabelas estarão abertas.

lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 15/5/2016, 01:19

Amigo Lardecristo,

Obrigado pela ajuda e pela explicação do SELECT.

Já tive problemas com este tipo de erro e desisti de algumas rotinas por não saber resolver.

Agora vai ficar mais facil resolve-los.

Muito obrigado mesmo pela sua ajuda.

[]´s

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 17/6/2016, 05:21

Amigo Lardecristo,

Consegui o código abaixo que não necessita usar o TXT na pasta do projeto, sendo assim mais simples de se usar.
Contudo ao executar me é apresentado o erro :

Cannot update the cursor MyReport, since it is read-only
*************************************************


USE myreport.frx
LOCATE FOR ObjType=1 AND ObjCode=53
REPLACE ;
Tag WITH "",;
Tag2 WITH "",;
Expr WITH "ORIENTATION=1"+CHR(13)+CHR(10)+"COPIES=4"
USE

Já tentei tudo o que sei para resolver e não consegui exito. Você pode me ajudar em mais este problema.

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 17/6/2016, 05:30

Amigo Lardecristo,

A rotina sendo executada pelo projeto não acontesse o erro. O erro só
existe ao gerar o executavel e executa-lo.

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por lardecristo em 19/6/2016, 09:45

Olá Rosangela,

O seu relatório está incluso no projeto do sistema? Se sim, click com o botão direito sobre ele, e selecione "Exclude".

lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 19/6/2016, 20:35

Amigo Lardecristo,

Sua dica funcionou !!!!!

Agora, eu apliquei a mesma rotina em outro projeto que tenho já finalizado e o erro não ocorrreu.

O que faz esse clique no EXCLUDE com o formulário ?

Devo marcar todos os formularios que criar com EXCLUDE para evitar este erro ?

Obrigado pela ajuda e solução.

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por lardecristo em 19/6/2016, 22:03

Olá, então o "Exclude" remove o mesmo do EXE gerado ao compilar.
Eu, por exemplo, tiro todos os meus RELATÓRIOS, deixando assim o meu EXE menor e também me facilita ao fazer manutenção no relatório, porque eu posso faze-la e depois enviá-lo, sem precisar reenviar o EXE.

PS.: Você pode excluir qualquer coisa do projeto, mas é preciso lembrar que o mesmo precisa ser enviado junto no instalador.

Conheço um projeto que os caras tiram até alguns form´s (telas).

Neste projeto eles possuem uma estrutura central e uma área que permite personalizar ao cliente as telas no local ou via remota.

Vou tentar ser mais claro... Smile quando você executa o comando DO FORM ele pode executar um SCX externo ou seja, não preciso estar dentro do EXE, isto é algo poderoso que o VFP tem, é como você programar para WEB em PHP, você não compila o arquivo só coloca na pasta e o chama.

Espero que eu tenha sido claro, se tiver alguma dúvida é só perguntar...

Abraços... Smile

lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 19/6/2016, 23:35

Amigo Lardecristo,

Apliquei sua orientação e funcionou. Acho que tambem vou adotar este modo de retirada dos relatorios dos projetos, realmente fica muito mais facil a atualização.

Contudo como informei anteriormente apliquei o mesmo codigo em outros 02 projetos que tenho e o erro não existiu.

Não querendo ser chata.

Porque que neste caso eu tenho que retirar o relatorio do projeto para que ele funcione corretamente ?

Você sabe me explicar ?

Desculpe a minha insistencia.

Rosangela


Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por lardecristo em 20/6/2016, 11:21

O que sei é que se o relatório quando não retirado do projeto, está dentro do EXE, ele fica como "somente leitura", ou seja, você não consegue acessá-lo como um arquivo DBF ou DBC, ao retirá-lo o sistema permite abri-lo normalmente.

Não sei se tem algum flag no projeto que modifique este tipo de comportamento.

Nos dois casos você mandou externamente o relatório ou não? Porque perguntou, se nos projetos que não deram erro você mandou o mesmo externamente, pode ser o motivo de não dar o erro, isso cabe uma analise dos arquivos enviados e testes.

lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Re: impressao duplex hp

Mensagem por Rosangela Pires em 20/6/2016, 13:11

Amigo Lardecristo,

Ok. Entendi tudo.

Nos projetos que apliquei o codigo os relatorios estam contidos no EXE.

Eu nem sabia que existia essa possibilidade.

Vou tentar descobrir o porque que não dá erro.

Obrigado pela sua ajuda.

Aprendi mais coisas sobre o Visual Fox. Coisas que não se encontra facilmente na internet.

Obrigada mesmo.

Abraços.

Rosangela

Rosangela Pires
Participa Bastante
Participa Bastante


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