![]() |
Fastreport Variable auslesen
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:
Speichert den Text "some text" zwar in MyVar aber ohne '. Anscheinend übersetzt die Skriptengine '''' nicht richtig!
report.variables['MyVar']:=''''+'some text'+'''';
Hat jemand eine andere Idee wie man einen String per FR-Skript in eine Variable speichert? LG R. |
AW: Fastreport Variable auslesen
Funktioniert da QuotedStr ?
|
AW: Fastreport Variable auslesen
Mit QuotedStr und Literal funktioniert beides:
Delphi-Quellcode:
frxReport1.Variables['MyVar'] := QuotedStr('Von Außen');
frxReport1.Variables['MyVar'] := ''''+'Von Außen'+''''; |
AW: Fastreport Variable auslesen
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! |
AW: Fastreport Variable auslesen
Zitat:
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:
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.
procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin Report.Variables.Variables('test') := '''von innen'''; Report.Variables['XXX'] := '''YYY'''; end; begin end. 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. |
AW: Fastreport Variable auslesen
Aber auch in FScript geht es (nur nicht mit QutedStr):
Delphi-Quellcode:
Report.variables['myVar'] := ''''+'Von drinnen'+'''';
|
AW: Fastreport Variable auslesen
Zitat:
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 |
AW: Fastreport Variable auslesen
Also im FastReport werden die Werte der Variablen als Ausdrücke behandelt.
Somit ergibt der zugewiesene Variablenwert
Code:
als Ergebnis
'Mein' + ' ' + 'Test'
Code:
Es wird also eine String-Verknüpfung durchgeführt.
Mein Test
Will man also einen QuotedStr
Code:
als Ausgabe haben, dann wie folgt zuweisen:
'Mein Test'
Delphi-Quellcode:
alternativ sollte auch funktionieren
Report.variables['myVar'] := '''''Mein Test''''';
Delphi-Quellcode:
Report.variables['myVar'] := '"''Mein Test''"';
|
AW: Fastreport Variable auslesen
Zitat:
Code:
...Fehler im Ausdruck ''''Mein Test'''': Expression expected
|
AW: Fastreport Variable auslesen
Zitat:
Es funktioniert auch der folgende Zugriff auf Variablen in FR:
Delphi-Quellcode:
Es gilt aber das gleiche wie bei den oben genannten Varianten.
...
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. ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz