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/)
-   -   Delphi Bestimmte Seiten Drucken (https://www.delphipraxis.net/30919-bestimmte-seiten-drucken.html)

ArmyMan 1. Okt 2004 07:42


Bestimmte Seiten Drucken
 
Hi Allerseits

Ich sollte ein Programm machen, wo man bestimmte Seiten Drucken kann. Wie bei Word z.B. Seite x - y oder Seiten x ; y ; z
Wie kann ich das machen??
Und wie kann ich ein Edit Feld in die einzelnen Zeichen teilen?

Thx im voraus
ArmyMan

MrSpock 1. Okt 2004 07:49

Re: Bestimmte Seiten Drucken
 
Hallo ArmyMan,

in welcher Form liegt denn das zu druckende Dokument vor? Generierst du es selber über einen Reportgenerator oder nutzt du ein Textverarbeitungsprogramm wie Staroffice, Wordperfect oder Word?

ArmyMan 1. Okt 2004 07:54

Re: Bestimmte Seiten Drucken
 
Nein. Ich zeichne ein Canvas. Dann kann ich es Ausdrucken.
Das Problem:
Wenn ich es drucke, druckt es alle seiten die das canvas benötigt.
Mein Ziel:
Ich will ein eingabefeld machen wo man entweder einen bestimmten Bereich (x-y) oder bestimmte Seiten (x;y;z) drucken kann.

zB. Im Edit Feld steht 1;3;4.
Jetzt druckt es nur die Seiten 1,3 und 4.

zB. Im Edit Feld steht 5-7.
Jetzt druckt es nur die Seiten 5,6,7.

zB. Im Edit Feld Steht 1;3-6;9
Jetzt druckt es nur die Seiten 1,3,4,5,6 und 9.

Wie geht das??

ArmyMan

ArmyMan 1. Okt 2004 08:03

Re: Bestimmte Seiten Drucken
 
Geht das auch mit Case oder MaskEdit oder so was?

MrSpock 1. Okt 2004 08:08

Re: Bestimmte Seiten Drucken
 
Hallo ArmyMan,

MaskEdit hilft die hier nicht, weildu verschiedene Formate zulassen willst. Du musst also den eingegebenen String auswerten. Dabei suchst du gezielt nach den Trennzeichen und zerlegst den String zunächst in Gruppen, die durch ; getrennt sind und untersuchst anschließend die so erhaltenen Gruppen, ob es Bereiche oder Einzelseiten sind.

Dann kannst du diese auswerten und drucken.

ArmyMan 1. Okt 2004 08:10

Re: Bestimmte Seiten Drucken
 
Auswerten und Drucken?
Wie geht das??

MrSpock 1. Okt 2004 08:17

Re: Bestimmte Seiten Drucken
 
Hallo ArmyMan,

die Position einen Zeichens in einem String findet die Funktion Pos. Wenn du die Position hast, kannst du mit Copy und Delete den Ursprungsstring manipulieren.

D.h.: Suche mithilfe von Pos nach ";" Kopiere alles vor diesem Zeilen z.B. in eine StringList und lösche anschließend alles bis zum ersten ";", dann geht die Suche wieder von vorne los. Den überbleibenden String kopierst du auch als Element in deine StringList.

Dann läust du in einer Schleife durch die Elemente der Stringlist und prüfst, ob ein "-" enthalten ist, dann hnadelt es sich um einen Bereich und du mustt die Zahl vor und hinter dem "-" auswerten (mit StrToInt).

Beachte aber auch, dass die Eingabe unsinnig sein kann und du diese dann ignorieren musst und ggf. eine Fehlermeldung ausgibst.

Das Druckerobjekt Printer hat selbst ein CANVAS. Auf dieses kannst du direkt zeichnen.

ArmyMan 1. Okt 2004 08:21

Re: Bestimmte Seiten Drucken
 
Wie sieht das als Quelltext aus. Ich habe noch keine sehr grosse Erfahrung mit Delphi.
Wie kann ich dann dem Drucker sagen welche Seiten er zu drucken hat???

Nuclear-Ping 1. Okt 2004 08:54

Re: Bestimmte Seiten Drucken
 
Am besten, du nimmst was fertiges, bevor du dir hier noch was abbrichst, wenn du noch nicht so viel Erfahrung mit Delphi hast. ;) Drucken ist so eine Sache für sich, wo du immer wieder auf diverse (zum Teil auch hartnäckige) Probleme stößt.

Als Tip kann ich dir die "GmPrintSuite" von MurtSoft empfehlen. Diese war bis vor kurzem noch ein kommerzielles, jedoch sehr professionelles Projekt, ist jetzt aber Open-Source.

Finden kannst du diese unter http://www.murtsoft.co.uk/.

Hoffe, das hilft dir.

Grüße,
Mario

ArmyMan 1. Okt 2004 09:02

Re: Bestimmte Seiten Drucken
 
Weisst du. Ich muss es so machen als übung. Ich bin ja "Anfänger". Und jetzt muss ich eine Lösung finden. Gar nicht so einfach wenn man keine Ahnung hat. :wall:

Darum muss ich es so machen.
Wäre froh wenn mir jemand helfen kann.

ArmyMan


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 Uhr.
Seite 1 von 2  1 2      

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