I. Introduction▲
Nous allons vous présenter un certain nombre de solutions pour l'édition de vos états. Il n'y a pas une réponse unique, car la réponse dépend de votre budget et de vos besoins. Par exemple, vous pouvez rechercher un générateur d'états pour développeur, performant et avec déploiement léger, ou à l'inverse une solution de générateur d'états convivial en français pour les utilisateurs finals de votre application. Vous avez peut-être besoin de savoir s'il y aura une évolution possible vers Linux, et enfin peut-être que vous cherchez n'importe quel générateur d'états, pourvu qu'il soit gratuit. Par ailleurs, pour certains d'entre eux, nous vous présenterons des astuces et des ressources pour les générateurs d'états en question.
II. Crystal Reports▲
Crystal Reports pour Windows de Seagate Software peut s'utiliser avec pratiquement n'importe quel outil de développement, par exemple Delphi , Borland C++Builder , Visual Basic et Visual C++.
II-A. Pour▲
- Pérénité : Crystal Reports est le Leader du marché.
- Convivialité : création d'un rapport facile et rapide, nombreuses fonctionnalités. Crystal Reports est un des plus riches en fonctions, tout en restant très convivial.
- Outil utilisateur final : rapports modifiables par l'utilisateur final (s'il dispose de Crystal Report). Il peut modifier par lui-même la présentation des rapports et même ajouter des champs tant qu'ils respectent les liens de la base de données.
- Francisation : produit , documentation et support en français.
- En général : fiabilité de l'impression et des prévisualisations. Comme il est convivial, puissant et en français, Crystal Reports est une solution à considérer si vous souhaitez que les utilisateurs finals adaptent ou créent des états, et à condition que vous soyez prêt à faire l'acquisition des licences nécessaires. La pérennité de Crystal Report ne fait aucun doute, et vous trouverez des francophones pour vous aider si vous avez un problème, et des outils tiers pour complémenter Crystal Reports. La version 8 apporte plusieurs améliorations, dont surtout la possibilité de publier facilement les états sur le Web.
II-B. Contre▲
- Déploiement : pour la distribution des applications évidemment c'est plus lourd que QuickReport ou FastReport, c'est à déployer en plus avec un gestionnaire d'installationcomme InstallShield, et cela ne peut pas être inclus avec votre exe Delphi par exemple.
- Accès SGBD : Crystal Reports est indépendant des outils de développement que vous utilisez, il a ses propres accès aux bases de données natifs ou ODBC, sans passer par le Borland Database Engine, ce qui ne vous empêche pas de faire des requêtes par exemple avec Delphi ou C++Builder et de publier le résultat grâce à une table générée pour l'occasion. Crystal Reports n'a pas d'accès natif à InterBase, il faut utiliser un pilote ODBC.
- Outil utilisateur final : l'outil de modification pour l'utilisateur final est payant : pour que vos utilisateurs adaptent vos états, ou en créent de nouveaux, il vous faut faire l'acquisition des licences nécessaires.
- Souplesse : il est impossible de construire complètement un état par programme, il existe de nombreuses possibilités de paramétrage, mais on ne peut pas changer dynamiquement le contenu ou le visuel des colonnes. Le format des .RPT est propriétaire et n'est pas publié (à notre connaissance).
- Performance : temps de chargement et d'exécution des états assez long.
- Portabilité : Crystal Reports est un produit spécifique pour Windows, ce n'est donc pas l'idéal si vous souhaitez évoluer vers Linux avec Kylix, le futur Delphi pour Linux. Donc si vous cherchez une solution multiplateforme, il faudra peut-être utiliser autre chose.
II-C. Astuces▲
- Si nécessaire, pour un fonctionnement parfait avec votre outil de développement, comme Delphi et C++Builder, téléchargez les patches respectifs sur l'espace téléchargement du site de Business Objects. Le site Web de Business Objects est très bien fait, avec aussi de nombreux patches pour corriger tous les problèmes que vous pouvez avoir avec toutes sortes de bases de données.
- Pour utiliser des graphes TeeChart avec Crystal Reports : utilisez la méthode TeeChart's SaveToBitmapFile. Le bitmap résultat peut alors être lié en OLE dans votre état Crystal Report.
III. QuickReport▲
QuickReports de QuSoft est le générateur d'états livré avec les versions Entreprise de Delphi et Borland C++Builder , mais c'est uniquement la version Standard de QuickReport qui est incluse.
III-A. Pour▲
QuickReports est assez bien conçu, et son modèle événementiel assez bien fait. La dernière version Professionnelle de QuickReports exporte très bien les états QR vers les traitements de texte (dont MsWord évidemment) : sélectionnez QRRTFFilter. La dernière version gère mieux les sauts de page, et supporte RX Library &InfoPower 2000. Dans la version Professionnelle de QuickReports il y a plus de filtres que ceux livrés dans la version Standard, et il est possible de dériver la classe de base pour créer ses propres filtres. Le code source livré avec la version Professionnelle permet aussi de créer des contrôles QuickReports personnalisés. Enfin, l'acquisition de la version Pro donne l'accès au support technique de Qsoft. Même si les avantages de la version Pro de QuickReports ne vous sautent pas aux yeux, si vous avez investi du temps pour apprendre à utiliser QuickReports Standard pour créer des états, autant acheter la mise à jour vers la version Pro. Vous allez bénéficier de plus de possibilités, mais surtout si vous avez le moindre problème le code source de la version Pro vous permettra de vous en sortir plus vite. QuickReports est loin d'être parfait, mais avec un peu de travail et le code source, on peut arriver à faire à peu près tout ce que l'on veut. La distribution des états est libre de droits, et Quickreports prend peu de place dans les .exe des applications. QuickReports est avant tout un outil pour développeurs, donc vous.
Comme il est très répandu, car inclus avec Delphi et C++Builder, QuickReports offre des avantages stratégiques importants :
- les autres outils et composants sont souvent adaptés pour bien fonctionner avec QuickReports (exemples : TeeChart,Rxlib, InfoPower, etc.). Mais il faut parfois aller sur le site des éditeurs en question pour appliquer des patches pour que tout fonctionne bien ;
- il existe pas mal de composants en Freewares ou Sharewares qui complètent QuickReports.
III-B. Contre▲
- Fiabilité : QuickReports peut dérouter par la présence de comportements inattendus et des problèmes occasionnels lors des impressions, et pour s'en sortir, QuickReports nécessite que vous utilisiez de préférence toujours la toute dernière version Professionnelle, et que d'autre part vous lui consacriez suffisamment de temps pour apprendre à contourner ses petits inconvénients.
- Souplesse : les formules à l'intérieur des composants sont limitées.
- Outil utilisateur final : QuickReports n'est pas la solution idéale si vous souhaitez que vos utilisateurs adaptent vos états ou créent leurs propres états. Même s'il existe une possibilité de le faire avec la version pro., ou mieux avec le Shareware QuickReport Artist, c'est en anglais. Par contre si vous pensez que c'est suffisant, si vous sortez avec QuickReports du RTF vers un traitement de texte, c'est modifiable au moins à ce stade.
- Portabilité : rien d'annoncé à ce jour pour le portage de QuickReports vers Linux, et QuickReports ne sera pas inclus dans la version Linux de Delphi : Kylix, le futur Delphi pour Linux. Donc si vous cherchez une solution multiplateforme, il faudra peut-être utiliser autre chose.
III-C. Astuces▲
- code-barre : si vous utilisez un objet Code Barre comme celui de SysTools 2 de TurboPower, sauvegardez le code-barre dans un fichier Bitmap et imprimez le Bitmap dans QuickReports.
- Imprimez en PDF : achetez Adobe Accrobat, cela vous donne un pilote d'imprimante que vous installez, quand vous imprimez faites-le sur le pilote Adobe et un fichier PDF est produit.
- Le générateur d'états pour les utilisateurs finals livré avec QuickReport Pro. est un peu abrupt, et sans aide. Utilisez plutôt celui de : QuickReport Artist ($75). QuickReports Artist complète QuickReport, il permet aussi de sauvegarder des états dans les formats .PAS et DFM, il supporte Delphi 5, y compris IB Express et ADO, ainsi que DBISAM et Advantage DataBase Server. Il inclut aussi des formats d'étiquettes. Cependant, QuickReport Artist souffre des mêmes limitations que QuickReports, et il n'est ni aussi simple ni aussi sophistiqué que le module utilisateur de ReportBuilder. Voir aussi un autre module pour utilisateurs finals en add-on à QuickReports : QRDesign.
- Téléchargez la documentation de QuickReport : QuickReport.zip
IV. ReportMaker▲
ReportMaker a été développé en Delphi par une Société française : Synactis. ReportMaker peut s'utiliser avec pratiquement n'importe quel outil de développement, par exemple Delphi, Borland C++Builder, Visual Basic et Visual C++.
IV-A. Pour▲
Produit et documentation en français avec pas mal d'atouts, et support technique en français. Très facile d'utilisation avec de très bonnes idées pour le positionnement et l'alignement des colonnes. Certainement le plus simple à utiliser quand on veut faire des tableaux avec des traits verticaux et horizontaux. La génération des états est très rapide (c'était même le plus rapide pour la génération d'un état de 550 pages = 30 secondes). Il génère un fichier texte facilement lisible et modifiable. C'est un outil assez bien fait, et assez riche. Il s'intègre bien aux applications Delphi grâce à des composants VCL. Il fonctionne bien avec InterBase, et fait les codes-barres. Il existe aussi en complément de ReportMaker un produit qui s'appelle TurboPrinter pour l'impression Delphi haut débit et aussi un produit de requête qui s'appelle Datasurfer qui complète ReportMaker pour en faire un Infocentre complet. Il existe une version d'évaluation. Il semble que l'éditeur, Synactis, soit déterminé à porter ReportMaker sous Linux, grâce à Kylix, le futur Delphi pour Linux. Le module TurboPrinter permet d'effectuer des impressions rapides sur les imprimantes matricielles. L'outil de modification pour l'utilisateur final est payant. De plus, l'utilisateur final ne peut créer de nouveaux états que s’il dispose d'un driver BDE ou ODBC, quid de DBISAM et FlashFiler.
IV-B. Contre▲
Quelques bugs et l'outil end-user est payant. Il n'est pas possible de se procurer le source, donc le produit tel qu'il est doit répondre à tous vos besoins, sinon pas d'adaptations possibles.
V. ReportBuilder▲
Report Builder de Digital-metaphors et il s'avère que c'est un des meilleurs générateurs d'états actuels pour Delphi, et ce n'est pas étonnant que cet outil ait gagné le prix Delphi Informant du meilleur générateur d'états pour Delphi. La philosophie est un peu celle du générateur d'états de Paradox. La version entreprise permet d'écrire des scripts qui sont interprétés et exécutés avec l'édition.
V-A. Pour▲
- Possibilités et convivialité : ReportBuilder est un super produit, sophistiqué, plein d'astuces, bonne prévisualisation, bonne impression, puissante de la librairie et puissant tableau croisé.
- Outil utilisateurs finals : bon module pour les modifications utilisateurs. Ce module utilisateur est plus complet et mieux fini que QuickReport Artist. Possibilité de définir un dictionnaire de données pour faciliter le travail de l'utilisateur final.
- Accès SGBD : très souple au niveau des accès SGBD, par exemple connexion possible avec n'importe quel composant dérivé de TDataset. Il y a une connexion native avec InterBase, et le support de la conception des états par les utilisateurs finals.
- Francisation : c'est un produit en langue anglaise, mais la traduction dynamique de l'interface en plusieurs langues dont le français est disponible, donc aucun problème pour créer des états entièrement francisés.
- Souplesse : l'interpréteur Delphi est une excellente idée, car cela fait de ReportBuilder un vrai système d'impression indépendant programmable avec gestion des événements sans avoir à recompiler l'application.
- Déploiement : Report Builder est un composant VCL qui ne nécessite aucune installation (puisque compilé dans l'exe) comme QuickReport et FastReport. Il est possible d'utiliser ReportBuilder sans le BDE, donc de diffuser des applications Delphi avec des états ReportBuilder sans le BDE. Pour le déploiement, ReportBuilder vous demande 1098 Ko, ce qui est moins que Crystal Report, mais plus que FastReport et QuickReports.
- Portabilité : Digital-metaphors : l'éditeur de ReportBuilder a annoncé le portage de ReportBuilder sous Linux, grâce à Kylix, le futur Delphi pour Linux. Grâce à cette annonce, et compte tenu de la qualité de produit, ReportBuilder est le produit recommandé pour les développements multiplateformes Windows et Linux ?
V-B. Contre▲
- Pour réussir à faire ce que vous voudrez, ReportBuilder vous demandera un investissement minimum en autoformation.
- Performance : l'interface utilisateur est aussi un peu lente, mais c'est de moins en moins un problème avec les machines actuelles. Lors des tests c'était un des plus lents (550 pages = 1'40 s.).
- Prix : l'outil de scripting RAP n'est disponible que dans la version 5 Entreprise (plus de 700 $ par développeur). RAP permet d'écrire des formules Pascal-like qui seront interprétées lors de l'exécution de l'état.
- Présence en France : ReportBuilder n'est pas encore très répandu pour l'instant en France, mais il semblerait qu'il commence à gagner en France de plus en plus d'adeptes. Par contre la pérennité est bonne, car bien représenté aux USA.
V-C. Astuces▲
- Add-ons pour ReportBuilder : http://www.waler.com/
VI. FastReport▲
FastReport est un générateur d'états pour Delphi et Borland C++Builder. Au départ FastReport était un Freeware (version 2.2) , maintenant c'est devenu un Shareware (version 2.4X) qui est développé par un Russe : Alexandre Tzyganenko. FastReport est développé en Delphi, et le code source (très bien écrit) en Delphi est disponible. Le passage à l'état de Shareware a été accompagné par une nette amélioration du produit. Cependant, plusieurs personnes collaborent au projet, y compris deux Français : et , pour la localisation et la création de modules complémentaires. Site http://fast-report.com/en/. La version Linux / Kylix de FastReport est en cours de développement.
Il existe des « Clones » : FreeReport qui est basé sur une version plus ancienne de FastReport, mais en projet Freeware open source http://freereport.sourceforge.net/en/.
VI-A. Pour▲
- Puissance et convivialité : FastReport est élégant, stable, très complet et simple à utiliser : tout est fait simplement. FastReport fait à peu près tout ce que fait ReportBuilder Entreprise pour seulement 99$.
- Francisation : l'interface utilisateur est traduite en une dizaine de langues, dont le français. La francisation de l'outil end-user est bonne. Toutes les ressources liées à une langue sont dans des fichiers .RC (les .RES sont aussi fournis). Il livre également les .BAT pour effectuer la recompilation des .RC C'est très facile de corriger les imperfections de la traduction.
- Souplesse : des événements permettent d'agir sur l'état pendant l'exécution. Un interpréteur proche du Pascal permet à l'utilisateur final d'écrire des formules qui seront interprétées lors de l'exécution de l'état. Le langage est extensible par le développeur. L'utilisateur peut créer dans son état des dialogues qui vont lui permettre de saisir des paramètres. Les paramètres saisis peuvent être utilisés dans les formules (Crystal Reports permet de faire la même chose). Au début, on est un peu surpris parce qu'il n'y a pas beaucoup de composants, mais les composants proposés sont très polyvalents. Le Designer utilise l'approche classique des bandes et les propriétés des composants sont modifiées « à la Delphi » avec un inspecteur d'objets, ce qui est très bien pour les développeurs. Heureusement la version 2.4 permet de traduire, via un fichier .RC, les noms des propriétés.
- Source : fournis. Le code Delphi est concis, efficace, bien écrit, bref un exemple à suivre.
- Rapidité : au test de rapidité : 550 pages en 40 secondes.
- Déploiement : bien que cet outil soit puissant, son code est assez « léger » : FastReport vous offre probablement le meilleur rapport fonctionnalités/Taille. Le noyau de FastReport (sans le Designer) ajoute uniquement environ 770 Ko, soit moins que QuickReports (838 Ko).
- Ouverture : FastReport commence a être pris en compte par d'autres outils pour Delphi, tel que IBExpert par exemple.
- Kylix : la version CLX pour Kylix et Delphi est disponible : FastReport CLX est disponible.
VI-B. Contre▲
- Outil End-User : le Designer utilise l'approche classique des bandes, ce n'est pas toujours clair pour les utilisateurs. Dans un premier temps ils se contentent de modifier les états existants. Changer la présentation, ajouter des colonnes, changer l'ordre des colonnes. Les utilisateurs préfèrent en général des fenêtres modales pour modifier les propriétés d'un objet (comme le fait très bien Report Maker). L'utilisateur est habitué avec Microsoft, bouton droit + menu Propriétés. L'outil end-user utilise les barres d'outils, un inspecteur d'objets et les menus contextuels pour modifier les propriétés des composants utilisés dans l'état. Pour un utilisateur lambda (non informaticien), cette approche est un peu moins intuitive que la solution DialogBox (comme avec ReportMaker où l'utilisateur dispose pour chaque type de composant, d'un dialogue adapté aux propriétés de ce composant). L'inconvénient majeur de la solution Inspecteur d'objets est qu'elle ne permet pas facilement de franciser les propriétés. La propriété PrintChildIfInvisible n'est pas forcément parlante pour tout le monde ! Le langage des scripts est aussi en anglais (begin, end, while, repeat…), mais après un rapide coup d'œil dans les sources, je pense que la francisation du langage ne devrait pas tarder trop longtemps.
- Pérennité de FastReport : des fois qu'il lui arriverait quelque chose à Alexander. En cas de problème on a tous les sources. Si Alexander devait abandonner ce produit, il serait certainement continué sous forme open source ou autre, ce qui est déjà le cas avec FreeReport.
- Support Technique : on est en général tributaire d'une seule personne, et on ne peut quand même pas lui reprocher de partir en vacances, par conséquent, il faut essayer de s'appuyer sur le réseau des utilisateurs grâce aux forums.
VI-C. Astuces▲
- Un convertisseur de vos états QuickReports en FastReport.
- Grâce au composant TfrPrintGrid de FastReport, il est possible d'imprimer un dbgrid.
VI-D. Télécharger▲
- [SHAREWARE] FastReport 2.4.X: Téléchargez
- [Freeware] FreeReport 2.21_8a : fre221_8a.zip (342 Ko). Fichier *.lng français : frfrench.zip (5 ko, par ) (site)
VII. Rave de Nevrona▲
VII-A. Présentation▲
Rave est un outil de génération d'états et d'infocentre qui convient à tous les outils de développement (Delphi, C++, VB, etc.). La version testée est la version Windows, mais la version Linux est attendue prochainement. NEVRONA DESIGNS écrit des programmes très connus pour les produits Borland depuis 1995 tels que les célèbres composants Indy et le prédécesseur de Rave : ReportPrinter. Basé sur le logiciel ReportPrinter 3.0, RAVE 7.0 est bien plus qu'une simple mise à niveau : le produit a été totalement remanié avec une nouvelle gamme de possibilités, dont beaucoup sont uniques et vous feront gagner des centaines d'heures de programmation. RAVE REPORT est un concept de reporting qui a la capacité d'entreposer et de partager des informations venant de rapports multiples dans un seul dossier, ce qui simplifie le suivi du rapport et réduit de façon importante le temps nécessaire pour faire des changements globaux dans les rapports. Exemple de nouvelles possibilités : Rave Report renvoie vos rapports automatiquement sur le web de vos clients en HTML ou PDF.
VII-B. Rapport d'essai de l'outil de reporting de Nevrona (versions testées : pour C++Builder et pour Delphi) par Laurent Berne, consultant▲
Nevrona est une société bien connue dans l'univers Borland surtout pour sa suite de composants Internet (Indy). C'est donc relativement confiant quant à la stabilité du produit que j'ai téléchargé la version de démonstration des composants Rave 4. L'installation s'est déroulée sans problème, que ce soit la démonstration pour Delphi ou pour C++Builder. Avec les composants sont fournis divers exemples, un outil de design et des fichiers d'aide. La démonstration ne fonctionne qu'avec l'IDE en fonction.
Le principe de fonctionnement de base est simple : on conçoit un rapport sous l'éditeur (dénommé Rave.exe) et on l'inclut dans l'exécutable par l'intermédiaire du jeu de composants présent dans la palette du RAD.
Plus concrètement : dans votre application Delphi ou C++Builder, vous placez un composant de connexion Rave4 que vous reliez à votre DataSet. Dans une autre tâche, vous ouvrez l'éditeur Rave et vous incorporez par l'intermédiaire d'assistants les liens définis précédemment. À partir de là, la prise en main devient intuitive.
L'éditeur est très convivial. Son interface ressemble énormément à celle des RAD de Borland. Il possède sa propre palette de composants que l'on glisse sur le rapport en cours de conception. On dispose d'un inspecteur d'objets très similaire à celui déjà existant dans les RAD Borland. Chose curieuse, il y a aussi un inspecteur, appelé « Project Tree » qui ressemble beaucoup à l'Object Tree View qui arrive avec Delphi 6…
Les composants de connexion reconnaissent bien les interfaces de bases de données existantes (tous les dérivés de TDataSet dont TADOTable et TADOQuery). De plus il y a des composants de connexion destinés plus spécifiquement aux seuls TTable ou aux seuls TQuery. Une fois dans l'éditeur de rapport, ils apparaissent sous la forme d'objets « DataView ». C'est avec ces objets Dataview que l'on construit les rapports. Par exemple, on glisse un mémo, on règle la propriété Dataview sur la table qui nous intéresse, on détermine le champ… Et c'est tout ! On peut utiliser plusieurs DataView en même temps. Les relations maitre-détails se font en souplesse. Il est aussi possible de faire des rapports sans passer par l'éditeur, avec les composants « Printers »et les composants « Shells ». Avec très peu de code, on peut construire des rapports très efficaces. il suffit de regarder les exemples fournis pour s'en convaincre… L'objet Preview est de grande qualité… Il est facile de faire un préview personnalisé avec le composant TFilePreview : il suffit de glisser un TScrollBox sur la Form, de paramétrer le TFilePreview sur le ScrollBox et… là encore n'y a rien d'autre à faire !
Parmi les fonctionnalités que j'ai particulièrement appréciées :
- la possibilité de sauvegarder les rapports produits aux formats : NDR (Nevrona Designs Report), PRN (format natif des fichiers d'impression sous Windows), HTML, RTF et plus surprenant Adobe ACROBAT©…
- les composants Code-Barre fournis en standard et regroupant les formats les plus utilisés ;
- le composant pour faire des étiquettes ;
- une qualité d'impression et des possibilités de dessin qui satisferont les plus exigeants ;
- la possibilité d'inclure mes rapports dans la compilation de mon programme OU de les déployer de manière séparée, permettant des mises à jour facilitées…
Pour résumer, quand j'ai installé la démonstration de RAVE 4 je me suis dit : « Encore un système de reporting de plus… » Maintenant c'est un achat que je recommande pour tous ceux dont les outils standards de reporting ne suffisent pas. Nevrona, comme pour les composants Indy, nous propose une solution fiable et robuste.
Site de l'éditeur : http://www.nevrona.com/rave/
Téléchargez la version d'évaluation Standard (windows) rave4_oe_demo.exe (2,7 Mo)
VIII. Conclusion▲
Il n'y a pas de générateur d'états idéal, il vous faut faire un choix en fonction de votre budget, de votre existant, de vos besoins, et de vos évolutions possibles sous Linux.
Pour Visual Basic, Visual C++, Visual Studio c'est Crystal Reports ,ReportMaker ou Rave Pour Borland C++Builder c'est Crystal Report, QuickReport ou Rave FastReport. Pour Delphi, c'est celui que vous voulez :
- si vous n'avez pas de budget, c'est QuickReport Standard ou FreeReport ;
- si vous avez un budget suffisant, c'est peut-être ReportBuilder ou Crystal Reports ou Rave ;
- si vous avez besoin d'un module utilisateur final, c'est Crystal Report ou ReportBuilder, et éventuellement FastReport ;
- si vous avez juste besoin d'un générateur d'états performant pour Développeurs, avec déploiement léger, alors c'est FastReport, QuickReport et ReportBuilder.
Si vous avez Delphi ou C++Builder et commencé à utiliser la version standard QuickReports incluse, alors prenez la version Pro QuickReports, patchez pour avoir toujours la dernière version de Delphi et de QuickReport, investissez-vous un peu, éventuellement utilisez les nombreux Sharewares pour QuickReports et ça devrait aller. Et pour la distribution, les .exe sont petits, c'est la satisfaction. Si QuickReport vous sort par les yeux, que vous êtes exigeant, que vous êtes à l'aise en anglais, et que votre machine est assez puissante, essayez FastReport ou ReportBuilder. Une fois que vous maîtriserez ReportBuilder, vous n'aurez plus de problèmes de générateurs d'états, car c'est sans conteste le meilleur.
Si vous cherchez un produit en français, avec interlocuteurs en France, et avec un générateur d'état convivial en français aussi pour les utilisateurs, c'est Crystal Reports le plus répandu. Toujours en français, ReportMaker est mieux intégré que Crystal Reports dans Delphi, mais pas encore très répandu.
Enfin, si vous envisagez de développer pour Linux, avec Kylix (Delphi pour Linux), alors la recommandation pour l'instant c'est FastReport et Rave dont les versions Linux sont en cours de développement.