Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Rave
Rave Forum d'entraide sur Rave Reports
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/01/2003, 16h26   #1
Invité de passage
 
Inscription : janvier 2003
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 2
Points : 1
Points : 1
Par défaut [RAVE][DELPHI7] Comment faire un graphique ?

Je commence à tester les fonctionnalités de RAVE dans Delphi7.

Et je butte sur un premier point : je ne vois pas comment faire apparaître un graphique.

J'ai bien trouvé ce lien :
http://www.nevrona.com/rave/tips/rvtip19.html
mais c'est pas très clair.

Merci pour vos réponses
DFANDOR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2003, 21h03   #2
Membre habitué
 
Avatar de bidochon
 
Inscription : juin 2002
Messages : 140
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 140
Points : 102
Points : 102
Envoyer un message via MSN à bidochon
Tu dois utiliser un TRvCustomConnection pour connecter tes données au generateur d'etats. Ce composant remplace le TRPCustumConnection dans les versions precedantes de Rave (pas dans Delphi 7). Pour que cela fonctionne tu dois passer par l'inspecteur d'objet et ecrire le code donné dans les evenements OnGetCols et OnGetRow.
Et le tour est joué !
@ plus
bidochon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2003, 18h08   #3
Invité régulier
 
Inscription : novembre 2002
Messages : 8
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 8
Points : 6
Points : 6
J'aimerais voir afficher un Bitmap (toto), pas un CHART.

Hélà, ça marche pas !

Sur le Getcols :
WriteField('Dessin', dtGraphic, 30, '', '');

Sur le Row je met quoi ?




Merci
El blérot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2003, 14h05   #4
Membre habitué
 
Avatar de bidochon
 
Inscription : juin 2002
Messages : 140
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 140
Points : 102
Points : 102
Envoyer un message via MSN à bidochon
Dans la palette de Rave onglet "Standard" tu as un composant : "BitMap Component" auquel tu peux definir un dataview et un datafield, exactement comme un champ datatext.
@ plus
bidochon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2003, 11h24   #5
Invité régulier
 
Inscription : novembre 2002
Messages : 8
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 8
Points : 6
Points : 6
Le problème c'est plutot de créer ce champs dans le DATAVIEW,

WriteField('Dessin', dtGraphic, 30, '', '');


et d'envoyer sur le OnColConnection le bitmap.

WriteBlobdata(????,?????) : :
El blérot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2003, 20h43   #6
Membre habitué
 
Avatar de bidochon
 
Inscription : juin 2002
Messages : 140
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 140
Points : 102
Points : 102
Envoyer un message via MSN à bidochon
Salut El Blérot,
Voila je te donne un bout de code inspiré du
http://www.nevrona.com/rave/tips/rvtip19.html
Ca fonctionne bien chez moi
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TDM.RvTableConnectionGetCols(Connection: TRvCustomConnection);
begin
Connection.DoGetCols;
connection.WriteField('Photo',dtGraphic,30,'','');
end;
 
procedure TDM.RvTableConnectionGetRow(Connection: TRvCustomConnection);
var
Stream : TMemoryStream;
begin
Connection.DoGetRow;
Stream:=TMemorystream.CREATE;
Stream.LoadFromFile('c:\MonBMP.bmp');
Stream.Position:=0;
Connection.WriteBlobData(stream.memory^,stream.Size);
Stream.Free;
end;
Bien sur une fois ecrit, ce code est lancé sous Delphi (touche F9) et dans l'editeur Rave tu fais clique droit, rafraîchir sur le DataView correspondant.
La tu dois voir apparaitre le champ 'DataviewPhoto' que tu peux interfacer facilement avec un composant Bitmap.

La methode WriteBlobData :
WriteBlobData(var Buffer : Non typé ; Length : integer);
Buffer peut etre un tableau passé par pointeur
et length est la taille de ce tableau
Il est plus conseillé de passer par les stream car c'est plus rapide.

@ plus
bidochon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2003, 23h34   #7
Invité régulier
 
Inscription : novembre 2002
Messages : 8
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 8
Points : 6
Points : 6
Parfait, ca fonctionne.
J'ai presque tout compris.

A quoi sert : Connection.DoGetCols et Connection.DoGetRow; ? :

J'ai essayé sans et ca marche !?

Merci
El blérot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2003, 20h25   #8
Membre habitué
 
Avatar de bidochon
 
Inscription : juin 2002
Messages : 140
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 140
Points : 102
Points : 102
Envoyer un message via MSN à bidochon
Salut,
C'est cool pour toi si ca fonctionne !

DoGetCols permet d'acquerir les differents champs de ta table connectée pour transmettre ces infos a l'init du dataview. En général il ne s'execute qu'une seule fois dans ton application.

DoGetRow permet au dataview d'obtenir l'enregistrement actif de ta table. Il s'execute pour chaque enregistrement de ta table.

Dans l'evenement OnConnectionGetCols tu fais DoGetCols puis si tu desires creer d'autres champs dans ton dataview et c'est la que tu les definis. Lorsque le Dataview vient lire les données tu passes par l'evenement OnConnectionGetRow et c'est la que tu donne des valeurs aux champs que tu as creer precedemment.

Ces informations que je te donne sont le fruit de mes nombreuses experimentations de Rave car je suis un peu comme toi je n'ai pas reussit a trouver de doc dans la langue de Zola
@mic@lement
bidochon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h36.


 
 
 
 
Partenaires

Hébergement Web