Comme pour le titre, inserez une bande de type "Données maître".
puis double clic sur cette bande pour sélectionner la source de
données principale qui est frDBDataSet1 dans notre exemple.
Sur la première moitié de la bande à gauche, inserez
un objet rectangle et double clic dessus.
Ici pour cet exemple, on a mis plusieurs champs mais on peut réserver
un rectangle pour un seul champ afin d'appliquer des formats par exemple
(on verra ça plus tard).
La première ligne "Nom [champ nom]" est obtenue en saisissant "Nom
" puis avec le bouton "Variables", on a inserré la variable [champ
nom] (on aurai pu directement l'écrire).
Pour la seconde ligne "Taille [[Table1."SIZE"]*2.54] cm" on a saisi "Taille
" puis avec le bouton "Données", on a choisi le champ SIZE de Table1
et pour convertir ce champ exprimé en pouce en cm, on a multiplié
ce champ par 2.54 le tout entre [].
On peut voir la puissance de FastReport, avec simplement 1 objet rectangle,
on a mis sur notre état, 2 libellés, 2 champs de données
dont 1 calculé.
Maintenant, sur la partie de droite de la bande, placez un objet image.
Pour éditer toujours la même image, il suffirait de double
clic sur cet objet et de charger l'image souhaitée. Nous on souhaite
une image liée aux données, pour cela, appuyez sur F11 pour
afficher l'inspecteur d'objet .
Renseignez la propriété Memo avec la variable [Champ image].
Le fait de faire cela, transforme notre objet image en image liée
aux données.
24.3 - Résultats
Voila, notre premier état est terminé, il faut l'enregistrer
avec le nom "rap1frf".
Un clic sur la prévisualisation donne ceci :
Maintenant, il faut écrire le code nécessaire pour charger
et visualiser ou éditer votre état "rap1.frf" depuis votre
application. Pour cela, ajouter à votre projet le code suivant (et
Hop!) vous avez une édition avec prévisualisation et
vous donnez la possibilité aux utilisateurs finaux de modifier cet
état sans avoir à modifier l'application de base.
procedure TForm1.Button2Click(Sender: TObject);
begin frReport1.LoadFromFile('rap1.frf');
FrReport1.ShowReport;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin frReport1.LoadFromFile('rap1.frf');
frReport1.DesignReport;
end;