Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi VtChart? (https://www.delphipraxis.net/3060-vtchart.html)

Chriss 20. Feb 2003 14:32


VtChart?
 
Hi @ all!

ich weiss, ich frage euch löcher in den bauch :oops:

habe folgendes problem:
ich muss für eine statistik bestimmte vorgegebene punkte in ein diagramm einlesen...
das diagramm hat im moment 12 spalen (januar - dezember) und geht in der y-achse von 0 bis 100

die werte stehen in einem memo!

ausserdem habe ich noch eine PageControl... auf der einen seite steht das memo auf der anderen soll ins diagramm gezeichnet werden.
(nur zur info, falls das probleme machen sollte)
lange rede kurzer sinn:
wie bekomme ich die 12 daten aus dem memo in das Diagramm (VtChart)?
manuell kein problem... aber automatisch!?

danke!

chriss

CalganX 20. Feb 2003 18:31

Muss es denn unbedingt VtChart sein? Für TChart könnte ich dir morgen was geben (bin kurz vorm Umkippen... *umkipp*..........................)!

Chris

CalganX 20. Feb 2003 19:02

Na gut, frisch genährt bekommst du jetzt einfach mal eine Lösung für dein Problem mit einem TChart:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject); // Im OnClick-Ereignis von einem Button
var
  i: integer;
begin
  for i:=0 to 11 do begin
    Chart1.Series[0].Add( IntToStr( Memo1.Lines[i] ) );
  end;
end;
Vorher solltest du noch einige Einstellungen im OI vornehmen:
  • Du solltest die Eigenschaft SeriesList etwas bearbeiten:
    1. Eine einzige Serie erstellen
    2. Unter Series -> Data Source "Add" auswählen
    3. Fertig
Du kannst die Farbe usw. natürlich dann auch noch ändern...

Chris

Chriss 21. Feb 2003 06:03

danke danke danke danke danke danke!!!! :coder:

Chriss 21. Feb 2003 09:02

ähm, zu früh gefreut hab ein kleines problem damit:

WO ist die komponente, die ich dafür benutzen kann?!?!?

quelltext übertragen und beim starten folgenden fehler:

Undefinierter Bezeichner: Chart1

Eingesetzte Komponenten:

Code:
type
////------ VERWENDETE KOMPONENTEN -----------------------------------------\\\\
  Tprog = class(TForm)
  //--- BUTTONS ---\\
    Button1: TButton;
    Button3: TButton;
    Button4: TButton;
  //--- LABELS ---\\
    Label1: TLabel;
    Label2: TLabel;
    Label5: TLabel;
    Label12: TLabel;
  //--- EDITS ---\\
    zahl1: TEdit;
    zahl2: TEdit;
  //--- MENU ---\\
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Neu1: TMenuItem;
    Beenden1: TMenuItem;
    Info1: TMenuItem;
  //--- SONSTIGES ---\\
    OpenDialog1: TOpenDialog;
    info_memo: TMemo;
    Timer1: TTimer;
    Memo1: TMemo;
    PageControl1: TPageControl;
    Daten: TTabSheet;
    Diagramm: TTabSheet;
    zahl_memo: TMemo;
    VtChart1: TVtChart;
    Button2: TButton;
in activeX kann ich folgende Komponenten zur Verfügung:
ChartFx, VS Spell, F1Book, VtChart, Graph!

Weiteres Problem: Das ganze MUSS in Delphi 4 programmiert werden!

CalganX 21. Feb 2003 12:14

Nicht VtChart, sondern TChart!!!
Wo du diese Kompo findest, kann ich dir leider nich auswendig sagen, aber geh mal auf View -> Component List. Da gibst du dann TChart ein und dann solltest du die Komponente habe...

Chris

PS: Ich gebe keine Garantie dafür, dass TChart in D4 drin ist...

Chriss 21. Feb 2003 12:18

das nächstgelegene wäre chartfx

CalganX 21. Feb 2003 13:20

Hi,
gut, dann ist TChart nicht in Delphi 4 enthalten.
Ich kann dir leider keine Lösung für VtChart geben, da ich mit den ActiveX-Komponenten noch nie gearbeitet habe.
Ggf., wenn das rechtlich erlaubt ist (Frage an alle anderen!), würde ich dir die VCL-Sources von TChart geben...
TChart bringt auch mehr Vorteile als VtChart.

Chris

Chriss 21. Feb 2003 13:36

Zitat:

Zitat von Chakotay1308
Hi,
gut, dann ist TChart nicht in Delphi 4 enthalten.

oh, aber in delphi 6 finde ich das auch net, oder liegts an mir *fg*
nein, also das nächste wäre echt tchartfx
oder ich hab irgendein paket net drin

CalganX 21. Feb 2003 14:34

Da ich immer noch in der Schule herumsitze, kann ich dir jetzt leider nicht sagen, wo das genau ist. Allerdings ist es in D6 drin (auch in der PE)...

Chris

PS: Zum Thema Weitergabe von TChart-Source mache ich jetzt einen neuen Thread auf... [ guckst du hier: http://www.delphipraxis.net/viewtopic.php?p=24333#24333 ]

CalganX 21. Feb 2003 14:40

Frage: wie bekommst du unter Delphi 4 VtChart? Ich habe gerade gelesen, dass VtChart erst ab Delphi 6 dabei ist... :roll:

Chris

CalganX 21. Feb 2003 15:36

So, bin nun endlich zu Hause... *ächz*
Unter Delphi6 findet man TChart unter Additional. Das Packge Chart muss installiert sein.

Chris

Chriss 22. Feb 2003 11:50

erst mal vielen dank für die bemühungen!
da das alles nicht funktioniert:
WIE KANN ICH DAS ANDERS LÖSEN?
ich muss ein dagramm haben... bin für alle lösungen offen!! :coder:

CalganX 22. Feb 2003 12:12

Also... Mit VtChart kannst du nur zur Laufzeit Diagramme mit dem eingebauten Wizard erstellen (ähnlich wie in MS Excel). Da du ja auf Knopfdruck das Diagramm ausgeben willst, ist das nichts. Deswegen: Alternativen suchen!
Lt. Borland müsste TChart sogar in Delphi3 drin sein. Also auch in Delphi4. Schaue dir mal die Einstellungen für die Komponentenpackages an (Component -> Install Packages). Vielleicht musst du noch was nachinstallieren.

Wenn alle Stricke reißen schau' dir mal diese Seite an. Vielleicht hilft dir das (habe das alles nicht gantz gelesen)...

Chris

Chriss 22. Feb 2003 12:30

wo kann ich gucken, welche packages ich drin hab?! hab eines jetzt installiert... in Additional sind ApplicationEvents, ValueList, LableedEdit und ColorBox dazugekommen....

CalganX 22. Feb 2003 13:44

In der englischen Version: Components -> Install Packages
In der deutschen Version: Komponenten -> Pakete installieren (o.s.ä.)
Das Package müsste "TeeChart Components" sein und ist ab Delphi 3 drin. Also auch in Delphi 7.

Chris

sakura 22. Feb 2003 15:08

@Chakotay: Nur weil die Komponenten seit Delphi 3 dabei sind, heisst das nicht, dass es die immer in Delphi geben wird ;)

Aber: sie sind noch dabei, ja.

Chriss 23. Feb 2003 10:53

Sorry, dass ich das wieder aufnehmen muss....
ich programmiere das bei nem freund, der hat delphi7
also mit dem mir gegebenen Code funktioniert das nicht:

Code:
procedure TForm1.Button1Click(Sender: TObject); // Im OnClick-Ereignis von einem Button
var
  i: integer;
begin
  for i:=0 to 11 do begin
    Chart1.Series[0].Add( IntToStr( Memo1.Lines[i] ) );
  end;
end;
inttostr überladener Bereich

-----------------------------

Habe das ganze nun anders gelöst:

Code:
procedure Tprog.Button2Click(Sender: TObject);
begin
with Series1 do
begin
    Add(  10, 'Jan.', clRed );
    Add(  20, 'Feb.', clRed );
    Add(  40, 'März', clRed );
    Add(  50, 'April', clRed );
    Add(  60, 'Mai', clRed );
    Add(  70, 'Juni', clRed );
    Add(  80, 'Juli', clRed );
    Add(  90, 'August', clRed );
    Add(  100, 'Sept.', clRed );
    Add(  110, 'Okt.', clRed );
    Add(  120, 'Nov.', clRed );
    Add(  130, 'Dez.', clRed );
end;
end;
nur gebe ich damit ja vor, was drin stehen soll, ich hab mir gedacht, ich regle das mit variablen, aber wenn ich z.B eine Variable (a) nehme, muss die "string" sein, damit ich was aus dem memo lesen kann.
bei series kann ich aber nur mit "double" arbeiten... wie kann ich das regeln?

Chriss 23. Feb 2003 18:01

hab ich da irgendwo nen fehler drin!?

CalganX 23. Feb 2003 18:12

Hab den Fehler gefunden! Es Muss nicht IntToStr, sondern StrToInt heißen. Folgendes Beispiel funktioniert 100%ig (habe es gerade selber versucht):
Delphi-Quellcode:
procedure TMainFrm.Button1Click(Sender: TObject);
const
  aMonths : array[0..11] of String = ('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember');
var
  i: integer;
begin
  Chart1.Series[0].Clear;
  for i:=0 to 11 do begin
    Chart1.Series[0].Add( StrToInt( Memo1.Lines[i] ), aMonths[i], clRed );
  end;
end;
Chris

Chriss 23. Feb 2003 18:41

DANKE DANKE DANKE DANKE

hab aber noch ein klitze kleines anderes prob.. ich schreibs einfach dahinter, wenn ich ne datei einlade und drücke auf Abbrechen, stopt das programm!

Code:
procedure Tprog.Button4Click(Sender: TObject);
var F1:Textfile;
     s:single;
     datei: string;
begin

//Daten in Edits einladen
opendialog1.execute;
datei:=opendialog1.FileName;

AssignFile(F1,datei);
reset(f1);

readln(f1,s);
zahl1.text:=floattostr(s);
readln(f1,s);
zahl2.text:=floattostr(s)
muss ich was weglassen, oder so?

Chriss 23. Feb 2003 18:46

hat sich schon erledigt, wens interessiert:

Code:
procedure Tprog.Button4Click(Sender: TObject);
var F1:Textfile;
     s:single;
     datei: string;
begin

//Daten in Edits einladen
opendialog1.execute;
datei:=opendialog1.FileName;

AssignFile(F1,datei);
reset(f1);

F.W. 17. Jun 2004 17:07

Re: VtChart?
 
Ich habe D6 Pers. Woher bekomme ich TeeChart? Mein Kumpel hat D6 Prof, kann ich mir es von ihm "holen"?

MrKnogge 17. Jun 2004 17:11

Re: VtChart?
 
google einfach mal, oder such bei torry.net.

F.W. 17. Jun 2004 19:30

Re: VtChart?
 
Bei Torry.net hab ich nix gefunden (habe nur bei Components gesucht). Im INet kostet die Komponente ganzschön, dafür das ich's nur eben mal für ne kleine Procedure mit einbaue. Kann ich mir die nicht irgendwie von meinem Kumpel holen? -> Welche Dateien brauch ich?

supermuckl 17. Jun 2004 19:52

Re: VtChart?
 
mach dir sowas doch selber wenns begrenzte funktionen haben muss

berechne die punkte und zeichne mit canvas auf ne paintbox oder in n Timage aufs bitmap und fertig :)

F.W. 17. Jun 2004 21:54

Re: VtChart?
 
Ich hab das Prog jetzt mit zum Kumpel genommen, um die Funktion dort hinzuzufügen. Da ich oft bei ihm bin, ist das kein großer Umstand.
Allerdings geht das Prog dort nicht, ich bekomme immer beim Aufruf eines neuen Formulares (wenn das Prog bereits läuft) eine Fehlermeldung. Zugriffsverletzung. Ich habe nicht dran geändert und auf meinem Rechner geht alles :!: :?: Aber das gehört ja jetzt nicht hierher.

Kennt vielleicht jemand noch ne andere Möglichkeit? VtChart und ChartFx hab ich auch, aber da weiß ich nich wie ichs bedienen kann, ich muss eigentlich auch nur 12 Datensätze hinzufügen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz