AGB  ·  Datenschutz  ·  Impressum  







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

Fastreport druckt Stringliste nicht

Ein Thema von Hansa · begonnen am 30. Dez 2014 · letzter Beitrag vom 2. Jan 2015
Antwort Antwort
Seite 1 von 2  1 2      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Fastreport druckt Stringliste nicht

  Alt 30. Dez 2014, 12:55
Moin,

habe hier einen Fastreport und will damit eine Stringliste drucken. Relevanter Sourcecode :

Delphi-Quellcode:
procedure TfrmFrDruck.btnDruckenClick(Sender: TObject);
begin
  Memo1.Lines := slZeilen;
  StringDS.RangeEnd := reCount;
  StringDS.RangeEndCount := slZeilen.Count;
  frDruck.ShowReport;
end;

procedure TfrmFrDruck.StringDSGetValue(const VarName: string;
  var Value: Variant);
begin
// if CompareText(VarName, 'element') = 0 then
  Value := slZeilen[StringDS.RecNo];
end;
Das ist mehr oder weniger aus der Demo PrintStringlist abgekupfert. StringDS ist dabei ein TfrxUserDataset. slZeilen ist die Stringliste und die zeigt mir ein Memo auch gefüllt an. Das GetValue soll ja wohl die Werte übergeben, aber da landet das Programm nie und dementsprechend ist der Report leer. Wo ist da ein Fehler oder wo muss noch was eingestellt werden ?

Und dann noch das CompareText. Wozu das ? Wo kommt 'element her' ? Wo reCount herkommt ist auch nicht klar. Sorry, aber die Fastreport-Demos sind unter aller Sau. Da erzählt man jedem Anfänger, dass der Quelltext zu kommentieren ist. Die Herrschaften von Fastreport haben das aber nicht mal in ihren Demos nötig.
Gruß
Hansa

Geändert von TBx ( 1. Jan 2015 um 17:36 Uhr) Grund: Titel korrigiert
  Mit Zitat antworten Zitat
Benutzerbild von borncrush
borncrush

Registriert seit: 18. Dez 2005
Ort: Berlin
115 Beiträge
 
Delphi XE7 Enterprise
 
#2

AW: Fastreport fruckt Stringliste nicht

  Alt 30. Dez 2014, 23:14
Hallo,

na als erstes ändert sich ja dein "[StringDS.RecNo]" ja nie. Wodurch auch?

Die Methode StringDSGetValue ruft nur festkodierte Parameter auf.

Beispiel, im Report hat ein Textfeld den Inhalt "[TestParam]". So würde dann folgender Methodenaufruf aussehen:

Delphi-Quellcode:
if CompareText(VarName, 'TestParam') = 0 then
  Value := slZeilen[2]; //fester Aufruf zum ItemIndex
Um eine dynamische Anzahl von Zeilen im Report darzustellen, wäre die Arbeit mit einem Dataset einfacher und tendenziell wartbarer.


EDIT: Ach es gibt ja wirklich eine druckbares StingSet.
Hast Du auch im Report den DataSet im MasterData auch auf das StringDS gesetzt?
Delphi programming

Geändert von borncrush (30. Dez 2014 um 23:19 Uhr) Grund: einfach so
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Fastreport fruckt Stringliste nicht

  Alt 30. Dez 2014, 23:41
Hi Hansa,

Und dann noch das CompareText. Wozu das ? Wo kommt 'element her' ?
Element ist der Name der Variable, die irgend wo im Report einem TfrxMemo zugewiesen ist. Wenn das nicht der Fall ist (sprich es gibt keine Variable), dann wird auch nix gedruckt...

Wo reCount herkommt ist auch nicht klar.
Aber Hansa Nennt sich benannte Konstante.... Vielleicht ist es auch ein Enum... Jedenfalls eine Einstellung von FastReport. Kannst Du auch beim TfrxUserDataset direkt im Objektinspektor einstellen...

Sorry, aber die Fastreport-Demos sind unter aller Sau. Da erzählt man jedem Anfänger, dass der Quelltext zu kommentieren ist. Die Herrschaften von Fastreport haben das aber nicht mal in ihren Demos nötig.
Sicher, die kennen ihren Code auch so - ohne Doku... Sprich: oft genug im Forum fragen, Supportcase eröffnen, irgend wann werden die hoffentlich auch ihre Doku verbessern...
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

AW: Fastreport fruckt Stringliste nicht

  Alt 30. Dez 2014, 23:52
'Das da kann man kaum lesen. ' Das betrifft jetzt borncrush.
Gruß
Hansa

Geändert von Hansa (30. Dez 2014 um 23:57 Uhr)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

AW: Fastreport fruckt Stringliste nicht

  Alt 31. Dez 2014, 14:39
StringDS dem Report als Dataset zuzuweisen nützt nichts. Und das mit der RecNo ist vorerst irrelevant. Denn das StringDSGetvalue wird ja erst gar nicht erreicht. Vorerst also auch egal, was da drinsteht.

Element ist der Name der Variable, die irgend wo im Report einem TfrxMemo zugewiesen ist. Wenn das nicht der Fall ist (sprich es gibt keine Variable), dann wird auch nix gedruckt...
Welche Variable muss denn dem TfrxMemo zugewíesen werden ? Auf dem Report selbst liegt ein Masterdata-Band und da drauf ein TfrxMemoView. Welche Variable muss ich jetzt was und wo zuweisen ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Fastreport fruckt Stringliste nicht

  Alt 31. Dez 2014, 17:15
Hansa, ist das ein Demoprojekt? Dann stell es doch mal rein.

Normal solltest Du eine Variable definieren (im Reportdesigner: Report - Variables) und dann im frxMemo diese Variable einfach zuweisen (doppelklick rein und dann halt über den Editor auswählen, so wie Du ein Datenfeld auswählst - diesmal halt nur eine Variable)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

AW: Fastreport fruckt Stringliste nicht

  Alt 31. Dez 2014, 18:55
Keine Demo, eher Test. Trotzdem Zwischenfazit : mit D7 und dem vielgeschmähten Quickreport wäre das das da schon längst fertig. Und der vielgerühmte Fastreport ist alles andere als gut. Schlecht zu durchblicken, miese Demos, mittelmässige und halbfertige Dokumentation.
Angehängte Dateien
Dateityp: zip test.zip (4,8 KB, 5x aufgerufen)
Gruß
Hansa
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Fastreport fruckt Stringliste nicht

  Alt 31. Dez 2014, 19:49
Trotzdem Zwischenfazit : mit D7 und dem vielgeschmähten Quickreport wäre das das da schon längst fertig.
das mag bei dem "Report" sein. Schon mal Steuermarkierungen für Kouvertiermaschinen mit Quickreport ausgedruckt?

Anbei die Korrektur:

1. Du musst das UserDataset in den Report aufnehmen und dem Masterband zuweisen (wie ein "normales" Dataset)
2. Du willst ein Feld drucken, also das im UserDataset definieren und keine sieben Felder
3. alle Methoden des UserDataset implementieren: CheckEOF, Prior, ....
4. Dem FrxMemo das Feld zuweisen...

und dann klappts auch mit dem drucken...
Angehängte Dateien
Dateityp: zip Test_WL.zip (2,4 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#9

AW: Fastreport fruckt Stringliste nicht

  Alt 31. Dez 2014, 20:06
Meistens besteht ein VCL-Projekt sowohl aus Pascal-Quelltext als auch DFM-Informationen. Das sollte Hansa eigentlich wissen.

Ich halte es auch für einen Schildbürgerstreich, die Usability von zwei Frameworks derart zu beurteilen, das man das eine Framework zum ersten Mal benutzt, das zweite aber offenbar aus dem FF beherrscht. Und dann noch nicht einmal ein Demoprojekt abkupfern kann. Also ich weiß nicht, vielleicht ist das nicht ganz so seriös...

Also ich hab 99% der FastReport-Demos ziemlich schnell kapiert (oder ich rede mir das jetzt schön, wäre auch denkbar ). Nur die Skriptengine ist zwar saugut, aber ziemlich unvollständig dokumentiert, da muss man einfach rumprobieren.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Fastreport fruckt Stringliste nicht

  Alt 31. Dez 2014, 20:39
Also ich hab 99% der FastReport-Demos ziemlich schnell kapiert (oder ich rede mir das jetzt schön, wäre auch denkbar ). Nur die Skriptengine ist zwar saugut, aber ziemlich unvollständig dokumentiert, da muss man einfach rumprobieren.
Rest aber auch. viele Funktionen/Anwendungsfälle sind einfach nicht dokumentiert, z.B. unterschiedliche Reports (fr3-Dateien) zu einem Report zusammen fügen... Das suchen sich die Supporter aber auch teilweise aus den Sourcen zusammen... so haben sie mir das zumindest vor ein paar Jahren mal erklärt.
  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 12:31 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