Question basique Rave Report

PhilLu Messages postés 251 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 11 mai 2021 - 15 oct. 2013 à 13:26
cs_yanb Messages postés 271 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 7 juillet 2022 - 16 oct. 2013 à 14:12
Bonjour,
Question basique!!!
Comment passer un paramètre de mon apps vers rave???
Je souhaite tout "bêtement" que le text d'un edit de mon appli mette à jour le composant text1 sur mon report; plusieurs tentatives et recherches mais
J'ai bien sûr un
- RvProject1 (qui renseigne Engine: RvSystem1 et le chemin du .rav)
- RvSystem1
sur ma form;
J'ai créé un report avec rave et ai ajouté un text1 sur ma page;
voici ensuite mon code:
procedure TForm1.Button1Click(Sender: TObject);
begin
WITH RvProject1 do
try
  Open;
  SetParam('Text1.text',edit1.Text);
finally
  Close;
  RvProject1.ExecuteReport('Report1');
end;
end;

j'encode qq caractères dans mon edit1 puis au "enter" je fais préview, et là, la page affichée est vide???

Qui peux m'aider???
Merci d'avance
PhilLu

3 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
15 oct. 2013 à 15:52
Bonjour,

je n'aime pas le concept de RAVE qui me semble obsolète aujourd'hui..
Pourquoi ne pas essayer avec QuickReport qui, lui aussi, n'est pas de la première fraîcheur mais, en revanche développé sur une bonne stratégie.
0
PhilLu Messages postés 251 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 11 mai 2021
16 oct. 2013 à 10:31
Voici le déroulement de la création de mon projet BASIQUE!!!

Je crée une nouvelle VCL et je dépose sur la form1:
un TEdit (Edit1)
un TButton (Button1)
un TRvProject (RvProject1)
et un TRvSystem (RvSystem1)
Je fais un clic droit sur RvProject1 et j'ouvre Rave Visual Designer
Je dépose un Text Component de l'onglet Standard sur la page1 du Report1
Je modifie le contenu de text par 'blabla'
Je fais F9, un popup me propose un preview, je clique sur ok et la page s'affiche correctement avec mon texte "blabla" ;-)
Je sauve ce projet 'Project1.rav' dans le dossier qui contiendra mon exécutable.
Dans la propriété ProjectFile de RvProject1 j'ajoute le chemin où j'ai sauvé le projet.
Dans la propriété Engine de RvProject1 je choisi RvSystem1

Je repassse dans Delphi et j'ajoute mon code à Button1Click:
RvProject1.Open;
RvProject1.SetParam('Text1','mon texte');
RvProject1.Execute;
Maintenant, quand je lance, j'ai bien la page mais avec 'blabla' original et pas 'mon texte'
idem avec la ligne modifiée en:
RvProject1.SetParam('Text1',Edit1.Text);

J'oublie surement un détail, mais lequel???

Merci 1000x de me sortir de cette boucle infinie......................

PhilLu
0
cs_yanb Messages postés 271 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 7 juillet 2022 14
16 oct. 2013 à 14:12
Salut,
on va reprendre simplement...
var
  MyPage  : TRavePage;
  MyText  : TRaveText;
  S : string;
begin
  RvProject1.ProjectFile:=ExtractFilePath(Application.ExeName)+'Project1.rav';
  RvProject1.Open;
  MyPage := RvProject1.ProjMan.FindRaveComponent('Report1.Page1',nil) as TRavePage;
  MyText := RvProject1.ProjMan.FindRaveComponent('Text1',MyPage)as TRaveText;
  if MyText <> nil then
    MyText.Text := Edit1.Text;
  S := RvProject1.ReportName;
  RvProject1.ExecuteReport(S);
  RvProject1.Close;
end;

@+
0
Rejoignez-nous