TChart Beispiel
-
So etwa
void Array_fuellen() { int i=0; for (int x=0; x<30; ++x) for (int y=0;y<30; ++y) { series1[29-x][29-y]=i; i++; } }
-
Hallo,
ich will jetzt Werte für eine Graphik aus einem Memofeld entnehemen:
Code:Chart1->Series[0]->AddXY(j,Memo1->Lines[j],"",clTeeColor);
Es kommt die Fehlermeldung:
[C++ Fehler] UnitGraphik.cpp(326): E2034 Konvertierung von 'TStrings' nach 'double' nicht möglich
Ich verstehe es nicht, weil doch im Memo alles als String drinsteht.
Wozu die Konvertierung. Und wie macht man eine String/Double Konvertierung?Weiß jemand wie man es richtig schreibt.
LG Eliza
-
Versuch mal so:
Chart1->Series[0]->AddXY(j,StringToFloat(Memo1->Lines->Strings[j]),"",clTeeColor);
-
Danke, hab's probiert, aber es kommt die Meldung:
[C++ Fehler] UnitGraphik.cpp(326): E2268 Aufruf der undefinierten Funktion 'StringToFloat'
-
sorry, war mein Fehler:
Chart1->Series[0]->AddXY(j,StrToFloat(Memo1->Lines->Strings[j]),"",clTeeColor);
so müsste es gehen
-
Ich habe es auch mit StrToFloat probiert, aber da kommt dann die Meldung:
[C++ Fehler] UnitGraphik.cpp(326): E2034 Konvertierung von 'TStrings' nach 'AnsiString' nicht möglich
Verstehe ich absolut nicht, warum er mit String nicht zufrieden ist ??
LG
Eliza
-
tut mir leid, da bin ich überfragt.
Bei mir kommt der Fehler nicht.
-
Hallo Sonic,
wenn dich interessiert, ich hab's rausbekommen:
Chart1->Series[0]->AddXY(j,StrToFloat(Memo1->Lines->Strings[j]),"",clTeeColor);
so funktionierts
LG
Eliza
-
[quote="*Eliza"]Hallo Sonic,
wenn dich interessiert, ich hab's hinbekommen:
Chart1->Series[0]->AddXY(j,StrToFloat(Memo1->Lines->Strings[j]),"",clTeeColor);
dein Vorschlag war schon richig, ich habe irgendwie einen Fehler im Code reingebracht.
Danke.LG Eliza
-
Ich bin vor Freude fast vom Stuhl gefallen
-
Hallo @all,
und noch eine Frage zu TChart:
Weiß jemand, wie man es in TChart einrichtet oder programmiert, dass stellenweise keine durchgezogenen Linien gemacht werden.
z.B ich habe die Werte 1,2,3,4,5,6,7,8,9 (Beispielwerte jetzt)
Der Grapfh soll z.B von 1-4 eine durchgezogene Linie zeichnen.
5 aussparen, (aber vielleicht einen Punkt hinmachen)
und dann wieder von 6-9 eine durchgezogene Linie.Vielleicht weiß es hier ja jemand. Danke für die Antworten vorab.
LG Eliza
-
Das geht so:
AnsiString Beschriftung_X_Achse = "irgendwas"; Chart1->Series[0]->AddNull(Beschriftung_X_Achse);
-
Hallo sonic,
ich verstehe es ehrlich gesaagt nicht ganz.
jezt bezogen auf mein Beipiel, wie würde das aussehen?LG
Eliza
-
Chart1->Series[0]->AddXY(0,1,"",clTeeColor); Chart1->Series[0]->AddXY(1,2,"",clTeeColor); Chart1->Series[0]->AddXY(2,3,"",clTeeColor); Chart1->Series[0]->AddXY(3,4,"",clTeeColor); Chart1->Series[0]->AddNull(""); Chart1->Series[0]->AddXY(5,5,"",clTeeColor); Chart1->Series[0]->AddXY(6,6,"",clTeeColor); Chart1->Series[0]->AddXY(7,7,"",clTeeColor); Chart1->Series[0]->AddXY(8,8,"",clTeeColor); Chart1->Series[0]->AddXY(9,9,"",clTeeColor);
-
sonic_1233 schrieb:
...
Zu Ostern postest du das für ihn als Schleife
-
Schleifen kosten bei mir Aufpreis
-
Hallo,
nochmal zum (nicht)-Verbinden von Graphen
ich habe folgenden Code
Chart1->Series[0]->AddXY(j,StrToFloat(mlk1.mMi[j]),"",clTeeColor); if (mlk1.mMilch[j]==0) { Chart1->Series[0]->AddNull(""); }
in der Struktur mlk1 kann irgendwo eine 0 vorkommen.
Diese soll nicht mit dem vorhergehenden und mit dem nachkommenden Wert verbunden werden. Also ein unterbrochener Graph
Wenn zb. die Werte im mkl1 um die O etwa so aussehen 5,0,8
soll zwischen 5 und 8 keine Verbindungslinie gezeichnet werden.bis jetzt, wie mein Code ist, zeichnet er von 5 bis O eine Linie aber dann von O bis 8 keine mehr (5 und 8 sind nur Beispielwerte)
Weiß jemand wie ich mein Problem lösen?
LG
Eliza
-
Wenn du das genau so stehen hast, dann fügst du den Wert mlk1.mMi[j] ja zweimal hinzu, wenn er 0 ist.
einmal
Chart1->Series[0]->AddXY(j,StrToFloat(mlk1.mMi[j]),"",clTeeColor);
und wenn er 0 ist nochmal
Chart1->Series[0]->AddNull("");
Wäre doch eher:if (mlk1.mMilch[j]==0) { Chart1->Series[0]->AddNull(""); } else { Chart1->Series[0]->AddXY(j,StrToFloat(mlk1.mMi[j]),"",clTeeColor); }
EDIT: ist da jetzt eigentlich nen String oder ne Zahl in mlk1.mMilch[j]?
Dann müsste das if ja auf "" oder "0" oder was auch immer testen und nicht 0.mfg
xXx
-
evtl. auch das
if (mlk1.mMilch[j]==0) { Chart1->Series[0]->AddXY(j,0,"",clNone); } else { Chart1->Series[0]->AddXY(j,StrToFloat(mlk1.mMi[j]),"",clTeeColor); }
So kann man auch ungeordnete Werte eingeben.
-
Danke für eure Hilfe, jetzt passts!
LG Eliza