AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas Drucken

Ein Thema von LoL · begonnen am 18. Mai 2005 · letzter Beitrag vom 18. Mai 2005
Antwort Antwort
LoL
(Gast)

n/a Beiträge
 
#1

Canvas Drucken

  Alt 18. Mai 2005, 10:52
moin

Ich schreibe gerade ein Programm das Matheaufgaben mit den Grundrechenarten ausspucken soll. Aufgabeerstellung klappt 1A. nun will ich die Aufgabe 4 Spaltig drucken. Zu diesem Zweck will ich mit Canvas auf den "Drucker malen". Hab zu Testzwecken das mal auf mein Form gemalt sonst wären ja 1000 Seiten draufgegangen . Auf meiner Form funktioniert das Einwandfrei und schaut optimal aus. Wenn ich aber nun genau das gleiche auf den Drucker male druckt der irgendwie nur sch**** aus.(Links oben auf dem Blatt ein paar Zahlen übereinander geschrieben). Woran kann das liegen?
hab das mal zur übersichtlichkeit etwas vereinfacht: Die ganzen Aufgaben stehen in der Listbos "l".
Delphi-Quellcode:
cnt := 0;
While ( i < 800 ) Do
  Begin
    if cnt <= l.Count - 1 then//Wenn der Counter nicht die ListbosItems übersteigt
      begin
        Canvas.TextOut(0,i,l.Items.Strings[cnt]);//Bzw. Printer.Canvas
        Inc(cnt);
        Inc(i, 15);//Nur zum Ausrichten
      end
    else
      break;
  End;
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#2

Re: Canvas Drucken

  Alt 18. Mai 2005, 11:00
Hi,

Du rechnest pro Zeile nur 15 Pixel, das is bei nem Drucker...."recht wenig"
Schau Dir mal Delphi-Referenz durchsuchenTCanvas.TextHeight etc. an


Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#3

Re: Canvas Drucken

  Alt 18. Mai 2005, 11:10
"Wieviel Pixel passen denn auf den Drucker"?
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#4

Re: Canvas Drucken

  Alt 18. Mai 2005, 11:13
Hi,

das ist von Drucker zu Drucker unterschiedlich... Die Antwort bekommst Du über Delphi-Referenz durchsuchenGetDeviceCaps (siehe auch MSDN-Library durchsuchenGetDeviceCaps)


Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
RedDust

Registriert seit: 26. Okt 2004
Ort: Könnern
96 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Canvas Drucken

  Alt 18. Mai 2005, 11:14
Hi,

ich hab' mich vor langer Zeit auch mal mit diesem Problem befasst. Das Problem was ich bei der Printer.Canvas "version" gefunden habe ist, du "schneiderst" den Druckauftrag nur für deinen Drucker zu. Wenn du das Blatt z.B. auf einem anderen Drucker ausdrucken willst kann es sein das der komplette Text verschoben ist. Ich würde dir in dem Fall die Hier im Forum suchenQuickReport Komponente empfehlen.

//EDIT//

Ups, da war wohl jemand schneller
Mario Franze
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#6

Re: Canvas Drucken

  Alt 18. Mai 2005, 11:18
Hi,

²RedDust: da hast Du schon recht, dass das passieren kann, darum sollte man hier auch niemals konstante Werte (wie hier z.B. die 15) benutzen, sondern die Werte für Positionen etc. berechnen bzw. abfragen!

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:48 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