Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
22.05.2012, 12:36:44
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  Datenbank Forum
| | |-+  DBGrid drucken?
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: DBGrid drucken?  (Gelesen 2466 mal)
MAVERIK
Jr. Member
**
Offline Offline

Beiträge: 61



« am: 03.04.2002, 12:00:19 »

Wie kann ich eine DBGrid drucken? Mit dem Umschreiben des Codes vom Tip "TStringGrid drucken" klappt das nicht. Poste hier mal den original Tipcode! Vielleicht hat ja jemand die Sache schonmal gemacht und könnte Sie hier posten! Wie schon gesagt, will ne DBGrid drucken! THANX

[font  size=2 face="Courier New" color="#000000"]uses
  
Printers;

procedure PrintGrid(sGrid: TStringGrid; sTitle: string);
var
  
X1, X2: Integer;
  Y1, Y2: Integer;
  TmpI: Integer;
  F: Integer;
  TR: TRect;
begin
  
Printer.Title := sTitle;
  Printer.BeginDoc;
  Printer.Canvas.Pen.Color  := 0;
  Printer.Canvas.Font.Name  := 'Times New Roman';
  Printer.Canvas.Font.Size  := 12;
  Printer.Canvas.Font.Style := [fsBold, fsUnderline];
  Printer.Canvas.TextOut(0, 100, Printer.Title);
  for F := 1 to sGrid.ColCount - 1 do
  begin
    
X1 := 0;
    for TmpI := 1 to (F - 1) do
      
X1 := X1 + 5 * (sGrid.ColWidths[TmpI]);
    Y1 := 300;
    X2 := 0;
    for TmpI := 1 to do
      
X2 := X2 + 5 * (sGrid.ColWidths[TmpI]);
    Y2 := 450;
    TR := Rect(X1, Y1, X2 - 30, Y2);
    Printer.Canvas.Font.Style := [fsBold];
    Printer.Canvas.Font.Size := 7;
    Printer.Canvas.TextRect(TR, X1 + 50, 350, sGrid.Cells[F, 0]);
    Printer.Canvas.Font.Style := [];
    for TmpI := 1 to sGrid.RowCount - 1 do
    begin
      
Y1 := 150 * TmpI + 300;
      Y2 := 150 * (TmpI + 1) + 300;
      TR := Rect(X1, Y1, X2 - 30, Y2);
      Printer.Canvas.TextRect(TR, X1 + 50, Y1 + 50, sGrid.Cells[F, TmpI]);
    end;
  end;
  Printer.EndDoc;
end;


[font color="#000080"]//Examplem, Beispiel:

[/font]procedure TForm1.Button1Click(Sender: TObject);
begin
  
PrintGrid(StringGrid1, 'Print Stringgrid');
end;
[/font]
Gespeichert

Manchmal verliert man und machmal gewinnen die Anderen... *g*
Thomas Stutz
Global Moderator
Hero Member
*****
Offline Offline

Beiträge: 1784



WWW
« Antworten #1 am: 03.04.2002, 12:05:43 »

Hallo,

Die Komponente PrintDBGrid v.2.0 besitzt eine Druck-Funktion.
Kannst ja mal den Source-Code anschauen:

[a href="http://homepages.borland.com/torry/db/visible/db_grids/saprintdbgrid.zip" target="_blank"]http://homepages.borland.com/torry/db/visi...printdbgrid.zip[/a]
Gespeichert

(¯`·._tom_.·´¯)

Tipp: Viele Antworten auf Fragen gibt's hier:
http://www.swissdelphicenter.ch/de/tipsuchen.php
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS