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

API, COM et SDKs Delphi Discussion :

[EXCEL] Tracé de graphe


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2018
    Messages : 50
    Points : 16
    Points
    16
    Par défaut [EXCEL] Tracé de graphe
    Bonjour à tous,

    je me suis lancé dans la programmation d'une petite fonction en utilisant excel, ce qui est bien pratique lorsque l'on sait comment ça fonctionne!! sinon, c'est une vrai galère...

    Voila ce que je cherche à faire:
    -ouvrir mon fichier excel (non visible) ==> ok
    -créer un graphe ==> ok
    -afficher les points et tracer les axes ==> Pas OK

    ce que j'ai:
    Nom : cequej'ai.png
Affichages : 435
Taille : 26,0 Ko

    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
    28
    29
    30
    31
    32
    33
    procedure graph();
    var
      XL: variant;
        aFileName, aSheetName : AnsiString;
        vXLWorkbooks,vXLWorkbook, vUnused, vSeparator : variant;
        resultat, MaFeuille, CurrentSheet, DataSheet: Variant;
        MonGraph: _chart;
        XAxe, YAxe, ChartObject: variant;
     
    begin
        XL := CreateOLEObject('Excel.application');
        XL.Visible:= True;
     
        aFileName := 'C:\Users\pauld\Desktop\logfile_br1_2019_04_26';
        vUnused := unassigned;
        vSeparator := 4;
        vXLWorkbooks := XL.Workbooks;
        vXLWorkbook := vXLWorkbooks.Open(aFileName, vUnused, vUnused, vSeparator);
     
        resultat:=vXLWorkbook.Worksheets[1];
        resultat.chartobjects.add[10,10,100,100];
        resultat:=resultat.chartobjects[1].chart;
     
        XAxe:= vXLWorkbook.Worksheets[1].Range['C2','C8'];   //c'est a partir de la que ca bloque... comment définir les axes? et comment définir les plage de valeur? 
        YAxe:= vXLWorkbook.Worksheets[1].Range['E2','E8'];
        resultat.ChartType:=xlXYScatter;
     
        resultat.SetSourceData(YAxe, xlColumns);
        resultat.SeriesCollection.Add();
     
        resultat.SeriesCollection(1).XValues:=XAxe;
     
        resultat.SeriesCollection(1).Values:=YAxe;
    et voila ce que je souhaite:
    Nom : cequej'ai.png
Affichages : 439
Taille : 37,1 Ko


    Merci pour votre aide!

  2. #2
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Bonjour,

    je pense que si tu changes ton ChartType de xlXYScatter en xlLineMarkers, le graphique devrait être bon

    A+
    Charly

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2018
    Messages : 50
    Points : 16
    Points
    16
    Par défaut
    Bonjour Charly,

    toujours le même problème .. Je ne sais pas pourquoi il creer cette zone rouge???

    Par contre je pars 2 semaines, donc je ne pourrais pas réagir a votre aide,

    Merci
    Parda

  4. #4
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Chez moi en D7, avec ton code et ma modif, cela fonctionne (Sauf que le graphique est tout petit)

    A+
    Charly

  5. #5
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Bonjour,

    pour ta rentrée de vacances (?) :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    { ======================================================================= }
    // Uses   ... , ComObj,  Excel2000 ;
     
    procedure TForm2.Button5Click(Sender: TObject);
    Var
      XLApp : Variant;
      MonGraph  : Variant;
      n1, n2  : Integer ;  // Numéros des colonnes des données
      Nom : string ;  // Nom de la feuille
      XAxe, YAxe : Variant ;
     
    {  type_chart : array[0..10] of Cardinal =
                  ( xl3DPie,xl3DColumn,xlLine,xlLineMarkers ,xl3DPie , xlPie ,
                    xlXYScatter ,xl3DArea,xlArea ,xlDoughnut,xlRadar );  }
    begin
    // Si Excel est ouvert on le ferme
      if not VarIsEmpty(XLApp ) then
        begin
          XLApp.DisplayAlerts := CheckBox1.Checked ;  // Pas d'affichage de sauvegarde
          XLApp.quit;
          XLApp := unassigned;
        end;
    // Ouverture d'Excel
      if  VarIsEmpty(XLApp) then
        begin
          XLApp := CreateOLEObject('Excel.application');
          XLApp.Visible:=True
        end;
     
      // Ajout d'une feuille
      XLApp.Workbooks.Add ; //  [XLWBatWorksheet]
      // Nommage de la feuille
      XLApp.Workbooks[1].Worksheets[1].Name := 'Test Graphique' ;
     
      // Sélection de la feuille 1
      XLApp.Workbooks[1].Worksheets[1].select;
      Nom := XLApp.WorkBooks[1].WorkSheets[1].name;
      Form2.Caption := nom ;
     
      // Génération des données
      n1 := 2 ;  // Colonne B
      n2 := 4 ;   // Colonne D
      XlApp.cells[ 1 , n1] := '16:20:28' ; XlApp.cells[ 1 , n2] := '93' ;
      XlApp.cells[ 2 , n1] := '16:20:32' ; XlApp.cells[ 2 , n2] := '92' ;
      XlApp.cells[ 3 , n1] := '16:20:36' ; XlApp.cells[ 3 , n2] := '93' ;
      XlApp.cells[ 4 , n1] := '16:20:40' ; XlApp.cells[ 4 , n2] := '93' ;
      XlApp.cells[ 5 , n1] := '16:20:44' ; XlApp.cells[ 5 , n2] := '93' ;
      XlApp.cells[ 6 , n1] := '16:20:48' ; XlApp.cells[ 6 , n2] := '93' ;
      XlApp.cells[ 7 , n1] := '16:20:52' ; XlApp.cells[ 7 , n2] := '93' ;
      XlApp.cells[ 8 , n1] := '16:20:56' ; XlApp.cells[ 8 , n2] := '93' ;
      XlApp.cells[ 9 , n1] := '16:21:00' ; XlApp.cells[ 9 , n2] := '93' ;
      XlApp.cells[ 10 , n1] := '16:21:04' ; XlApp.cells[ 10 , n2] := '93' ;
      XlApp.cells[ 11 , n1] := '16:21:08' ; XlApp.cells[ 11 , n2] := '93' ;
      XlApp.cells[ 12 , n1] := '16:21:12' ; XlApp.cells[ 12 , n2] := '93' ;
      XlApp.cells[ 13 , n1] := '16:21:16' ; XlApp.cells[ 13 , n2] := '93' ;
      XlApp.cells[ 14 , n1] := '16:21:20' ; XlApp.cells[ 14 , n2] := '93' ;
     
      // Sélection des cellules pour le graphique
      XAxe:= XLApp.Range['B1','B14'];
      YAxe:= XLApp.Range['D1','D14'];
      XAxe.Select ;       // Si j'enlève cette ligne : plantage sur "MonGraph.HasTitle := true;" 
     
      // insertion du graphique
      MonGraph := XLApp.Sheets.Add(,,1,xlChart);
      // Type de graphique  :  xlLineMarkers
      MonGraph.ChartType:=  xlLineMarkers ;
      // Titre du graphique
      MonGraph.ChartArea.Select ;
      MonGraph.HasTitle := true;
      MonGraph.ChartTitle.CHARACTERS.TEXT := 'Essai de graphique' ;
      // Titre axes des X
      MonGraph.Axes(xlCategory, xlPrimary).HasTitle := True  ;
      MonGraph.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text := 'Heures'  ;
      // Titre Axes des Y
      MonGraph.Axes(xlValue, xlPrimary).HasTitle := True ;
      MonGraph.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text := 'Valeurs'  ;
     
      // Sélection des axes
      MonGraph.SetSourceData(XLApp.union(XAxe, YAxe),xlColumns);
      MonGraph.SeriesCollection(1).XValues:=XAxe;
      // Légende de la courbe
      MonGraph.SeriesCollection(1).Name := 'Courbe1' ;
      // Titre du graphique
      MonGraph.Location(xlLocationAsObject,'Test Graphique' );
      // Position du graphique sur la feuille
      XLApp.ActiveSheet.ChartObjects(1).Top  := 20;
      XLApp.ActiveSheet.ChartObjects(1).left := 300;
      //  Quitter Excel ?
      if MessageDlg('Fermeture d''Excel ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes Then
        begin
          if not VarIsEmpty(XLApp ) then
            begin
              XLApp.DisplayAlerts := CheckBox1.Checked ; 
              XLApp.quit;
              XLApp := unassigned;
            end;
        End ;
     
    end;
    Nom : Classeur.jpg
Affichages : 393
Taille : 146,2 Ko

    en D7, avec Excel2000

    A+
    Charly

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2018
    Messages : 50
    Points : 16
    Points
    16
    Par défaut
    Bonjour Charly,

    c'est ça, retour de vacance! ^^

    Un grand merci pour votre aide, ça m'a bien aidé. Mon problème devait venir du fait que j'ouvrais un classeur .csv... enfin, bref... ça fonctionne!

    Par contre, savez vous comment je pourrais récupérer ce graphe, pour le mettre dans ma form delphi!
    J'ai essayé d'adapter un code vba en delphi pour enregistrer le graphe en image, et l'importer ensuite dans ma forme, mais, ce n'est pas les même méthodes et je n'arrive pas à trouver de la doc sur ce point!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub GraphGif()
    Worksheets("feuil1").ChartObjects(1).Chart.Export Filename:="test.gif", FilterName:="GIF"
    End Sub
    merci

  7. #7
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Bonjour
    Pourquoi jongler entre Delphi et Excel. Ne pourrais-tu pas directement lire, traiter et afficher tes graphes avec Delphi (TeeChart) ?
    http://www.teechart.net/docs/teechar.../tutorial1.htm
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2018
    Messages : 50
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Galet Voir le message
    Bonjour
    Pourquoi jongler entre Delphi et Excel. Ne pourrais-tu pas directement lire, traiter et afficher tes graphes avec Delphi (TeeChart) ?
    http://www.teechart.net/docs/teechar.../tutorial1.htm
    Bonsoir Galet,

    Il me semble que c'est un composant payant, non?

  9. #9
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Bonjour,
    tu peux peut-être essayer de passer par le presse papier ?

    Je vais essayer ...

    A+
    Charly

  10. #10
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Bonjour Parda3,
    Citation Envoyé par parda3 Voir le message
    Bonsoir Galet,

    Il me semble que c'est un composant payant, non?
    Certaines versions de Delphi ont été livrées avec une version light en accord avec Steeman, pour un usage non commercial. Il faudrait creuser la piste si c'est ton cas...
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  11. #11
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Bonjour,

    Pour copier le graphe dans le presse papier tu intercales cette ligne dans mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
       ...
      XLApp.ActiveSheet.ChartObjects(1).left := 300;
     
      XLApp.ActiveSheet.ChartObjects(1).Copy ;
     
      //  Quitter Excel ?
      if MessageDlg('Fermeture d''Excel ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes Then
       ...
    Puis tu peux copier l'image dans un Timage par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Image1.Picture.Assign(Clipboard);
    A+
    Charly

  12. #12
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Bonjour,

    si tu préfères, tu peux aussi exporter en Gif et charger dans un TImage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      XLApp.ActiveChart.Export('D:\Toto.gif', 'GIF') ;
      Image1.Picture.LoadFromFile('D:\Toto.gif');
    Cela fonctionne bien le graphique est de bonne qualité dans le TImage.

    A+
    Charly

  13. #13
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    En plus de GIF, tu peux aussi exporter avec les filtres JPEG, PNG et TIF.

    Par contre, dans Delphi, il n'y a pas de méthode LoadFromFile pour les TIF.

    A+
    Charly

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2018
    Messages : 50
    Points : 16
    Points
    16
    Par défaut
    Merci Charly,

    je n'ai pas encore eu le temps de tester votre code, je suis parti sur un autre point étant donné que j'étais bloqué.
    Mais ça m'a l'air parfait, j'avais essayé de copié mon graphe comme vous me l'aviez conseillé, mais je ne savais pas quoi copié avec la syntaxe assez spéciale d'excel avec OLE.

    je vais voir ce que ça donne avec le format GIF.
    je test ça, dés que possible.

    Encore merci.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2018
    Messages : 50
    Points : 16
    Points
    16
    Par défaut
    Petite question, je cherche à mettre en place le code, mais j'ai un problème sur le clipboard... comment fonctionne t'il?

    Il n'était pas déclaré, donc j'ai inclue le uses clipbrd, mais après quelques recherches, cela ne fonctionne pas pour fmx ...

  16. #16
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Bonjour,

    pour Windows c'est bien Clipbrd, mais pour FMX je ne sais pas.

    Pour Windows je peux te poster mon code complet si tu veux ?

    A+
    Charly

  17. #17
    Membre éprouvé
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Points : 1 072
    Points
    1 072
    Par défaut
    Bonjour,

    Citation Envoyé par Charly910 Voir le message
    ...
    Par contre, dans Delphi, il n'y a pas de méthode LoadFromFile pour les TIF.

    A+
    Charly
    Juste pour information, dans les nouvelles versions de Delphi il existe un nouveau type "Graphic"
    le TWICImage qui est présent, semble-t'il depuis Delphi 2010
    ce composant permet le chargement des formats tif, tiff ainsi que jpeg, gif, png, bmp.

    D'ailleurs si vous mettez un TOpenPictureDialog sur une fiche sans aucune modification
    à l'ouverture du dialogue vous verrez, dans la combobox des types, s'afficher les formats tif & tiff
    et exécutant le code suivant vous verrez qu'il utilise le TWICImage pour charger les tif & tiff
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      if OPD1.Execute then    // OPD1 == TOpenPictureDialog 
      begin
        img_Original.Picture.LoadFromFile(OPD1.FileName);
          Label1.Caption := img_Original.Picture.Graphic.ClassName;
      end;
    pour charger les autres types images il faut "forcer" l'utilisation du TWICImage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var
      aWICImage: TWICImage;
    begin
      aWICImage := TWICImage.Create;
      try
        aWICImage.LoadFromFile(aFileName);
        img_Original.Picture.Assign(aWICImage);
      finally
        aWICImage.Free;
      end;
    end;
    Cordialement,

    @+

  18. #18
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    j'ai suivi ce fil sans m'impliquer car je trouve la démarche : utiliser excel pour obtenir des graphiques, un peu tirée par les cheveux
    Si en plus il s'agit de FMX ce que je viens de lire c'est encore plus vraie (je n'ai pas vu tourner excel sur Androïd est-ce seulement possible ?)
    Dommage de ne pas avoir indiqué dès le début la version de Delphi utilisée et le type d'application ! Ce devrait être un réflexe

    Pour ce qui est du clipboard, avec FMX il s'agit d'un service selon les plateformes http://docwiki.embarcadero.com/RADSt...tform_Services il faut donc déclarer FMX.PlatForm
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  19. #19
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2018
    Messages : 50
    Points : 16
    Points
    16
    Par défaut
    Merci Charly, mais j'utilise moi aussi windows, mais la version FMX. Comme la souligné SergioMaster, j'aurais du le préciser au début.

    Cirec : je te remercie pour les infos, ça me sera utile!


    SergioMaster :
    Je suis moi aussi convaincu que ce n'est pas l'idéal, mais ça conviendra pour le début. Cela représente même quelques avantages, comme le fait de pouvoir enregistrer le fichier contenant le graphe et les données.
    Mon application ne sera pas lancé sur téléphone, ce qui laisse Windows, IOS (et Linux). Je suis convaincu que ceux qui utiliseront l'appli, auront excel.

    Je n'ai pas la possibilité d'utilisé TeeChart à cause de la licence et tracer un graphe avec le canvas ne me plaisait pas beaucoup.

  20. #20
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par parda3 Voir le message
    tracer un graphe avec le canvas ne me plaisait pas beaucoup.
    Mais il y a aussi TPath (cela dit je ne saurais comment faire un Graphe avec pour l'instant j'en suis à dessiner quelques drapeaux à partir de fichiers SVG)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. [Graphique][2k] Plutôt Ms Excel ou Ms Graph 2000 ?
    Par soforever dans le forum IHM
    Réponses: 2
    Dernier message: 07/05/2007, 12h01
  2. [VBA][EXCEL] Copie de graphes entre 2 classeurs
    Par billynirvana dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/03/2007, 16h03
  3. Excel : "personnaliser" les graphs
    Par Sylvain11 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 27/04/2006, 15h58
  4. Choix d'un langage pour calculs et tracé de graphs
    Par quiscoul dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 05/03/2006, 08h46
  5. [] [Excel] Exporter un graphe MSChart vers Excel
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 17h49

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