DBChart ansicht ändern



  • Hallo, mit welchem Befehl ändere ich die Ansicht eines DBChart, also von z.B. Linien auf Balken.



  • schau mal in der Hilfe des TChart unter "Bearbeitung von Reihen" und dort ganz unten "Den Reihentyp zur Laufzeit ändern - für Fortgeschrittene"

    Alternativ kannst du auch die Werte einer LineSeries und einer BarSeries zuweisen und dann einstellen welche angezeigt werden soll und welche nicht (Active true/false)



  • Was für eine Borland Version hast du? Bei mir gibt es nämlcih keinen Eintrag in der Hilfe die so heißt wie du beschrieben hast. Die Einstellungen LineSeries und BarSeries kann ich auch nicht finden. PS: Ich benutze den Builder 5.



  • auch da ist das dabei:
    Hilfe öffnen -> Inhalt -> Benutzerhandbuch -> 5. Arbeiten mit Diagrammen und Reihen -> 5.5 Bearbeitung von Reihen -> Den Reihentyp zur Laufzeit ändern - für Fortgeschrittene

    alternativ: Hilfe öffnen -> Index -> Reihen -> bearbeiten

    LineSeries => TLineSeries
    BarSeries => TBarSeries



  • Welchen BCB5 (Standard, Prof.?). Hast du auch nach TLineSeries bzw. TBarSeries gesucht?
    Ansonsten geh mal in das Builder-Verzeichnis in die Directory Help und schau mal ob dort TEECHART.HLP existiert.



  • Habe es jetzt gefunden, danke! Aber irgendwie komme ich nicht zurecht habe den Qullcode so eingegeben wie er da steht Also:

    ChangeSeriesTypeGallery(Self, MySeries);
    

    Aber das klappt nicht so ganz da dies als "Undefinierte Funktion" gemeldet wird. Außerdem fehlt doch noch die zuweisung für welches Chart es sein soll oder? Kann vielleicht jemand mal einen Quellcode posten, wäre echt klasse!



  • Das sieht mir sehr nach Pascal aus. Es müsste wohl eher so aussehen

    ChangeSeriesType(Series, __classid(TBarSeries));
    

    In Series muß dann der Pointer auf deine LineSeries rein.



  • Jetzt bekomme ich die Fehlermeldung "Unzulässige Verwendung des Namensbereichs 'Series'" , wo bekomme ich außerdem die Verbindung zu meinem Chart, wenn ich den Befehl ausführe weiß doch C++ nicht ob es sich um Chart1 Chart2 oder Chart3 handelt, sofern ich mehrere benutze.



  • Das Series da ist doch nur eine Variable in dem bei mir ein Pointer auf TLineSeries steckt. Du mußt da eben einen Pointer auf deine Serie hineinstecken. z.Bsp so

    ChangeSeriesType(Chart1->Series[0], __classid(TBarSeries));
    

    bzw.

    TLineSeries *Series = dynamic_cast<TLineSeries*>(Chart1->Series[0]);
    if( Series != 0)
       ChangeSeriesType(Series, __classid(TBarSeries));
    


  • Tut mir echt leid, aber das ist mir zu hoch, bin nicht ganz so fit in C++ wie ihr. Was ist ein Pointer? Und wo schreibe ich den Quelltext rein?



  • Wenn du das nicht weißt, solltest du dir lieber erst noch ein paar C++-Grundlagen aneignen. Rechts oben auf dieser Seite ist ein Link für entsprechende Tutorials.
    Das was ich da geschrieben habe kommt in die Funktion, die den Wechsel vornehmen soll. Vielleicht die OnClick eines Buttons oder so.
    Das hier

    TLineSeries *Series
    

    deklariert einen Pointer auf TLineSeries.



  • Und was ist ein Pointer?



  • JürgenP schrieb:

    Und was ist ein Pointer?

    Zeiger oder Pointer sind spezielle Variablen, die auf Speicheradressen verweisen.
    Das gehört zu den absoluten Grundlagen, ohne die man in C nicht weit kommt.



  • Siehe auch hier
    http://tutorial.schornboeck.net/zeiger.htm
    Genauer gesagt würde ich dir empfehelen das ganze Tutorial zu lesen.



  • Ich weiß das mir ein paar Grundlagen fehlen, nur leider habe ich keine Zeit diese mir in den nächsten Tagen anzueignen, da ich diese Aufgabe für eine Schularbeit brauche. Könnt ihr mir nicht verraten was ich für einen Quelltext wo genau reinschreiben muss? Wäre echt net.



  • Habe ich doch schon. Hast du es mal ausprobiert?


Anmelden zum Antworten