Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Drucker Button für Delphi 7 (https://www.delphipraxis.net/109005-drucker-button-fuer-delphi-7-a.html)

1990Philipp 22. Feb 2008 18:12


Drucker Button für Delphi 7
 
Hallo an alle.^^

Ich habe eine wichtige Frage.

Wie sage ich dem Programm, das wenn ich auf drucken gehe, das der Computer das an den Drucker schickt?

MfG Philipp

DeddyH 22. Feb 2008 18:15

Re: Drucker Button für Delphi 7
 
Hallo und Willkommen in der DP :dp:
Gegenfrage: dass der Computer was an den Drucker schickt? Gewöhne Dir bitte gleich an, Fragen möglichst präzise zu stellen, sonst wird Dir niemand helfen können.

1990Philipp 22. Feb 2008 18:17

Re: Drucker Button für Delphi 7
 
ok...auf computersprache ausgedrückt: Ich möchte, das Delphi die Datei/ das Dokument das ich programmiert habe, auch wenn es nur eine Textdaei ist, das dies gedruckt wird.

Ich habe schon den Button Drucken, doch nun felht mir der/die Befehl/e und aus der Delphi Hilfe werde ich nicht schlau^^

DeddyH 22. Feb 2008 18:19

Re: Drucker Button für Delphi 7
 
Ist das eine Datei auf der Festplatte, oder steht die in einem Memo/Richedit o.ä.?

1990Philipp 22. Feb 2008 18:19

Re: Drucker Button für Delphi 7
 
in einer Memo

DeddyH 22. Feb 2008 18:22

Re: Drucker Button für Delphi 7
 
In der Delphi 7-Hilfe steht doch ein Beispiel dazu:
Zitat:

In diesem Beispiel wird ein Formular mit einer Schaltfläche und einer Memokomponente verwendet. Wenn der Benutzer auf die Schaltfläche klickt, wird der Inhalt der Memokomponente mit einem 200 Pixel großen Rahmen um die Seite gedruckt. Bevor Sie dieses Beispiel ausführen können, müssen Sie die Unit Printers in die uses-Klausel aufnehmen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

begin
  with Printer do
  begin
    BeginDoc;
    Canvas.TextRect(Rect(200,200,PageWidth-200,PageHeight-200),
                    200, 200, Memo1.Lines.Text);
    EndDoc;
  end;

end;


1990Philipp 22. Feb 2008 18:24

Re: Drucker Button für Delphi 7
 
Danke...soweit bin ich auch schon, doch wie nehme ich den Printer in die user-Klausel auf?

DeddyH 22. Feb 2008 18:26

Re: Drucker Button für Delphi 7
 
Schau mal ganz oben in Deiner Unit, da gibt es eine uses-Klausel. Da fügst Du einfach Printers hinzu.
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Printers; //<-- hier

1990Philipp 22. Feb 2008 18:27

Re: Drucker Button für Delphi 7
 
ey...cool danke!

1990Philipp 22. Feb 2008 18:38

Re: Drucker Button für Delphi 7
 
Zitat:

Zitat von DeddyH
In der Delphi 7-Hilfe steht doch ein Beispiel dazu:
Zitat:

In diesem Beispiel wird ein Formular mit einer Schaltfläche und einer Memokomponente verwendet. Wenn der Benutzer auf die Schaltfläche klickt, wird der Inhalt der Memokomponente mit einem 200 Pixel großen Rahmen um die Seite gedruckt. Bevor Sie dieses Beispiel ausführen können, müssen Sie die Unit Printers in die uses-Klausel aufnehmen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

begin
  with Printer do
  begin
    BeginDoc;
    Canvas.TextRect(Rect(200,200,PageWidth-200,PageHeight-200),
                    200, 200, Memo1.Lines.Text);
    EndDoc;
  end;

end;




das geht nicht, denn da kommt dann der text, aber hintereindander und mit rechtecken..was nun?

DeddyH 22. Feb 2008 18:44

Re: Drucker Button für Delphi 7
 
Nun wird es kompliziert (Delphi und Drucken, das leidige Thema). Das Einfachste wird für den Anfang sein, Du speicherst Dein Memo als Textdatei ab
Delphi-Quellcode:
Memo.Lines.SaveToFile(Dateiname)
und druckst diese Datei anschließend über das verknüpfte Programm aus
Delphi-Quellcode:
ShellExecute(Handle,'print',PChar(Dateiname),nil,nil,SW_HIDE);
Dazu musst Du dann die Unit ShellAPI zusätzlich in die uses-Klausel aufnehmen.

1990Philipp 22. Feb 2008 20:02

Re: Drucker Button für Delphi 7
 
geht das noch einfacher? denn mit nur print, druckt er alles (Formblatt)

noch ne frage: was heißt das, wenn bei fehlern steht:

[Fehler] Unit1.pas(97): Record, Objekt oder Klassentyp erforderlich

?????

DeddyH 22. Feb 2008 20:11

Re: Drucker Button für Delphi 7
 
Sry, aber das sind einfach zu wenig Infos, und meine Glaskugel ist gerade zum Polieren :stupid:

1990Philipp 22. Feb 2008 20:16

Re: Drucker Button für Delphi 7
 
ok...also i gebe da das ein:

procedure TForm1.DruckenClick(Sender: TObject);
begin
print
end;

und er druckt dann das Formblatt aus.

Wenn i aber das eingebe:

procedure TForm1.DruckenClick(Sender: TObject);
begin
print.TMemo
end;

kommt das:
[Fehler] Unit1.pas(97): Record, Objekt oder Klassentyp erforderlich
[Fehler] Unit1.pas(99): Anweisung erforderlich, aber Ausdruck vom Typ 'Class reference' gefunden

DeddyH 22. Feb 2008 20:21

Re: Drucker Button für Delphi 7
 
Wenn es das gäbe, müsste es
Delphi-Quellcode:
Memo1.print
heißen. Ansonsten nimm eine Richedit, da gibt es die Print-Methode.

1990Philipp 22. Feb 2008 20:32

Re: Drucker Button für Delphi 7
 
ne...das geht auch nicht

1990Philipp 23. Feb 2008 09:09

Re: Drucker Button für Delphi 7
 
hallo nochmal...das drucken geht nun, doch welcher befehl muss in die Unit, damit die Schriftart und Schriftgröße beim Ausdruck verändert werden kann (wenn ich das über den Objektinspektor mache, dann ist das nur in der Memo zu sehen, doch nicht beim ausdruck der memo.

DeddyH 23. Feb 2008 09:11

Re: Drucker Button für Delphi 7
 
Ich weiß zwar nicht, wie Du jetzt druckst, aber versuch es mal mit
Delphi-Quellcode:
Printer.Canvas.Font.Assign(Memo.Font);


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr.

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