FLY666 Postado Outubro 21, 2004 Denunciar Share Postado Outubro 21, 2004 Aloha!!! Sou novato aki no fórum e me desculpem se já foi postado alguma vez... mas eu preciso saber como imprimir no delphi um DBGrid... quais são os procedimentos para essa operação? PS.: a tabela foi feita no "Absolute Database"... Desde já agradeço a ajuda de vocês... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FLY666 Postado Novembro 4, 2004 Autor Denunciar Share Postado Novembro 4, 2004 Ae galera... desculpem a insistência... mas estou com problemas ao imprimir em um DBGRID... eu uso o comando PRINT mas imprime a tela toda e ainda não imprime o restante da Grade... se alguém puder me ajudar fico muito agradecido... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Novembro 4, 2004 Denunciar Share Postado Novembro 4, 2004 Ola,Eu ainda num entendi direito, você quer imprimir o DBGrid? como se fosse um printscreen? ou você gostaria de imprimir os registros que estao no dbgrid, imprimir em um relatório?Posta ae o código que você ta usando pra imprimir.Abs. Progr'amador. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Novembro 5, 2004 Denunciar Share Postado Novembro 5, 2004 Por um acaso ía postar a mesma (ou quase a mesma ) pergunta do colega FLY.Sem fazer nenhum tipo de relatório, só com o DBgrid mostrando os registros, como seria o código para imprimir O CONTEÚDO do DBGRId?Alguém poderia postar esse código por favor?Paulo NobrePS: Fly, desculpe pegar carona na sua dúvida, mas dessa forma descongestiona o fórum evitando perguntas repetidas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Novembro 6, 2004 Denunciar Share Postado Novembro 6, 2004 Ninguém? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ewerton Postado Novembro 6, 2004 Denunciar Share Postado Novembro 6, 2004 Sem relatório eu não sei....Falou. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Novembro 6, 2004 Denunciar Share Postado Novembro 6, 2004 Falou! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 6, 2004 Denunciar Share Postado Novembro 6, 2004 Creio que para imprimir o conteúdo do DBGrid (ou seja, os registros), mas não a imagem do mesmo (aliás, deve ser possível fazer isso também), você pode usar o objeto Printer. Exemplo: Printer.BeginDoc; Printer.Canvas.TextOut(0, 0, 'teste'); Printer.Enddoc;Ou simplesmente abrir a porta LPT1 (ou outra) como um arquivo e enviar os dados por lá. Esse método é melhor para impressoras matriciais.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Novembro 6, 2004 Denunciar Share Postado Novembro 6, 2004 Olá, Graymalkin,Creio que para imprimir o conteúdo do DBGrid (ou seja, os registros), mas não a imagem do mesmo (aliás, deve ser possível fazer isso também), você pode usar o objeto Printer. Exemplo:CODE Printer.BeginDoc; Printer.Canvas.TextOut(0, 0, 'teste'); Printer.Enddoc; Desculpe a ignorância, mas neste código acima, onde está a vinculação com o DBGrid?AbsPaulo Nobre Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 6, 2004 Denunciar Share Postado Novembro 6, 2004 Em lugar algum. Por isso que salientei que: """para imprimir o conteúdo do DBGrid (ou seja, os registros), mas não a imagem do mesmo (aliás, deve ser possível fazer isso também), você pode usar o objeto Printer."""Ou seja, o código real seria algo do tipo: Printer.BeginDoc; Printer.Canvas.TextOut(0, 0, Table1.Fields['campo'].AsString;); Printer.Enddoc;Ou seja, seria necessário percorrer toda a tabela imprimindo campo a campo.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Novembro 6, 2004 Denunciar Share Postado Novembro 6, 2004 Entendi, Graymalkin.AbsPaulo Nobre Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FLY666 Postado Novembro 8, 2004 Autor Denunciar Share Postado Novembro 8, 2004 Ae Galera... eu ia postar aki o código q estou usando mas aconteceu uma desgraça... não sei porque mas o código sumiu do meu arquivo .pas...Mas mesmo assim eu gostaria de uma resposta... eu não quero imprimir em printscreen... mas um BDGrid de modo contínuo...quando eu refizer o código eu posto outra vez... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FLY666 Postado Novembro 9, 2004 Autor Denunciar Share Postado Novembro 9, 2004 Aloha... consegui refazer o código... desculpem... sou meio newb com o linguagem de programação... e sei q o códgigo abaixo é meio tosco e básico demais... mas não quero nada complicado... só gostaria de imprimir o BDGrid de forma contínua e sem o restante do Form... apenas o BDGrid...____________________________________________________________________type TForm1 = class(TForm) ABSTable1: TABSTable; ABSDatabase1: TABSDatabase; DataSource1: TDataSource; DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; btnprint: TBitBtn; PrintDialog1: TPrintDialog; PrinterSetupDialog1: TPrinterSetupDialog; GroupBox1: TGroupBox; GroupBox2: TGroupBox; btnsair: TBitBtn; Bevel1: TBevel; Bevel2: TBevel; Label1: TLabel; Image1: TImage; Image2: TImage; Bevel3: TBevel; Image3: TImage; procedure btnprintClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.btnprintClick(Sender: TObject);begin if (PrinterSetupDialog1.execute)and(PrintDialog1.execute) Then Print;end;end. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FLY666 Postado Novembro 10, 2004 Autor Denunciar Share Postado Novembro 10, 2004 Em lugar algum. Por isso que salientei que: """para imprimir o conteúdo do DBGrid (ou seja, os registros), mas não a imagem do mesmo (aliás, deve ser possível fazer isso também), você pode usar o objeto Printer."""Ou seja, o código real seria algo do tipo: Printer.BeginDoc; Printer.Canvas.TextOut(0, 0, Table1.Fields['campo'].AsString;); Printer.Enddoc;Ou seja, seria necessário percorrer toda a tabela imprimindo campo a campo.Abraços,Graymalkin Eu não entendi esse código... porque printer ao invés de print?E como eu faço pra imprimir o DBGrid de forma contínua? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 11, 2004 Denunciar Share Postado Novembro 11, 2004 Eu não entendi esse código... porque printer ao invés de print?Porque adicionei a unit Printers.E como eu faço pra imprimir o DBGrid de forma contínua?Se entendi bem, você não quer imprimir *o DBGrid* e sim os dados que estão sendo *exibidos* no mesmo. Na verdade os dados estão na tabela que está relacionada ao DBGrid, por isso você pode percorrer toda a tabela mandando imprimir cada registro.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FLY666 Postado Novembro 11, 2004 Autor Denunciar Share Postado Novembro 11, 2004 Eu não entendi esse código... porque printer ao invés de print?Porque adicionei a unit Printers.E como eu faço pra imprimir o DBGrid de forma contínua?Se entendi bem, você não quer imprimir *o DBGrid* e sim os dados que estão sendo *exibidos* no mesmo. Na verdade os dados estão na tabela que está relacionada ao DBGrid, por isso você pode percorrer toda a tabela mandando imprimir cada registro.Abraços,Graymalkin Pois é... sei q o DBGrid está relaciondado a tabela... então eu tentei usar o seguinte código:procedure TForm1.btnprintClick(Sender: TObject);begin if (PrinterSetupDialog1.execute)and(PrintDialog1.execute) Then Print.ABSTable1;end;Onde ABSTable1 é o nome da minha tabela... eu achei q isso funcionaria e acho tb q seria mais fácil... mas não deu certo...O único jeito de imprimir os dados do DBGrid é imprimindo registro por registro?... achei q pudesse imprimir tudo de forma contínua... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 13, 2004 Denunciar Share Postado Novembro 13, 2004 Que eu saiba, sim. Aliás, vejo uma vantagem significativa nisso: a possibilidade de formatar os dados impressos do jeito que quisermos.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest cEpTrOn Postado Abril 8, 2008 Denunciar Share Postado Abril 8, 2008 COMO IMPRIMIR OS DADOS DE UM DBGRID DIRECTAMENTE -> SOLUÇÃO COMPLETACaros amigos aqui fica finalmente e após mil e uma pesquisas na internet, juntei as melhores dicas e deu isto:1. Colocar um "TPrintDialog" no formulário2. Adicionar ao uses do form "Printers"3. No procedimento "OnClick" do button e adicione as variáveis: "var x, y, i: Integer;"4. Copie o seguinte texto e cole dento do "Begin" e "End."If PrintD.Execute Then Begin With Printer Do Begin; BeginDoc; x := 200; //margem da página y := 200; //margem da página With canvas Do Begin TABELA.First; For i := 1 To TABELA.RecordCount Do Begin textout(x, y, inttostr(i)+'º | Campo 1: '+ TABELA.FieldValues['NOME_CAMPO_1']+ ' | Campo 2: '+string(TABELA.FieldValues['NOME_CAMPO_2'])+ ' | Campo 3: '+string(TABELA.FieldValues['NOME_CAMPO_3'])+ ' | Campo 4: '+string(TABELA.FieldValues['NOME_CAMPO_4'])); inc(y, 50); ///espaçamento das linhas, não eliminar, 50 é para linha normal If y = 6600 Then ///tamanho de uma página A4 Begin Newpage; y := 200; //margem da nova página End; TABELA.Next; End; End; EndDoc; End;End;5. Onde diz "TABELA" substituir pelo nome real da sua tabela6. Onde diz "NOME_CAMPO_1","NOME_CAMPO_2","NOME_CAMPO_3","NOME_CAMPO_4", substituir pelo nome dos campos da sua tabela7. Pode eliminar os campos demais ou pode adicionar mais campos na mesma linha basta escrever o "+" para juntar campos e texto8. E pronto, agora é imprimir o que quiser e inovar ...trazido por: cEpTrOnPORTUGAL ;) :lol: Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
FLY666
Aloha!!!
Sou novato aki no fórum e me desculpem se já foi postado alguma vez... mas eu preciso saber como imprimir no delphi um DBGrid... quais são os procedimentos para essa operação?
PS.: a tabela foi feita no "Absolute Database"...
Desde já agradeço a ajuda de vocês...
Link para o comentário
Compartilhar em outros sites
17 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.