Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   2 Proceduren vereinen (https://www.delphipraxis.net/167692-2-proceduren-vereinen.html)

m-werk 13. Apr 2012 10:37

2 Proceduren vereinen
 
Hallo,

ich habe in meinem Formular einen Button, der einen Druckbefehl aufruft OHNE dass das Druckermenü erscheint wo ich den Drucker auswählen kann

Code:
procedure THaupt_Form.BtnPrintClick(Sender: TObject);
var rec : TRect;
begin
 //druckbefehl
end;
In meinem Menü habe ich auch einen Druckbutton, der den gleichen Druckbefehl aufruft, nur dass man dort die Möglichkeit hat, den Drucker auszuwählen:
Code:
procedure THaupt_Form.Drucken1Click(Sender: TObject);
var rec : TRect;
begin
if PrintDialog1.Execute then
  begin
    //druckbefehl
  end;
end;
Ich möchte gerne NUR einen Druckbefehl verwenden, und je nach dem welchen Button der User anklickt, soll der Druckbefehl ausgeführt werden. Entweder mit oder ohne PrintDialog.

Luckie 13. Apr 2012 10:39

AW: 2 Proceduren vereinen
 
Du kannst die Schaltflächen am Sender unterscheiden.

Bernhard Geyer 13. Apr 2012 10:40

AW: 2 Proceduren vereinen
 
//druckbefehl in eine eigene Methode auslagern?

DeddyH 13. Apr 2012 10:41

AW: 2 Proceduren vereinen
 
Quick and Dirty: den Sender auswerten.
Delphi-Quellcode:
if Sender = Drucken1 then
  DoPrint := PrintDialog1.Execute
else
  DoPrint := true;
if DoPrint then
  //Druckbefehl

m-werk 13. Apr 2012 10:46

AW: 2 Proceduren vereinen
 
Wie kann ich das verstehen mit "Schaltflächen am Sender unterscheiden"

Ist dann dies so richtig:
Code:
procedure THaupt_Form.BtnPrintClick(Sender: TObject);
 var rec : TRect;
 begin
   DoPrint := true;
     if Sender = Drucken1Click then
       DoPrint := PrintDialog1.Execute;
     if DoPrint then

end;

p80286 13. Apr 2012 10:47

AW: 2 Proceduren vereinen
 
Delphi-Quellcode:
procedure Drucken(mitMenue:boolean);
begin
  if mitMenue then....
Gruß
K-H

DeddyH 13. Apr 2012 10:49

AW: 2 Proceduren vereinen
 
Wie wäre es mit Ausprobieren? Allerdings fehlt da noch eine lokale Boolean-Variable, und bei mir hieß der auszuwertende Sender anders.

m-werk 13. Apr 2012 10:57

AW: 2 Proceduren vereinen
 
Ich versteh's nicht. Sorry.

himitsu 13. Apr 2012 10:59

AW: 2 Proceduren vereinen
 
Was genau verstehst du denn nicht?


Zitat:

Delphi-Quellcode:
if Sender = Drucken1 then
  DoPrint := PrintDialog1.Execute
else
  DoPrint := true;
if DoPrint then
  //Druckbefehl

Delphi-Quellcode:
if (Sender <> Drucken1) or PrintDialog1.Execute then
  //Druckbefehl

m-werk 13. Apr 2012 11:17

AW: 2 Proceduren vereinen
 
Ok, ich habs jetzt:
Code:
procedure THaupt_Form.Drucken1Click(Sender: TObject);
var rec : TRect;
var DoPrint : boolean;
begin
  if Sender = Drucken1 then
    DoPrint := PrintDialog1.Execute
  else
    DoPrint := true;
  if DoPrint then
    begin
      //Druckbefehl
    end;
end;
Beiden Buttons habe ich bei OnClick dieses Ereignis zugewiesen. Funktionieren tut es jetzt.

Irgendwie gefällt mir das aber nicht, da ich in der Procedure einen Button stehen habe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr.
Seite 1 von 2  1 2      

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