Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo!

Ich habe die dankbare aufgabe mich um die ganzen Ausdruckmechanismen bei einem Projekt zu kümmern. Mit der RAP vom Reportbuilder kriege ich bald n'Vogel und wollte mal fragen ob jemand eine brauchbare(möglicherweise kostenlose) Alternative kennt.

Dank im Voraus von POINTERMAN!!!

Geschrieben

Na du Racker ;-)

Folgendes Problem stellt sich mir:

Ich habe einen Sub-Report und möchte auf Labels aus dem Hauptreport zugreifen. Mal angenommen ich hab im Hauptreport das Label Label3:

Label3.Width := Label3.Width + 3;

Das will nicht! Und

Report1.Label3.Width := Report1.Label3.Width + 2;

geht auch nicht. Is ja aber auch irgend ein dummer Fehler drin.

Außerdem ziehe ich mit einem DBText Strings aus der DB. Jetzt will ich mir eine Tabelle malen (so mit Linien). Um die Linien richtig auszurichten wollte ich eine Variable(TppVariable) nehmen und da die Länge des Strings reinschreiben, wenn sie länger als der bisher längste String ist. Klappt aber nicht weil die Variable immer wieder auf Null zurückgesetzt wird. Ich zeig dir einfach mal den Code (steht im "OnGetText"Event von der Variablen):

Label6.Text := Variable1.Text;

if strtoint(Variable1.Text) < Length(DBText2.Text) then

begin

Variable1.Text := IntToStr(Length(DBText2.Text));

end;

Wäre gut/nett wenn du mir da irgendwie helfen könntest, bin nämlich noch kein RB-Profi. Dank im Voraus...

POINTERMAN

Geschrieben

Moin moin,

das mit den Labeln ist nicht so darmatisch. Width kannst Du aus den Propertys auslesen. Diesen Wert weist Du einer globalen Variablen zu. Damit kannst Du dann weitermachen.

Überhaupt empfiehlt es sich beim RAP viel mit globalen Variablen zu arbeiten, da sonst sehr viel schreibarbeit notwendig ist.

Dein zweites Problem scheint ein Logikproblem zu sein.

Label6.Text := Variable1.Text;

if strtoint(Variable1.Text) < Length(DBText2.Text) then

begin

Variable1.Text := IntToStr(Length(DBText2.Text));

end;

Hier solltest Du ein anderes event waehlen z.B. "bevore print".

Ausserdem wuerde ich "Variable1.Text" schon vorher auf die laenge abklopfen, da an dieser Stelle der RAP tatsaechlich noch nicht so ausgereift ist. :(

Ich hoffe ich konnte Dir helfen. Ansonsten: morgen bin ich wieder hier, dann kannst Du mich loechern. Da habe ich auch mehr Zeit :D :D

Geschrieben

Moin moin,

jetzt verstehe ich auch was Du meinst.

Und der Fehler ist, dass Text immer auf 0 gesetzt wird?

Hast Du es auch hier einmal mit einer globalen Variablen versucht? Wieviele SubReports hast Du denn in Deinem Report?

Geschrieben

Guten Morgen!

Also Text gehört hier ja zu Varaible1 (Variable1.Text). Die Sache ist, daß anscheinend vor jedem if Text wieder auf 0 gestzt wird.

Sub-Reports hab ich nur einen. Das gehört aber nicht zu der if-Problematik(hab ich vielleicht nicht klar genug gesagt). Das ich nicht auf Objekte außerhalb des Sub-Reports zugreifen kann ist ein Problem, die Sache mit dem if und den Variablen ein anderes.

Was genau meinst du mit einer globalen Variable(was das ist, ist mir schon klar ;) )? Meinst du eine Variable in RB, was meine Variable1 ja ist, oder eine Variable die in Delphi als global definiert ist(was ich irgendwie nicht glaube.) Mir selbst die Eselskappe aufsetzend...

POINTERMAN:WD

Geschrieben

Moin moin,

eine globale Variable im RB legst Du folgendermassen an (wenn Du die Version 5 benutzt):

[*]Reiter: Calc

[*]Rechtsclick auf Report Bands

[*]Module waehlen

[*]Jetzt bist Du im "Module View"

[*]rechts Variables auswaehlen

[*]Variablen deklarieren

[/list=1]

Damit kannst Du dann alles machen, was Du brauchst.

Bei weiteren Fragen:

Hier bin ich ;) ;) ;)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...