Erkenne meinen Fehler nicht

Soviele Seiten wie ich vorgebe kann das der Compiler nicht automatisch errechnen :confused: Wie soll das denn gehen ansonsten , ich kann doch nicht vor jedem drucken sagen das er das auf 3 oder 4 Seiten drucken soll
 
Wenn dir egal ist, was auf die Seiten kommt und wo der Seitenumbruch ist, kannst du alle Daten an den Drucker schicken und ihn Seite um Seite ausdrucken lassen. Nur weiß der Drucker nicht, wo du den Seitenumbruch hin haben willst. Er macht den Umbruch, wenn das Blatt zu Ende ist. Was er da gerade wie druckt, ist dem Drucker egal.
Wenn du einen sinnvoll formatierten Druck haben willst, mußt du eben schon etwas mehr machen. Und wie man die Anzahl der Seiten bestimmt, hängt ganz davon ab, was man druckt. Wenn man z.B. ein Array mit 5 Datensätzen und will jeden Datensatz auf eine Seite drucken, weiß man, ich brauche 5 Seiten. Wenn man ein langes Dokument hat und will die Seitenumbrüche an ganz bestimmten Stellen haben, muß man anhand der Zeilenzahl oder so die Anzahl der Seiten berechnen usw. Natürlich kann das der Compiler übernehmen, du mußt ihm eben nur sagen, wie er das machen soll.

Mfg

langer
 
Also ich habe einen Vector also keine feste Größe? und auf dem Blatt wird das momentan so ausgedruckt:

Regal Interpret Titel Rubrik CD

Der sollte halt schon nach dem letzten Titel der so auf das Blatt passt ne neue Seite anfangen. Hast du einen Lösungsvorschlag
 
Aber du weißt doch, wieviel Datensätze du hast. Dann mußt du anhand der Fontgröße die Anzahl der Zeilen errechnen, die nach der Überschrift auf eine Seite passen. Damit kannst du die Anzahl der Seiten berechnen, die du ausdrucken mußt.
Code:
seitenzahl=datensaetzegesamt/datensaetzeproseite+1;
Dann mußt du die Schleife so implementieren, daß die Anzahl der Seiten, die du errechnet hast, gedruckt werden. In der Schleife mußt du anhand der Seite, die gerade gedruckt werden soll, bestimmen, welche Datensätze ausgegeben werden sollen.
Beispiel: Wenn 15 Datensätze auf eine Seite passen, mußt du auf Seite 1 die Datensätze von 0 bis 14 ausgeben, auf Seite 2 von 15 bis 29 usw.
Code:
int offsetDatensaetze=datensaetzeproseite*aktuelleSeite:
Soweit mal ein Lösungsansatz.

Mfg

langer
 
Hmm also muss ich erstmal herrausfinden wieviele Datensätze auf eine Seite passen.

Und dann kann ich seitenanzahl = vector.size()/datensaetzeproseite+1 rechnen
 

Neue Beiträge

Zurück