Imprimir tudo de uma só vez-Socorro

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

junniorlinux
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 08 Abr 2008 20:21
Localização: sp

Imprimir tudo de uma só vez-Socorro

Mensagem por junniorlinux »

ola pessoal. sou completamente novo no clipper e fiz um prog aqui
so pra testar mas o problema esta na hora de imprimir. eu to querendo
fazer o seguinte. eu faço o cadastro e no final dele eu ja quero mandar
imprimir tudo q esta naquela tela direto na impressora mas nao sei nem
como começar a fazer isso. gostaria q vcs me passassem algo codigo q faça
isso pq nao sei nada mesmo se puder ser passo-a-passo seria melhor... Valeu
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

A impressão para a impressora (parece pleonasmo, mas não é) é feita pelos comandos @... SAY (veja o manual para mais detalhes). Mas para que ela ocorra para a impressora, a saída deve ser direcionada para a impressora. Algo bem simples seria isso:

SET DEVICE TO PRINT
@ 0,0 SAY "Imprimindo para a impressora."
SET DEVICE TO SCREEN

Imprimir a tela toda já é uma outra história. Usa basicamente isso aí mesmo, mas exige mais alguns refinamentos, uma vez que para imprimir a tela toda, esta deverá ser capturada para um buffer e ter os atributos de cor suprimidos, para que restam apenas caracteres.

Conselho: não desgrude do NG. Ele é o manual do Clipper e só por ele você já terá condições de aprender bastante coisa. Dedique também algum tempo para ler os fontes que vêm junto com a instalação do Clipper.
[]'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!
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1298
Registrado em: 06 Jul 2004 00:44
Contato:

Mensagem por ANDRIL »

Dependendo dos fatores, ou seja, do windows e impressora (lpt1/USB) pode-se tentar usar a tecla PRINT SCREEN do teclado mesmo. Se ela nao estiver funcionando, o unico jeito de imprimir a tela fielmente, é a solução citada pelo Maligno fazendo uma captura dela e retirando os atributos.

Ou use mesmo os @... SAY e monte o relatorio da maneira que vc quiser.

Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Se bem que, imprimir a tela toda não parece ser algo muito útil. :)
[]'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!
junniorlinux
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 08 Abr 2008 20:21
Localização: sp

Mensagem por junniorlinux »

ai pessoal deixa eu explicar denovo pq acho q me expressei mal..rs
é o seguinte nao é a tela inteira q quero imprimir. eu sou novo no clipper e eu to com um orçamento aqui pra imprimir mas o q eu quero é digitar os dados nesse orçamento e quando eu chegar no final dele dai eu clico no botao imprimir e dai sai tudo q digitei impresso bonitinho so isso. mas so q eu nao sei como fazer isso e nem sei os codigo q uso tb pra isso entenderam. nao sei quais sao os comandos pra imprimir certo isso. se vcs tiverem um codigo pronto ai q vcs mesmo usam nos seus sistemas por ai acho q vai ajudar... valeu pela força de todos ai...rs
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Mensagem por rosalvo rosa »

Uma maneira prática de vc imprimir dados em um relatório, seria primeiro vc gravar os dados em arquivos .dbf ou grava-los em uma array.
No caso de vc ir gravando o que vc digitou em arquivo .dbf, vc poderá imprimir assim:

Código: Selecionar todos


set device to printer
Use arquivo.dbf
x:= 0
Go Top
While !Eof()
      @ 02+x,04 Say campo.dbf
       x++
       Skip
EndDo
eject
set device to screen
No caso de vc gravar os dados em uma array, faça assim:

Código: Selecionar todos

set device to printer
For x:= 1 To Len(nomeArray)
     @ 02+x, 04 Say nomeArray[1][1]
Next   
eject
set device to screen
se era isso, tá aí.
Manuel Luis Modernel
Usuário Nível 2
Usuário Nível 2
Mensagens: 66
Registrado em: 02 Mar 2008 20:40
Localização: São José do Rio Preto - SP

Mensagem por Manuel Luis Modernel »

Amigo, isto não é uma DUVIDA HIHIHIHI.

QUER O ENDEREÇO DE UM PROGRAMADOR PARA VC CONTRATAR E ELE FAZER PARA VC ??
OI Aqui é o Veio Modernel
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Mensagem por rosalvo rosa »

Eu acho que este forum está aqui prá isso: tirar dúvidas.

Se ela for simples ou complicada, fica subjetivada do ponto de vista de
quem a tem.

Também devemos incentivar aqueles que tem interesse de aprender. Que me parece ser o caso do autor de tópico.

As vezes, tem pessoas que perdem oportunidades. De ficarem quietas por exemplo.
Manuel Luis Modernel
Usuário Nível 2
Usuário Nível 2
Mensagens: 66
Registrado em: 02 Mar 2008 20:40
Localização: São José do Rio Preto - SP

Mensagem por Manuel Luis Modernel »

Rosalvo, sem querer polemizar no assunto, solicito da sua atenção para releer as mensagens do junniorlinux principalmente em algumas das suas citações:

"se vcs tiverem um codigo pronto ai q vcs mesmo usam nos seus sistemas por ai acho q vai ajudar... valeu pela força de todos ai...rs "

"gostaria q vcs me passassem algo codigo q faça
isso pq nao sei nada mesmo se puder ser passo-a-passo seria melhor... Valeu"

Dai reforço as Palavras escritas pelo Mestre Maligno:

"Conselho: não desgrude do NG. Ele é o manual do Clipper e só por ele você já terá condições de aprender bastante coisa. Dedique também algum tempo para ler os fontes que vêm junto com a instalação do Clipper. "

Quanto ao resto peço desculpas por ter mostrado minha irritação com tanta má vontade de APRENDER.
OI Aqui é o Veio Modernel
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Olá juniorlinux,
Bem vindo ao forum.
Se você ainda estiver com duvidas, pode usar tmb. a busca do forum que tem bastante exemplos e assuntos sobre impressão, pode procurar em exemplos tmb. de como usar o "@ prow(),pcol() say" para impressão. E tambem pode procurar aqui no forum mesmo de como usar comandos que podem ser usados em impressão como CHR(15) para Ativar Condensado e CHR(18) para Desativar Condensado...bom estudos.

Você pode deletar seu post que postou na sessão codigo fontes, basta esta logado no forum ir até o link abaixo e clicar no "X" no canto Direito do POST.
https://pctoledo.org/forum/viewtopic.php?t=7856

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

Amiguinho Manuel

Talvez não seja má vontade de aprender, mas talvez a falta da informação no momento em que se busca devido a necessidade de aprender algo que parece muito novo.

Como ele disse é super novo no Clipper e assim como os pais ajudam os filhos a andarem, percebam que eles ja querem correr no primeiro passo.

Na verdade, o JunniorLinux, tem tanta vontade de aprender que ja quer imprimir, sem saber que é necessário alguns passos antes deste ponto, pois em programação Clipper, impressão é básico, mas já é um passo avançado.

Vamos encoraja-lo a conhecer não a linguagem, mas a forma de programação, pois isto fascina e sem aprender não saberá escolher e conhecendo as dificuldades da linguagem ele aprenderá a lidar com os mesmos problemas em outros caminhos.
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.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

O aprendizado correto começa bem longe do computador. :)
[]'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!
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

Eu costumo dizer que: explicar o "óbvio" é muito difícil.... Mas o que é "óbvio" para uns é o "muito difícil" para outros...
Há muitos anos (muitos mesmo!!) o Clipper era "muito difícil" prá mim... rotinas de impressão, entre outras, tiravam meu sono... hoje ele - o Clipper - é, prá mim, "obvio"... e como diz o dito popular... "Depois que Colombo botou o ovo de pé..."

O caso do nosso amigo "principiante" JunniorLinux é muito comum (quem não tiver pecado que atire a 1a. pedra) por isso ele nos procurou... Quem manda este ser um dos melhores, senão o melhor forum da categoria ??
E afinal... o que estamos fazendo aqui ?? Para que serve esse fórum ?? Com raras exceções, todos nós, do mais novo membro ao Toledo, entramos aqui, pela 1a. vez para "perguntar", e mais, com a expectativa de obter uma resposta... ou várias.

Por favor caro Manuel Luis Modernel!! Não nos decepcione!! Que vc não tenha paciencia ou não tenha conhecimento suficiente para ajudar o colega, nós até entendemos... ninguém está obrigado a responder os questionamentos colocados aqui no fórum, seja qual ou de quem for. Lembre-se de que o seu 1o. post aqui no fórum foi tão "óbvio" quanto o do colega... lembra ?? "Lendo Arquivos .txt no Clipper Summer 87"

Caro JunniorLinux... sua pergunta é fácil de fazer mas não tão fácil de responder de imediato... rotinas de impressão, entre outras, envolvem uma série de variáveis que nem mesmo você, detentor da questão, saberia quais são...
Procure ser mais claro em seus questionamentos e não se preocupe em dizer que é "novato na linguagem" porque por sí só, nós, mais experientes, notaremos, pelo teor da pergunta, qual o nível de conhecimento que você tem da linguagem... o importante é, quando possível, responde-lo. Por outro lado, siga o conselho do colega Maligno, não pense que somente o fórum vai te ensinar a programar. Tenha em mente que "programação" é como a matemática.. quanto mais você exercitar, mais vai aprender, entretanto, para saber multiplicar precisa antes saber somar (sacou ??) e acredite... o melhor amigo do homem, não é o cachorro.. é o LIVRO !!
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Augusto escreveu:E afinal... o que estamos fazendo aqui ?? Para que serve esse fórum ?? Com raras exceções, todos nós, do mais novo membro ao Toledo, entramos aqui, pela 1a. vez para "perguntar", e mais, com a expectativa de obter uma resposta... ou várias.
Às vezes é mais interessante ensinar a não errar do que ensinar a acertar. Por isso disse que o aprendizado correto de uma linguagem de programação passa longe do computador. O imediatismo produz distorções que no futuro são muito difíceis de consertar. Conheço programadores com 20 anos de carreira que não tem um mínimo de visão na área. Por isso já disse várias vezes neste fórum que, mais importante que aprender a programar é aprender programação. Uma base frágil produz um vínculo perigoso com conceitos fracos (e/ou errôneos), o que limita o poder de atuação do profissional e compromete, claro, seu futuro, transformando-o numa espécie de robô programado para fazer apenas uma coisa: sistemas de informação. Se tentar sair disso, é frustração na certa.

Parafraseando o colega Rochinha, os pais tendem a ajudar seus filhos a caminhar mas eles já querem correr logo nos primeiros passos. O desejo de resultados rápidos é inerente ao ser humana. Mas, alongando a metáfora, posso dizer que os pais devem conter os filhos e ensiná-los dar passos firmes antes de uma primeira corrida. Por passos firmes, e voltando à programação, entenda-se adquirir a carga de conhecimentos iniciais, necessários para exercer essa complexa atividade. Não é pouca coisa. E não é, tampouco, começando a imprimir orçamentos. Daí minha sugestão inicial, de começar a aprender longe do computador.

Mas agora deixo duas ressalvas. Primeiro: pode não ser a intenção do OP. Ele é soberano em suas decisões, mas essa dissertação não é apenas para ele, claro. É um extrato do que eu próprio passei enquanto auto-didata iniciante. Segundo: infelizmente, nem sempre é possível começar nessa área do jeito correto. Há casos especiais.

Triste é a constatação de que não é fácil encontrar (se é que existe) na Internet um único curso de iniciação (academicamente falando) nessa área. Se um dia alguém fizer isso, será realmente uma tremenda contribuição, sem dúvida.
Editado pela última vez por Maligno em 11 Abr 2008 22:14, em um total de 2 vezes.
[]'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!
Manuel Luis Modernel
Usuário Nível 2
Usuário Nível 2
Mensagens: 66
Registrado em: 02 Mar 2008 20:40
Localização: São José do Rio Preto - SP

Como Fazer Perguntas Inteligentes ?

Mensagem por Manuel Luis Modernel »

Prezados Amigos Frequentadores deste Forum,

Eu já me penitenciei ontem e enviei um pedido de desculpas encaminhado aos moderadores (numa MP), só pelo fato de ter emitido minha critica a outro frequentador do forum.

Mesmo assim continuo a fazer a afirmativa inicial, e recomendo analisar o conteudo da solicitação, caprichando no "Portugues" e tentando entender o porque da minha irritação.

No inicio do Forum tem um artigo denominado "Como Fazer Perguntas Inteligentes" o qual de por si só, me absolve do "Erro Cometido" e deveria ser lido novamente por todos os participantes deste topico.

Em relação ao Colega Augusto solicitaria o favor de rever o que e como eu solicitei a minha primeira ajuda no forum (e as seguintes também), dai poderá ver claramente a grande diferença redimindo-se posteriormente de ter feito tão inadequada e infeliz comparação.

Assim sendo mais uma vez peço desculpas por ter errado ao criticar um outro participante do forum, posto ser para isto que existem os moderadores, e eu não tinha o direito de assim agir, realmente foi errado, agora não foi errada de forma alguma minha avaliação para o fato em pauta.

Eu programei em Clipper Summer, Visual Basic 4 e 6, ASP e ASP.net e estou no momento iniciando na novissima tecnologia .NET 2.0 para WEB tudo de forma Autodidata apesar dos meus atuais 60 anos, e não foi para trabalhar com estas tecnologias e sim só pelo prazer de estudar e aprender algo novo e atual nas minhas poucas horas vagas que a minha função de Gerente Industrial me deixa livre.

Atte. Eng. Manuel Luis Modernel
OI Aqui é o Veio Modernel
Responder