AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Fastreport - automatisches "positionieren" eines memoviews
Thema durchsuchen
Ansicht
Themen-Optionen

Fastreport - automatisches "positionieren" eines memoviews

Ein Thema von epex · begonnen am 20. Mai 2008 · letzter Beitrag vom 21. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
epex

Registriert seit: 3. Jun 2007
Ort: schwerin
11 Beiträge
 
Delphi 2005 Professional
 
#1

Fastreport - automatisches "positionieren" eines m

  Alt 20. Mai 2008, 12:06
Hi, ich habe folgendes Problem mit Fastreport.
Ich habe z.B. eine Anschrift und erfasse in einer Datenbank Daten wie z.B. anrede, name, strasse und hausnummer, plz und ort sowie variable telefon nummern und email adressen.
Mein Problem is jetzt das ich folgendes Drucken möchte:
Anrede
Name
Titel
Zusatz
Strasse + Hnr
PLZ + Ort
tel 1
tel2
fax
handy
.....

usw

ist auch eigentlich kein Problem ABER (!!!!) wenn jetzt Tel1 oder zusatz oder titel wegfällt dann is da ne blöde unschöne lücke.
Frage: wie realisier ichs nun das die Felder unter der lücke "hochrutschen" ???

mfg Phil
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Fastreport - automatisches "positionieren" ein

  Alt 20. Mai 2008, 12:12
Du solltest uns mitteilen, welche Version von Fastreport Du verwendest.
Es gibt nämlich gravierende Unterschiede zwischen den einzelnen Versionen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Fastreport - automatisches "positionieren" ein

  Alt 20. Mai 2008, 12:41
Bau doch das Memo mit frxMemoDaten.Lines.Add() zusammen oder schreib einen entsprechenden Ausdruck in das Memo zum Evaluieren.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
epex

Registriert seit: 3. Jun 2007
Ort: schwerin
11 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Fastreport - automatisches "positionieren" ein

  Alt 20. Mai 2008, 13:12
@ravenIV
ich benutze fastreport in der version 4.0.11

@union
ja das hatte ich mir auch schon überlegt nur dachte ich das es einfacher geht (ne propertie oder sonst was) wo ich dann bestimmen kann das sich das memo auf das darüberstehende beziehen soll
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Fastreport - automatisches "positionieren" ein

  Alt 20. Mai 2008, 13:32
Zitat:
ja das hatte ich mir auch schon überlegt nur dachte ich das es einfacher geht (ne propertie oder sonst was) wo ich dann bestimmen kann das sich das memo auf das darüberstehende beziehen soll
Leider gibt es kein Align = baTop. Die automatische Ausrichtung funktioniert nur mit baRight / baLeft in Verbindung mit AutoSize. Ich habe eine eher widerwärtige Lösung, ich gehe einfach die Werte von oben nach unten druch unt verschiebe alles ein Element nach oben, wenn leer (im Script-Event OnStartReport):
Delphi-Quellcode:
 
  if <qryLsAdrWE."NAME_2"> = 'then
  begin
     qryLsAdrWEName_3.Top := qryLsAdrWEName_3.Top-qryLsAdrWEName_3.Height;
     qryLsAdrWEName_4.Top := qryLsAdrWEName_4.Top-qryLsAdrWEName_4.Height;
     qryLsAdrWEStrasse.Top := qryLsAdrWEStrasse.Top-qryLsAdrWEStrasse.Height;
     qryLsAdrWEStrasse2.Top := qryLsAdrWEStrasse2.Top-qryLsAdrWEStrasse2.Height;
     qryLsAdrWELand.Top := qryLsAdrWELand.Top-qryLsAdrWELand.Height;
     qryLsAdrWEPlz.Top := qryLsAdrWEPlz.Top-qryLsAdrWEPlz.Height;
     qryLsAdrWEOrt.Top := qryLsAdrWEOrt.Top-qryLsAdrWEOrt.Height;
     qryLaendernamen.Top := qryLaendernamen.Top-qryLaendernamen.Height;
  end;

  if <qryLsAdrWE."NAME_3"> = 'then
  begin
     qryLsAdrWEName_4.Top := qryLsAdrWEName_4.Top-qryLsAdrWEName_4.Height;
     qryLsAdrWEStrasse.Top := qryLsAdrWEStrasse.Top-qryLsAdrWEStrasse.Height;
     qryLsAdrWEStrasse2.Top := qryLsAdrWEStrasse2.Top-qryLsAdrWEStrasse2.Height;
     qryLsAdrWELand.Top := qryLsAdrWELand.Top-qryLsAdrWELand.Height;
     qryLsAdrWEPlz.Top := qryLsAdrWEPlz.Top-qryLsAdrWEPlz.Height;
     qryLsAdrWEOrt.Top := qryLsAdrWEOrt.Top-qryLsAdrWEOrt.Height;
     qryLaendernamen.Top := qryLaendernamen.Top-qryLaendernamen.Height;
  end;
Das ginge mittels eines Arrays bestimmt noch eleganter.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Fastreport - automatisches "positionieren" ein

  Alt 20. Mai 2008, 13:32
Zitat von epex:
ja das hatte ich mir auch schon überlegt nur dachte ich das es einfacher geht (ne propertie oder sonst was) wo ich dann bestimmen kann das sich das memo auf das darüberstehende beziehen soll
Es gibt doch Ereignisse wie z.B. OnBeforePrint.
Damit kann man per "Code" im Report beeinflussen, was passieren soll.
Hier kannst Du dann bestimmen, dass wenn LabelVorname leer ist, dann LabelName um x Pixel nach oben gesetzt wird.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Fastreport - automatisches "positionieren" ein

  Alt 20. Mai 2008, 13:34
Kein Roter Kasten?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Fastreport - automatisches "positionieren" ein

  Alt 20. Mai 2008, 14:11
Äh, wieso konkatenierst Du die einzelnen Zeilen nicht, wobei Du nur nichtleere Zeilen addierst?

Delphi-Quellcode:
Procedure AddNonEmpty (aLines : TStrings; Const aLine : String);
Begin
  If Trim (aLine)<>'Then aALines.Add(aLine);
End;
Und schreibst dann 'aLines.Text' in eine TfrxMemo?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
epex

Registriert seit: 3. Jun 2007
Ort: schwerin
11 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Fastreport - automatisches "positionieren" ein

  Alt 20. Mai 2008, 15:07
so habs gelöst ^^
hab mir jetzt einfach nen richview genommen das ganze stretchable gemacht frag jetzt den wert inner DB ab über length() und wenns grösser 0 is dann wird halt ne line im richview geaddet ... jetzt isses nur noch interessant zu wissen wie ich die einzelnen lines formatieren kann

aber ansonnsten läufts soweit. danke für eure bemühungen

mfg Phil

*edit*
@union
was meintest du mit roter kasten ?
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Fastreport - automatisches "positionieren" ein

  Alt 21. Mai 2008, 08:03
Also wie die einzelnen lines formatted werden können, kannst Du mit Word / Wordpad outbecomen. You muss einfach das program starten, ein paar lines adden und nach deinen Requirements formatten und als RTF saven. Dann loadest Du das RTF-file und looks einfach, what das program draus gedoo'd haben. Mit ein wenig phantasy pastest Du dann die RTF-fragments simply in dein code.

Ick finde aber, dat denglish no outpress von professionalism is, sondern eher von lack of eigene languagekenntnisse. Ick woorde meer dat abgevoughnen, da dat weerglesh beschoyard kleanged.

Howdy.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:45 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