22. oktober 2003 - 14:18
Der er
5 kommentarer og
1 løsning
Hjælp til Teechart
Jeg har 10 værider(tal), som jeg skal have lagt ind i en teepie, men når jeg prøver på det så lægger den bare 10 pies oven i hinanden, men det er ikke sådan det skal være der skal være alle 10 værdier i den samme pie hvordan gør jeg det.
23. oktober 2003 - 10:51
#2
Tak for eksemplet men det var ikke lige sådan at jeg havde tænkt mig det skulle være. Det der skal ske er at jeg får 10 tal værdier ind som skal fordeles procentmæssigt afhængigt af størrelse på en pie. Dette skal ske ved tryk på en knap. Når der bliver trykket på knappen skal alle 10 værdier altså sættes på med det samme.
23. oktober 2003 - 19:17
#3
Du skal vel blot putte 10 tal i når det trykkes på knappen i stedet for 1.
Jeg lavede lige en modifikation:
int x[10][2] =
{
{5000, RGB(random(256), random(255), random(255))},
{5000/9, RGB(random(256), random(255), random(255))},
{5000/9, RGB(random(256), random(255), random(255))},
{5000/9, RGB(random(256), random(255), random(255))},
{5000/9, RGB(random(256), random(255), random(255))},
{5000/9, RGB(random(256), random(255), random(255))},
{5000/9, RGB(random(256), random(255), random(255))},
{5000/9, RGB(random(256), random(255), random(255))},
{5000/9, RGB(random(256), random(255), random(255))},
{5000/9, RGB(random(256), random(255), random(255))}
};
void __fastcall TForm1::OnPushMe(TObject *Sender)
{
for(int i = 0; i < 10; i++)
Series1->AddXY(1, x[i][0], "", TColor(x[i][1]));
}
Så fylder den første ca. halvdelen og de andre deles ligeligt om resten.
Du kan så lave x om til de ti tal du har som skal vises.
Den finder selv ud af den procentvise fordeling.
29. oktober 2003 - 15:20
#4
Jeg har nu fået dem tegnet ind, men der er opstået et andet problem som jeg ikke kan løse. De tal jeg får ind er komma tal og de kommer ind som en double, men når de bliver lagt ind i AddXY bliver de lavet om til int idet tallene efter kommaet bliver skåret fra hvordan undgår jeg dette.
30. oktober 2003 - 00:11
#5
Du skal bruge Series1->Add(...) i stedet for AddXY(...):
struct
{
double val;
int color;
}table[4] =
{
{0.0010000, RGB(random(256), random(255), random(255))},
{0.0003333, RGB(random(256), random(255), random(255))},
{0.0003333, RGB(random(256), random(255), random(255))},
{0.0003333, RGB(random(256), random(255), random(255))}
};
void __fastcall TForm1::OnPushMe(TObject *Sender)
{
for(int i = 0; i < 4; i++)
Series1->Add(table[i].val, "", TColor(table[i].color));
}