AGB  ·  Datenschutz  ·  Impressum  







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

Fastreport Variable auslesen

Ein Thema von ibp · begonnen am 14. Sep 2011 · letzter Beitrag vom 14. Sep 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#1

Fastreport Variable auslesen

  Alt 14. Sep 2011, 18:32
Hi,

wie man eine Variable vom Programm nach FR übergibt oder ausliest ist kein Problem.
Nun will ich aber die Variable im Report ändern und das klappt irgendwie nicht.

Code:
report.variables['MyVar']:=''''+'some text'+'''';
Speichert den Text "some text" zwar in MyVar aber ohne '. Anscheinend übersetzt die Skriptengine '''' nicht richtig!

Hat jemand eine andere Idee wie man einen String per FR-Skript in eine Variable speichert?

LG

R.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

AW: Fastreport Variable auslesen

  Alt 14. Sep 2011, 18:54
Funktioniert da QuotedStr ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: Fastreport Variable auslesen

  Alt 14. Sep 2011, 19:11
Mit QuotedStr und Literal funktioniert beides:
Delphi-Quellcode:
frxReport1.Variables['MyVar'] := QuotedStr('Von Außen');
frxReport1.Variables['MyVar'] := ''''+'Von Außen'+'''';
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#4

AW: Fastreport Variable auslesen

  Alt 14. Sep 2011, 20:08
innerhalb der FR Skripte gibt es leider kein QuotedString.

Nochmal ich möchte innerhalb des FR-Skriptes die Variable verändern nicht von dem aufrufenden Programm aus!
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Fastreport Variable auslesen

  Alt 14. Sep 2011, 20:16
Mit QuotedStr und Literal funktioniert beides:
Ich glaube, er wollte etwas anderes wissen.
Er will warscheinlich wissen, wie es im Report geht.

Von außen können Variablen mit Werten belegt werden. Das ist kein Problem.

Von innen sieht es etwas anders aus.

Delphi-Quellcode:
procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
  Report.Variables.Variables('test') := '''von innen''';
  Report.Variables['XXX'] := '''YYY''';
end;

begin
end.
Das funktioniert beides, Variable Test ist im Report definiert und wird gesetzt. Variable XXX ist im Report nicht definiert, kann aber trotzdem gesetzt und (z.B. im Memo) ausgelesen werden.

Im Report kann die Variable ausgegeben werden. (z.B. mit folgendem Text in einem TfrxMemoView: [XXX] bzw. [test])

ABER, diese Werte sind NICHT von außen (Delphi) verfügbar. Es erscheint nur die definierte Variable test mit dem vorher übergebenen Wert.

Wir verwenden "FastReport 4 Enterprise Edition".
Ich hoffe die Info hilft Dir.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: Fastreport Variable auslesen

  Alt 14. Sep 2011, 20:20
Aber auch in FScript geht es (nur nicht mit QutedStr):
Report.variables['myVar'] := ''''+'Von drinnen'+'''';
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#7

AW: Fastreport Variable auslesen

  Alt 14. Sep 2011, 20:46
ABER, diese Werte sind NICHT von außen (Delphi) verfügbar. Es erscheint nur die definierte Variable test mit dem vorher übergebenen Wert.
Mist und genau das brauche ich....

Jemand eine Idee wie ich Infos von innen nach außen transportieren kann?


Das Problem scheint die Zuweisung zu sein. Wenn man "innen" die Variable definiert und dann in dem "Definitions-Fenster" den Ausdruck der Variable festlegt, dann kann man sie auch von außen auslesen.

Was mir dabei auffällt ist, dass die vordefinierte Variabel beim ausgeben innen mit showmessage(<MyVar>) dann der Inhalt inklusiv Hochkommas ausgegeben wird, wenn ich den Wert innen im Skript zuweise wird er ohne Hochkommas ausgegeben!

Hmm
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Fastreport Variable auslesen

  Alt 14. Sep 2011, 20:53
Also im FastReport werden die Werte der Variablen als Ausdrücke behandelt.

Somit ergibt der zugewiesene Variablenwert
Code:
'Mein' + ' ' + 'Test'
als Ergebnis
Code:
Mein Test
Es wird also eine String-Verknüpfung durchgeführt.

Will man also einen QuotedStr
Code:
'Mein Test'
als Ausgabe haben, dann wie folgt zuweisen:
Report.variables['myVar'] := '''''Mein Test'''''; alternativ sollte auch funktionieren
Report.variables['myVar'] := '"''Mein Test''"';
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#9

AW: Fastreport Variable auslesen

  Alt 14. Sep 2011, 21:05
Report.variables['myVar'] := '''''Mein Test'''''; alternativ sollte auch funktionieren
Report.variables['myVar'] := '"''Mein Test''"';
hatte ich auch gedacht, leider funktioniert das nicht, es wird jeweil mit Fehlermeldungen quittiert!

Code:
...Fehler im Ausdruck ''''Mein Test'''': Expression expected
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Fastreport Variable auslesen

  Alt 14. Sep 2011, 21:08
Delphi-Quellcode:
...
  Report.Variables.Variables('test') := '''von innen''';
  Report.Variables['XXX'] := '''YYY''';
...
Anmerkung:

Es funktioniert auch der folgende Zugriff auf Variablen in FR:
Delphi-Quellcode:
...
  Report.Variables['XXX'] := '''Das ist ein Test''';
  ShowMessage( <XXX> ); // gibt Inhalt von XXX aus;
  ShowMessage( Get(XXX) ); // gibt Inhalt von XXX aus;
  Set('XXX', '''Test'''); // XXX wird 'Test' zugewiesen.
...
Es gilt aber das gleiche wie bei den oben genannten Varianten.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  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:28 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