AGB  ·  Datenschutz  ·  Impressum  







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

quickreport und TQRMemo

Ein Thema von Martoeng · begonnen am 12. Mai 2005 · letzter Beitrag vom 17. Mai 2005
Antwort Antwort
Martoeng

Registriert seit: 21. Jun 2004
44 Beiträge
 
#1

quickreport und TQRMemo

  Alt 12. Mai 2005, 09:59
Hi,

ich bentuze Quickreport 4 in Delphi 7.

Nun habe ich im Detailband des Reports zwei TQRMemos, die nebeneinander angeordnet sind - (autostretch = true; autosize=false)
Diese werden in der OnNeedData-Routine mit Daten bestückt.

Die Texte können sehr lang werden und sollen auch über einen Seitenumbruch fortgesetzt werden.

Soweit klappt das mit dem 1. Memo auch.

Aber stellt euch mal folgenden Fall vor:
- Das 1. Memo besteht aus 10 Zeilen, das 2. nur aus 3 Zeilen.
- Auf der Seite wäre noch Platz für 5 Zeilen Text.

-> Das 1. Memo wird bis zu 5. Zeile dargestellt und der Rest kommt auf der nächsten Seite - korrekt soweit.
-> Das 2. Memo springt aber, obwohl noch alles auf diese Seite passen müsste, immer nach der ersten Zeile auf die neue Seite. Die restlichen 2 Zeilen werden dann auf der Folgeseite gedruckt.

Ich hoffe das Problem ist halbwegs verständlich....

Weiß jemand Rat was man da tun könnte? Ich bin mit meinem (zugegebenermaßen nicht besonders herausragenden) Latein am Ende.


MfG

Martoeng
  Mit Zitat antworten Zitat
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
264 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: quickreport und TQRMemo

  Alt 12. Mai 2005, 10:29
Hallo Martoeng,

ich habe früher mal in der Hilfe gelesen das nur eine Komponente pro Band für das Stretching funktioniert. In meine Reports kalkuliere ich teilweise die Länge der RichtText oder Memos selber
um ein bessere Kontrolle zu haben.
Versuche doch testweise beide Memos auf die Größe des längsten Textes zu setzen also etwa so:

Memo.Height := AnzahlZeilen*Schrifthöhe; Wenn das funktioniert kann mann weitersehen (Funktion zur Höhenermittlung).

Grüße

Frank
Frank
  Mit Zitat antworten Zitat
Martoeng

Registriert seit: 21. Jun 2004
44 Beiträge
 
#3

Re: quickreport und TQRMemo

  Alt 12. Mai 2005, 10:50
Danke für die Antwort
Hab deinen Tipp mal eben ausprobiert.

Auf diese Weise fehlt aber leider der automatische Seitenumbruch wenn der Text zu lang ist. Am Ende der Seite wird er dann einfach abgeschnitten.

Setzte ich die fixe Höhe nur für das 2. Memo, fehlt der Seitenumbruch nur für dieses. Der Text verschwindet dann irgendwo hinterm PageFooter

Gruß

Martoeng
  Mit Zitat antworten Zitat
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
264 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: quickreport und TQRMemo

  Alt 12. Mai 2005, 15:56
Hallo Martoeng,

nimm doch ein SubDetailband mit 2 Labels nebeneinander in jedes Label kommt nur eine Zeile
solange bis das größe Memo abgearbeitet ist.

Grüße

Frank
Frank
  Mit Zitat antworten Zitat
Martoeng

Registriert seit: 21. Jun 2004
44 Beiträge
 
#5

Re: quickreport und TQRMemo

  Alt 13. Mai 2005, 11:20
Hi,

Das klingt nach einer sehr guten Idee! Werd ich gleich mal ausprobieren - meld mich dann obs mich glücklich gemacht hat

Gruß

Martoeng
  Mit Zitat antworten Zitat
Martoeng

Registriert seit: 21. Jun 2004
44 Beiträge
 
#6

Re: quickreport und TQRMemo

  Alt 13. Mai 2005, 13:47
Hi,

bis jetzt sieht das sehr gut aus, höchstwahrscheinlich werd ich auf den Weg zum richtigen Ergebniss kommen.

Aber jetzt bin ich gerade an einem Punkt, der mich an mir selbst stark zweifeln lässt:

qrm_text.lines.Text := m_text.Lines.strings[x]; Dieser Code müsste doch die x-te Zeile eines Memos in das qrMemo schreiben, oder ist der Freitag doch schon so fortgeschritten?
Stattdessen wird so jedes Zeichen einzeln übernommen. - Also steht dann pro Zeile nur 1 Zeichen

Im Memo steht der Text aber korrekt drin, also wirklich zeilenweise.
Ich habe das überprüft, indem ich in der gleichen Prozedur den kompletten Text in eine Datei geschrieben habe. Dort wird der Text dann richtig dargestellt.
Wäre nur 1 Zeichen pro Zeile gewesen, hätte es in der Textdatei genauso aussehen müssen, da nach meiner Erfahrung #13#10 mit in die Datei geschrieben und dadurch ein Zeilenumbruch erzwungen wird

Bitte sagt mir, ob ich durchdreh und wie es richtig lauten müsste...
  Mit Zitat antworten Zitat
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
264 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: quickreport und TQRMemo

  Alt 13. Mai 2005, 14:34
Hi,

so:
Code:
qrm_text.lines.Text := m_text.Lines[x];
Ergänzend: So wie Du zugegriffen hast bekommst Du das n-te Zeichen eines Strings.

Grüße

Frank
Frank
  Mit Zitat antworten Zitat
Martoeng

Registriert seit: 21. Jun 2004
44 Beiträge
 
#8

Re: quickreport und TQRMemo

  Alt 13. Mai 2005, 14:44
Das hab ich nach einer kurzen Forensuche auch bemerkt und ausprobiert - leider genau das gleiche "Phänomen" (wird das so geschrieben? )

Ach naja, jetzt is erstmal Feierabend - Dienstag morgen wird sich mir wahrscheinlich die Netzhaut ablösen wenn ich einen total dummen Fehler finde....

Also schönes Pfingstwochenende Sourcemaker , und wir lesen uns hoffentlich Dienstag weiter...


Gruß

Martoeng
  Mit Zitat antworten Zitat
Martoeng

Registriert seit: 21. Jun 2004
44 Beiträge
 
#9

Re: quickreport und TQRMemo

  Alt 17. Mai 2005, 14:42


Jaja, der Freitag....
War natürlich, wie vermutet, ein völlig bescheuerter Fehler meinerseits, dass für jedes Zeichen eine eigene Zeile genommen wurde...

Naja, nun klappt alles wunderbar.
Also danke für den Tipp mit dem SubDetailBand, Sourcemaker -> Das wars was ich gebraucht habe.

Gruß

Martoeng
  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:13 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