Am 09.11.2017 um 06:56 schrieb Wolfgang Jäth:
Am 08.11.2017 um 18:48 schrieb Volker Lenhardt:

Hättest Du lieber Angaben in Pixel oder Punkte o. ä. statt mm?


Natürlich nicht, aber ich bin da irgendwie komisch. Wenn ich eine Ganzzahl eingebe, so erwarte ich auch, dass dieselbe Ganzzahl gespeichert wird. Aus weit entfernten Assemblerzeiten erinnere ich mich an entsprechende Befehle :-)

... es wird auch nicht
absichtlich o. ä. abgerundet sondern das ist lediglich die beste
*Annäherung* an den betreffenden Dezimalwert. Mehr kann man IMHO nicht
verlangen.

Wenn du beim Obsthändler 1 kg Tomaten kaufst, bekommst du auch nicht
immer [tm] exakt 1.000,000000000000 g. Und wenn du 350 solcher Käufe
zusammenwirfst, erhältst du auch einen ganz schön satten
'Rundungsfehler'. ;-)


Sicherlich. Daher geht es mir ja gar nicht wirklich um die Berechnung der Gesamthöhe aller Zeilen (die kann ich - wie schon erwähnt - über die Differenz der Y-Positionen exakt ermitteln), sondern darum, dass ich nicht einen Double-Wert von 350.0 als Zeilenhöhe eingebe, sondern exakt 350. Wenn intern, was ich natürlich verstehe, der Wert binär etwas kleiner ist, so wird er doch als niedrigere Ganzzahl verwendet, denn beim Auslesen des Werts wirkt nicht etwa die umgekehrte Logik. Um in deinem Beispiel zu bleiben: Wenn ich eine Tomate kaufe, und das zehnmal, ärgere ich mich, wenn es nur 9 sind.

Ich habe das Ganze einmal durchgespielt. Die tatsächliche Zeilenhöhe variiert im Bereich von 1 unter dem Eingabewert bis 1 darüber.

Die Zeilenhöhe spielt für mich insofern eine Rolle, dass ich vermeiden möchte, dass beim Ausdruck der Gesamtgrafik auf der letzten Seite nur ganz wenige Zeilen stehen. Daher berechne ich Zeilenanzahl pro Seite und erhöhe bzw. vermindere die Zeilenhöhe so, dass die letzte Seite nicht ganz so verloren aussieht. (Die Zeilenanzahl, die Grafikdatei und weitere Parameter werden über einen Dialog ermittelt.)

Ich habe nun gelernt, dass ich nach dem Setzen der Zeilenhöhe die tatsächliche Höhe auslesen muss. Die Differenz beim Vergleich mit der Seitenhöhe ist dann so gering, dass man damit leben kann.

Ganz simpel: iRowsPerPage = lPageHeight \ lRealRowHeight
Und:         iRowsOnLastPage = iRows Mod iRowsPerPage
Oder was wäre besser?

Schöne Grüße
Volker

--
Liste abmelden mit E-Mail an: [email protected]
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Antwort per Email an