QUICKREPORT

Signaler
Messages postés
4
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
25 février 2005
-
Messages postés
27
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
24 février 2005
-
Bjr,

voila je cherche une solution pour renvoyer des informations d'un fichier texte dans
un quickreport: le pb c'est que je ne sais pas combien de lignes je vais renvoyé,
je peux renvoyé 40 lignes ou 20 lignes tt dependra.
mais comment préparé mon quickreport pour cela?!!!!

Merci d'avance

dipajero

2 réponses

Messages postés
27
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
24 février 2005
1
Voilà une solution qui est de créer tes champs (par exemple dans un QRText ...) à l'execution, c'est à dire que si tu as 20 textes à imprimer, tu crées 20 champs ...

Pour cela voici un petit exemple c'est plus parlant:

//----------------------------------------------------
procedure exemple;
Var i: integer;
Var QR_compo:Tcomponent;
Var tmpText1: TQRDBText;

begin

try

// création des 20 nouveaux champs à imprimer à la création
For i := 1 to 20 do
begin
tmpText1:= TQRDBText.Create(QuickRep1);
tmpText1.Top := i * 10;
tmpText1.Left := 50;
tmpText1.Name:='QRText1'+inttostr(i);
QuickRep1.insertcontrol(tmpText1);
end;

finally // permet de liberer les champs crées à la fermeture

For i:= 1 to 20 do
begin
QR_compo:= QuickRep1.findComponent('QRText1'+inttostr(i));
if QR_compo<>nil then (QR_compo as TQRDBText).free;
end;

end;

//----------------------------------------------------

Voilà j'espère que c'est compréhensif et que ça répond à ta question !

A+
Messages postés
27
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
24 février 2005
1
... j'oubliais il faut mettre avant Finally la procedure d'impression c'est à dire QuickRep1.Print ou QuickRep1.Preview

Et je me suis trompé à la place d'un TQRDBText il faut utiliser un TQRLabel.

Pour ajouter du text à un composant créé (tmpText1 as TQRLabel).caption := 'Hello';