IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Rave Discussion :

[RAVE][DELPHI7] Comment faire un graphique ?


Sujet :

Rave

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 2
    Points : 4
    Points
    4
    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

  2. #2
    Membre habitué Avatar de bidochon
    Inscrit en
    Juin 2002
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 168
    Points : 156
    Points
    156
    Par défaut
    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
    Tant de mains pour transformer ce monde, et si peu de regards pour le contempler !
    (Julien Gracq)

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    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

  4. #4
    Membre habitué Avatar de bidochon
    Inscrit en
    Juin 2002
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 168
    Points : 156
    Points
    156
    Par défaut
    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
    Tant de mains pour transformer ce monde, et si peu de regards pour le contempler !
    (Julien Gracq)

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    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(????,?????) : :

  6. #6
    Membre habitué Avatar de bidochon
    Inscrit en
    Juin 2002
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 168
    Points : 156
    Points
    156
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Tant de mains pour transformer ce monde, et si peu de regards pour le contempler !
    (Julien Gracq)

  7. #7
    Futur Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Parfait, ca fonctionne.
    J'ai presque tout compris.

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

    J'ai essayé sans et ca marche !?

    Merci

  8. #8
    Membre habitué Avatar de bidochon
    Inscrit en
    Juin 2002
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 168
    Points : 156
    Points
    156
    Par défaut
    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
    Tant de mains pour transformer ce monde, et si peu de regards pour le contempler !
    (Julien Gracq)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 02/11/2006, 02h15
  2. Comment faire des graphiques superposés
    Par tigzirt dans le forum Access
    Réponses: 1
    Dernier message: 25/08/2006, 18h22
  3. Réponses: 1
    Dernier message: 02/08/2006, 11h42
  4. Comment faire des graphiques
    Par elekis dans le forum Calcul scientifique
    Réponses: 2
    Dernier message: 01/03/2006, 23h56
  5. comment faire un graphique camenbert
    Par Fredri dans le forum Access
    Réponses: 8
    Dernier message: 12/01/2006, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo