![]() |
Re: FastReport vs Crystal Report
Hallo, ich habe vor einigen Jahren auch diverse Möglichkeiten evaluiert. Die beste Lösung erschien uns damals FR. Gründe:
Klein, einfach, sehr umfangreich, extrem flexibel, Delphi-Nativ, Quellcode. Wir sind bis jetzt sehr sehr zufrieden damit. Daniel. |
Re: FastReport vs Crystal Report
Ich habe mich nach einem Vergleich zwischen ReportBuilder und FastReport auch für FR entschieden. Früher habe ich QR benutzt; Rave fand ich aber irgendwie nicht so toll.
|
Re: FastReport vs Crystal Report
FastReport ist schon sehr cool hat aber auch seine Schwachstellen:
(Version 4.9 VCL) - PDF-Export schreibt grausliche PDF-Dateien als Folge davon werden z.B. auf dem iPhone/Mac keine Schriften mit dem Attribut Fett angezeigt Quark XPress stürzt beim einlesen einer PDF ab RichText-Felder werden als Bitmaps exportiert Eine Ausgabe des Reports über einen PDF-Printer (pdfFactory) ergibt eine perfekte PDF-Datei - Datenverbindungen aktualisieren sich nicht Im Report erstellte Abfragen können zwar verbunden werden, jedoch wird die verbundene Abfrage nicht aktualisiert Die Script-Engine ist sehr genial, vor allem weil sich diese recht einfach erweitern lässt. Die fehlende MySQL-Unterstützung kann man so mal eben mit unterjubeln. |
Re: FastReport vs Crystal Report
FastReport liefert für allen möglichen Zugriffskomponenten ( z.B. von DevArt) spezielle DataSets, sicherlich auch für MyDAC
|
Re: FastReport vs Crystal Report
Zitat:
|
Re: FastReport vs Crystal Report
Zitat:
|
Re: FastReport vs Crystal Report
Zitat:
|
Re: FastReport vs Crystal Report
Könnt ihr mir noch ein paar Tips geben für die Benutzer, welche bisher gewohnt waren mit Crystal Report zu arbeiten, was mit FR jetzt besser ist? Ich meine, so ein Argument wie "...es gibt keine vernünftige Delphi Komponente für CR..." kratzt die herzlich wenig...
Es geht bei mir auch darum dass ein Benutzer die Reports anpassen kann und wenn er jetzt plötzlich statt vorher 150 Funktionen jetzt nur noch die Hälfte hätte, würde sich vermutlich schnell Unmut breit machen. |
Re: FastReport vs Crystal Report
Zitat:
Aber das meinte ich nicht. Beim FastReport kann ich direkt im Report auch einen Zugriff auf die Datenbanken machen. Mittels ODBC könnte ich (wenn der MySQL-ODBC installiert wäre) auch auf MySQL zugreifen. Aber ich finde MyDAC halt schöner ;) Mit dieser Unit wird dann auch MyDAC direkt im Report benutzbar. Einfach da einbinden, wo auch die FR-Komponente liegt.
Delphi-Quellcode:
{******************************************}
{ } { FastScript v1.9 } { MyDAC classes and functions } { } {******************************************} unit fs_imysrtti; interface {$I fs.inc} uses SysUtils, Classes, fs_iinterpreter, fs_itools, fs_idbrtti, db, DBAccess, MyAccess, DAScript, MyScript, MemDS; type TfsMYSRTTI = class( TComponent ); // fake component implementation type TFunctions = class( TfsRTTIModule ) private function CallMethod( Instance : TObject; ClassType : TClass; const MethodName : String; Caller : TfsMethodHelper ) : Variant; public constructor Create( AScript : TfsScript ); override; end; { TFunctions } constructor TFunctions.Create( AScript : TfsScript ); begin inherited Create( AScript ); with AScript do begin with AddClass( TDAParam, 'TParam' ) do begin end; with AddClass( TDAParams, 'TParams' ) do begin end; with AddClass( TCustomDAConnection, 'TCustomConnection' ) do begin end; with AddClass( TCustomMyConnection, 'TCustomDAConnection' ) do begin end; with AddClass( TMyConnection, 'TCustomMyConnection' ) do begin end; with AddClass( TMemDataSet, 'TDataSet' ) do begin end; with AddClass( TCustomDADataSet, 'TMemDataSet' ) do begin AddMethod( 'procedure Execute', CallMethod ); AddMethod( 'function Executing : boolean', CallMethod ); end; with AddClass( TCustomMyDataSet, 'TCustomDADataSet' ) do begin end; with AddClass( TMyTable, 'TCustomMyDataSet' ) do begin end; with AddClass( TMyQuery, 'TCustomMyDataSet' ) do begin end; with AddClass( TDAScript, 'TComponent' ) do begin end; with AddClass( TMyScript, 'TDAScript' ) do begin end; end; end; function TFunctions.CallMethod( Instance : TObject; ClassType : TClass; const MethodName : String; Caller : TfsMethodHelper ) : Variant; begin Result := 0; if ClassType = TCustomDADataSet then begin if MethodName = 'EXECUTE' then TCustomDADataSet( Instance ).Execute; if MethodName = 'EXECUTING' then RESULT := TCustomDADataSet( Instance ).Executing; end; end; initialization fsRTTIModules.Add( TFunctions ); finalization if fsRTTIModules <> nil then fsRTTIModules.Remove( TFunctions ); end. Zitat:
Wenn es um spezielle Funktionen zum Berechnen geht, so kannst du diese genauso integrieren, wie den Zugriff auf MyDAC. |
Re: FastReport vs Crystal Report
Es geht um keine speziellen Funktionen die noch zu integrieren wären, sondern darum, dass viele Kunden bisher mit Crystal Report gearbeitet haben. Wenn die nun plötzlich eine Anwendung haben die weit weniger kann brauche ich auf der anderen Seite Argumente was jetzt dafür besser geworden ist.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:50 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