AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Drucken
Tutorial durchsuchen
Ansicht
Themen-Optionen

Drucken

Ein Tutorial von Dipl Phys Ernst Winter · begonnen am 21. Mai 2009 · letzter Beitrag vom 24. Nov 2019
Antwort Antwort
Seite 2 von 3     12 3      
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.784 Beiträge
 
Delphi 10.4 Sydney
 
#1

Re: Drucken

  Alt 21. Mai 2009, 19:13
Zitat von Luckie:
Warum setzt ihr den Mapmode nicht auf LOMETRIC? Dann habt ihr 10/Millimeter.
Guten Abend,

sollte es nicht Millimeter/10 heißen, also 0,1 Millimeter?

Grüße
Klaus

P.S. Wie war der erste Vatertag?
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Drucken

  Alt 21. Mai 2009, 19:35
Äh, ja.Zu viel sauerstoff. Ich war heute den ganzen Nachmittag im Tierpark Sababurg unterwegs mit Anne und meiner Freundin..
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Whatever

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#3

Re: Drucken

  Alt 8. Jul 2009, 12:34
Hallo,

kann mir zufällig jemand sagen, was "Mapmode" ist und was auf "Lometric" gesetzt werden muss.

Tierpark Sababurg? ganz bei mir in der Nähe

Grüße Whatever
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.665 Beiträge
 
Delphi 12 Athens
 
#4

Re: Drucken

  Alt 8. Jul 2009, 12:53
MSDN-Library durchsuchenSetMapMode, da ist das beschrieben
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Whatever

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#5

Re: Drucken

  Alt 8. Jul 2009, 13:03
Ah vielen Dank!
Also sind, wenn ich den Mapmode des Druckers auf Lometric stelle, alle Angaben in 0.1 Millimeter richtig?
Grüße Whatever
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.665 Beiträge
 
Delphi 12 Athens
 
#6

Re: Drucken

  Alt 8. Jul 2009, 18:11
Richtig. Was noch wichtig ist:
Zitat:
Positive x is to the right; positive y is up.
, d.h. die Y-Koordinaten werden anders behandelt, als man das normalerweise gewohnt ist.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Drucken

  Alt 8. Jul 2009, 18:52
Seit mir nicht böse, aber wieso verwendet ihr keinen Reportgenerator? Zum programmieren nehmt ihr doch auch die Delphi-IDE und kein Notepad.EXE?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Whatever

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#8

Re: Drucken

  Alt 8. Jul 2009, 21:00
Also alle Y-Werte *(-1).
Gut dankeschön für die Hilfe.
Alzaimar mit deinem Post kann ich ehrlich gesagt nichts anfangen...
  Mit Zitat antworten Zitat
RaSoWa1

Registriert seit: 1. Jun 2006
Ort: Halle/Saale
140 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Drucken

  Alt 8. Jul 2009, 21:09
Zitat:
m:= Printer.PageHeight/297 // Druckerauflösung Pixel/mm
liefert ggf. einen falschen Wert, da der nicht druckbare Bereich nicht berücksichtigt wird. Viele Drucker haben links, rechts, oben und unten einen nicht druckbarenn Bereich von ca. 2 bis 5 mm.
Besser ist deshalb, gerade weil es eine API ist:
Zitat:
GetDeviceCaps(Printer.Handle, LOGPIXELSX) / 2.54

Zitat:
getDeviceCaps(Printer.Handle,HORZSIZE); // (Bedruckbare Breite in mm)
getDeviceCaps(Printer.Handle,VERTSIZE); // (Bedruckbare Höhe in mm)
Gibt es auch eine Funktion die mir die Größe der nicht druckbaren Ränder liefert?

Gruß Klaus
Klaus
  Mit Zitat antworten Zitat
samso

Registriert seit: 29. Mär 2009
440 Beiträge
 
#10

Re: Drucken

  Alt 10. Jul 2009, 13:04
Das muß aus diversen Parameter zurückgerechnet werden. Der linke und der obere Rand ergibt sich aus PHYSICALOFFSETX, PHYSICALOFFSETY. Der rechte und der untere Rand muß dann aus PHYSICALWIDTH, PHYSICALHEIGHT abzüglich HORZRES unter Berücksichtigung von LOGPIXELSX bzw. VERTRES unter Berücksichtigung von LOGPIXELSY berechnet werden.
Delphi-Quellcode:
function GetDefaultMinMargins: TRect;
var
  XResolution, YResolution: Extended;
  PhysicalPage: TPoint;
  PrintablePage: TPoint;
  Offset: TPoint;
begin
  XResolution := 1/GetDeviceCaps(Printer.Handle, LOGPIXELSX)*1000;
  YResolution := 1/GetDeviceCaps(Printer.Handle, LOGPIXELSY)*1000;
  PhysicalPage.X := GetDeviceCaps(Printer.Handle, PHYSICALWIDTH);
  PhysicalPage.Y := GetDeviceCaps(Printer.Handle, PHYSICALHEIGHT);
  PrintablePage.X := GetDeviceCaps(Printer.Handle, HORZRES);
  PrintablePage.Y := GetDeviceCaps(Printer.Handle, VERTRES);
  Offset.X := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
  Offset.Y := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY);
  Result.Left := trunc(Offset.X*XResolution+0.5);
  Result.Top := trunc(Offset.Y*YResolution+0.5);
  Result.Right := trunc((PhysicalPage.X-Offset.X-PrintablePage.X)*XResolution+0.5);
  Result.Bottom := trunc((PhysicalPage.Y-Offset.Y-PrintablePage.Y)*YResolution+0.5);
end;
Wenn ich mich richtig erinnere war das Ergebnis dann in 1/1000 inches
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:33 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-2025 by Thomas Breitkreuz