AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

FastReport 5 - Line.width ändern?

Ein Thema von SearchBot · begonnen am 15. Mär 2018 · letzter Beitrag vom 15. Mär 2018
Antwort Antwort
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
232 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

FastReport 5 - Line.width ändern?

  Alt 15. Mär 2018, 13:27
Ich habe ein Blatt mit FastReport 5 (aus dem GetIt, VCL) designt, auf dem ich eine Linie habe (TfrxLineView).

Im Designer habe ich der Linie die Width 10,00 gegeben. Sie wird 10cm lang dargestellt.

Jetzt während der Runtime möchte ich diese Linie aber auf 5cm kürzen.
Schreibe ich also im Quelltext für die Druckvorbereitung
TfrxLineView(frxReport1.FindObject('Line1')).width := 5.00; Auf dem Blatt wird aber nur eine 1mm kurze Linie gedruckt. Schreibe 50.00, ist die Linie 13mm lang !? Wahrscheinlich übernimmt FR5 den Wert als Pixel und nicht wie im Designer als cm.

Kann ich irgendwo einstellen, welche Dimension meine Werte haben - bzw. die Werte auf cm korrekt umrechnen lassen?

In der Doku finde ich nichts.
  Mit Zitat antworten Zitat
Benutzerbild von timog
timog

Registriert seit: 26. Sep 2006
Ort: Landkreis Oldenburg (Oldb)
117 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: FastReport 5 - Line.width ändern?

  Alt 15. Mär 2018, 15:20
Öffne die FR3 Datei mal in einem Text-Editor, dort stehen die internen Abmessungen der Elemente drin (außer den Seitenabmessungen, die sind in mm).

Intern wird in FR nicht mit Zentimetern oder Millimetern gearbeitet, sondern mit "Punkten" bei 96 DPI (glaube ich zumindest, steht bestimmt irgendwo in der Doku, ich finde es nur gerade nicht).

Ich verwende den Umrechnungsfaktor 10 mm = 37,7953 (96 dpi / 2,54) in meinen Berichten.
Timo
Real Programmers are surprised when the odometers in their cars don't turn from 99999 to 9999A.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.709 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: FastReport 5 - Line.width ändern?

  Alt 15. Mär 2018, 15:27
Es gibt Konstanten zum Umrechnen.
Delphi-Quellcode:
//unit frxClass;

const
  fr01cm: Extended = 3.77953;
  fr1cm: Extended = 37.7953;
  fr01in: Extended = 9.6;
  fr1in: Integer = 96;
Zitat:
außer den Seitenabmessungen, die sind in mm
Es kommt drauf an, ob du Width oder PaperWidth betrachtest, aber da sieht man welchen Wert alles intern verwendet, relativ zur Seite.
Delphi-Quellcode:
procedure TfrxReportPage.UpdateDimensions;
begin
  Width := Round(FPaperWidth * fr01cm);
  Height := Round(FPaperHeight * fr01cm);
end;
x = mm * fr01cm
x = cm * fr1cm
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (15. Mär 2018 um 15:35 Uhr)
  Mit Zitat antworten Zitat
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
232 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: FastReport 5 - Line.width ändern?

  Alt 15. Mär 2018, 17:44
Danke himitsu, "fr1cm" hat mir die gesuchte Lösung gebracht

  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 06:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf