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

Bases de données Delphi Discussion :

quels types de graphes HIsto je peux utiliser


Sujet :

Bases de données Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut quels types de graphes HIsto je peux utiliser
    Bonjour,

    je cherche un composant pour faire des graphes ( en camembert ou en histogramme)

    j'ai essayé les VtChart (Onglet Active X) , et je regarde pour les DecisionCube mais il n'y a aucun tutoriel pour ces deux types de composants...

    Vous ne sauriez pas quels composants pourraient faire ce que je souhaite et avec lesquels je pourrais m'entrainer à l'aide de tuto?


    Merci bcp


    PS: je l'ai mis dans base de données car je fais appel aux bases par des SUM etc....

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    1- Pose un composant DBChart sur ta form
    2- Doubleclick sur le composant
    3- Dans l'onglet Graph/Series, click sur Ajouter
    4- Sélectionnes Histogramme
    5- Click sur l'onglet Séries, puis sur Source de données
    6- Dans la liste déroulante selectionne Dataset
    7- Selectionnes ta Requete/Table dans la liste déroulante juste en dessous de la première
    8- Selectionnes les champs que tu veux utiliser dans ton histo.
    9- Pour afficher les données dans le code tu dois ouvrir ta source de données et activer la série

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    MaQuery.Active := True;
    DbChart1.SerieList.Series[0].Active := True;
    // ou
    // Series1.Active := True;
    Après bidouille les propriétés du composants pour donner l'aspect que tu souhaites.

    [edit]
    Vu que tu utilises les composants MyDac, le DBchart ne va pas trouver ta requete/table (enfin chez moi il ne le trouve pas)

    J'ai été obligé de faire de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
       With DBChart1.Series[0] do
          begin
            Clear;
            DBChart1.Title.Text.Clear;
            DBChart1.Title.Text.Add('Mon Titre');
            While not MaQuery.Eof do
            begin
              AddXY(MaQuery.FieldByName('x').AsFloat,MaQuery.FieldByName('y').AsFloat);
              MaQuery.Next;
            end;
          end;
    [/edit]
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut
    ok je te remercie bcp

    dans mon code j'utilise une requete qui n'est pas dans mon composant mais dans le code lui même, de type:

    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
    WITH DataModule1.MyQLCC DO
      BEGIN
        SQL.Clear;
        SQL.Add('SELECT DISTINCT ID_Engin_FK3,Nom_Pas_FK1,Periode_LCC,MOE_CostHour,');
        SQL.Add('SUM((Periode_LCC*Nb_Km_Annuel/Pas_nominal)*(Duree_Operation*MOE_CostHour*Nb_MOE+Cout_Conso + Prix)) As Cout_Total,');
        SQL.Add('SUM( (Periode_LCC*Nb_Km_Annuel/Pas_nominal)*(Duree_Operation*MOE_CostHour*Nb_MOE+Cout_Conso + Prix)/(Nb_KM_Annuel*Periode_LCC)) As Cout_au_KM');
        SQL.Add('FROM Arbo A                                                                  ');
        SQL.Add('     INNER  JOIN Param_LCC L       ON L.ID_Engin_FK1 = A.ID_Engin_FK3  ');
        SQL.Add('     INNER  JOIN ID_M M            ON M.Nom_Pas = A.Nom_Pas_FK1  ');
        SQL.Add('WHERE '+ concatener + ' = ' + QuotedStr(SelectedModule)+'');
        SQL.Add('AND Niveau_M <> 6');
        SQL.Add('GROUP BY Pas_nominal,Nom_Pas_FK1,Periode_LCC,Nb_Km_Annuel,MOE_CostHour');
        SQL.Add('ORDER BY Pas_nominal ASC;');
        //DataModule1.QSelectModule.SQL.SaveToFile(ExtractFilePath(Application.ExeName) + 'MonSQL.txt');
        Open;

    Donc si je dois implanter le DBChart comme tu dis je fais comme cela ? :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    WITH DBChart1.Series[0] DO
      BEGIN
           Clear;
           DBChart1.Title.Text.Clear;
           DBChart1.Title.Text.add('Titre');
          WITH DataModule1.MyQLCC DO
          BEGIN
              SQL.Clear;
              SQL.Add('SELECT DISTINCT ID_Engin_FK3,Nom_Pas_FK1,Periode_LCC,MOE_CostHour,');
              SQL.Add('SUM((Periode_LCC*Nb_Km_Annuel/Pas_nominal)*(Duree_Operation*MOE_CostHour*Nb_MOE+Cout_Conso + Prix)) As Cout_Total,');
              SQL.Add('SUM( (Periode_LCC*Nb_Km_Annuel/Pas_nominal)*(Duree_Operation*MOE_CostHour*Nb_MOE+Cout_Conso + Prix)/(Nb_KM_Annuel*Periode_LCC)) As Cout_au_KM');
              SQL.Add('FROM Arbo A                                                                  ');
              SQL.Add('     INNER  JOIN Param_LCC L       ON L.ID_Engin_FK1 = A.ID_Engin_FK3  ');
              SQL.Add('     INNER  JOIN ID_M M            ON M.Nom_Pas = A.Nom_Pas_FK1  ');
              SQL.Add('WHERE '+ concatener + ' = ' + QuotedStr(SelectedModule)+'');
              SQL.Add('AND Niveau_M <> 6');
              SQL.Add('GROUP BY Pas_nominal,Nom_Pas_FK1,Periode_LCC,Nb_Km_Annuel,MOE_CostHour');
              SQL.Add('ORDER BY Pas_nominal ASC;');
              Open;
              First;
              WHILE NOT DataModule1.MyQLCC.eof DO
              BEGIN
                   AddXY(FieldByName('Nom_Pas_FK1').AsString,FieldByName('Cout_Total').AsFloat);
                   Next;
              END;
          END;
      END;

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Oui normalement ca devrait fonctionner, mais bon tu pourrais le tester au lieu de me le demander ca irait plus vite ^^
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut
    lol
    tu as raison ms j'ai oublié une partie de ma requete...

    il ne reconnait pas le .........

    je dois mettre quelque chose dans le var?

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Les With qui peuvent mélanger un peu tout comme tu les as mis.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut
    Tiens, j'ai changé mais il me met tjs "AddXY identificateur non déclaré"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    WITH Form2.DBChart1.Series[0] DO
        BEGIN
          Clear;
          Form2.DBChart1.Title.Text.Clear;
          Form2.DBChart1.Title.Text.add('Titre');
          WHILE NOT DataModule1.MyQLCC.eof DO
          BEGIN
            Form2.DBChart1.AddXY(FieldByName('Nom_Pas_FK1').AsString,FieldByName('Cout_Total').AsFloat);
            Next;
          END;
        END;

  8. #8
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Normal vu que c'est une fonction de Series

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     Form2.DBChart1.Series[0].AddXY(FieldByName('Nom_Pas_FK1').AsString,
        FieldByName('Cout_Total').AsFloat);
    Ce n'est pas tout de copier un code, faut aussi le comprendre et utiliser
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut
    dsl tu as raison

    cependant, j'ai des difficultés pour trouver la "légende" sur les X.

    EN fait je ne fais que AddY et en X il met 0 , 1 , 2 ,....
    moi je veux mettre ce qu'il y a dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FieldByName('Nom_Pas_FK1').AsString
    .

    J'ai cherché un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form2.DBChart1.Series[0].Title...
    mais il ne change rien, il laisse 0 1 ..... donc cpa ca!
    Saurais tu à quel propriété il fait appel???

Discussions similaires

  1. Quel algorithme de cryptage je peux utiliser?
    Par bejaouijamil dans le forum Sécurité
    Réponses: 2
    Dernier message: 04/01/2007, 15h33
  2. Quel type de redirection à utiliser
    Par cassy dans le forum Langage
    Réponses: 3
    Dernier message: 04/11/2006, 15h28
  3. [C#] Quel type d'objet (tableau) utiliser?
    Par cyllix dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/06/2006, 10h50
  4. Réponses: 6
    Dernier message: 26/04/2006, 15h13
  5. Réponses: 0
    Dernier message: 26/04/2006, 13h01

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