Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datensatz aus einer Paradox7 DB drucken (https://www.delphipraxis.net/44326-datensatz-aus-einer-paradox7-db-drucken.html)

Tarran 17. Apr 2005 22:02

Datenbank: Paradox • Version: 7 • Zugriff über: DBGrid, DBEdit

Datensatz aus einer Paradox7 DB drucken
 
Hallo zusammen.
Ich möchte gerne einen Datensatz aus einer paradox Datenbank drucken. Man sieht ihn in einem Darstellungsfenster mit mehreren DBEdith Feldern ich hab das nach nem Tip unschön aber wirkungsvoll mit Form1.print; gelöst nun macht er zwar den Datensatz aber halt nicht positioniert und der Hintergrund ist auch noch sichtbar.

Ich hab etwas in den Tuts geschmökert und was zusammengestellt , was aber nichts wirklich was bringt leider . Irgendwo sind da viele Fehler drin < meinerseits.
Delphi-Quellcode:
unit Darstellen;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, XPMan, DB, DBTables, StdCtrls, DBCtrls, ExtCtrls, Mask, ImgList,
  ComCtrls, printers, ToolWin;

type
  TForm5 = class(TForm)
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label1: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    DBText1: TDBText;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit12: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit14: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    DBEdit17: TDBEdit;
    DBMemo1: TDBMemo;
    Button5: TButton;
    Table1: TTable;
    DataSource1: TDataSource;
    XPManifest1: TXPManifest;
    ImageList1: TImageList;
    PrintDialog1: TPrintDialog;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton3: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton8: TToolButton;
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form5: TForm5;

implementation

uses Anzeige;

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
begin
table1.Prior;
end;

procedure TForm5.Button3Click(Sender: TObject);
begin
table1.next;
end;

procedure TForm5.Button4Click(Sender: TObject);
begin
Form2.Show;
end;

procedure TForm5.ToolButton2Click(Sender: TObject);
begin
close;
end;

procedure TForm5.ToolButton3Click(Sender: TObject);
begin
close;
end;

procedure TForm5.ToolButton4Click(Sender: TObject);
begin
table1.Prior;
end;

procedure TForm5.ToolButton5Click(Sender: TObject);
begin
table1.next;
end;

procedure TForm5.ToolButton6Click(Sender: TObject);
var zeile, x, y: integer;
    breite, hoehe, randlinks, randoben: integer;

begin
if PrintDialog1.Execute then begin
    Printer.BeginDoc; //Druckjob beginnen

    //Blattgröße in 1/10 mm ermitteln:
    breite:=GetDeviceCaps(Printer.Canvas.Handle, HORZSIZE)*10;
    hoehe:=GetDeviceCaps(Printer.Canvas.Handle, VERTSIZE)*10;

    randlinks:=250; //2,5 cm
    randoben:=250; //2,5 cm

    x:=randlinks;
    y:=randoben*-1;



      if -y>(hoehe-2*randoben) then begin
        y:=randoben*-1;
        Printer.NewPage;
      end;
      SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC); //Umstellen auf 1/10 mm

      //Schrift-Einstellungen:
      Printer.Canvas.Font.Name:='Courier New';
      Printer.Canvas.Brush.Color:=clWhite;
      Printer.Canvas.Font.Height:=50; //5 mm

      if y=-randoben then begin
        Printer.Canvas.Font.Style:=[fsbold];
        Printer.Canvas.TextOut(x, y, 'Seite '+
        IntToStr(Printer.PageNumber));
        Printer.Canvas.Font.Style:=[];

      end;



      form5.print;

    end;
    Printer.EndDoc;
  end;


procedure TForm5.ToolButton7Click(Sender: TObject);
begin
Form2.Show;
end;

end.
wäre schön wenn mir wer helfen könnte.
Gruß Tarran

MrSpock 18. Apr 2005 02:35

Re: Datensatz aus einer Paradox7 DB drucken
 
Hallo Taran,

welche Fehlermeldung bzw. welchen Effekt bekommst du denn?

Eine Tabelle kannst du am einfachsten über einen Reportgenerator wir Rave oder Quickreport erstellen.

Tarran 18. Apr 2005 16:24

Re: Datensatz aus einer Paradox7 DB drucken
 
Fehler ist ganz einfach er druckt in der obigen Form eine leere Seite .. steht ja auch im code ..aber sobald ich das ändere meckert er.
Tarran

Waldteufel 18. Apr 2005 16:39

Re: Datensatz aus einer Paradox7 DB drucken
 
Hi.

Hast du die Textfarbe gesetzt? Ich kann das nirgendwo entdecken... ;-)

Tarran 18. Apr 2005 17:28

Re: Datensatz aus einer Paradox7 DB drucken
 
Ja Textfarbe ist gesetzt immo auf Blach ( im Bsp White)er sagt die Breite und Höhe seien deviniert aber nicht benutzt ( irgendwo ist Hund drin ..auch findet er das Doku wohl nicht
Tarran

Tarran 18. Apr 2005 18:06

Re: Datensatz aus einer Paradox7 DB drucken
 
Huhu ich nochmal, also ich hab mich nun vor lauter "ich blicks nimmer " für Rave entschieden um meine Datensätze auszudrucken.Leider hatte ich noch nie was mit Rave am Hut. Die Delphi Hilfe ist auch nicht so ergiebig. Könnte mir mal wer so umreisen welche Komponenten man braucht und wie man die verbindet ??? so im Stil eines kurz Tuts ?
Danke Tarran

merlin17 19. Apr 2005 08:17

Re: Datensatz aus einer Paradox7 DB drucken
 
http://www.derentwickler.de/itr/onli...nodeid,56.html
(2003 gab es auch 4 Artikel über Rave5 in der Zeitschrift "Der Entwickler")
bzw.
http://www.nevrona.com/Default.aspx?tabid=152
die FirstSteps bzw. Introductions.


:-) thomas, TeamNevrona

BrunoT 19. Apr 2005 11:00

Re: Datensatz aus einer Paradox7 DB drucken
 
Hallo

mschaefer (Martin) hat es schon empfohlen. ich möchte es hiermit noch einmal tun.

AlReport

Ich habe bisher mit Quickreport gearbeitet und fand es sehr einfach. Leider gibt es dieses nun unter D2005 nicht mehr. AlReport ist auch sehr einfach zu verstehen und es liegt ein Tut dabei.
Durch Rave und Crystal bin ich nicht durchgestiegen, da die Beschreibungen nicht sehr einfach sind. Für Alreport brauchte ich ne Stunde.

mfg

BrunoT

Sourcemaker 19. Apr 2005 11:17

Re: Datensatz aus einer Paradox7 DB drucken
 
Zitat:

News Update 11th January 2005

Delphi 2005 is now officially released and the first release of QR4.05 for Win32 is available on the download page.

Delphi2005 has 3 different IDE's, WinForms( total .NET), VCL Forms ( nearly .NET) and Win32.
Versions of QuickReports for the .NET IDE's will be available in the near future.

Quickreport-Home

Also die professional Version gibt es zumindest für D2005.

Grüße

Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz