Avatar billede videodyr Nybegynder
13. juni 2002 - 16:17 Der er 6 kommentarer og
1 løsning

Diagram

Hvordan lave man Diagram i Borland C++ Builder 5??

Den skal meget gerne lave en BMI søjle pr. dag, stå i table.


Table se sådan ud:
DATO | kleintnr | BMI

Avatar billede soepro Nybegynder
14. juni 2002 - 12:09 #1
Brug TStringGrid som du finder i "Additional" fanen og "slask" den på din form.

TStringGrid indeholder bl.a. properties til at angive fast antal rækker eller kolonner, overskrifter til kolonnerne o.m.a.

Dit BMI ekspempel kunne du lave sådan her:

Indsæt dette i din Form1's .h fil overoevr TForm1 klassen:
class cBMIElm
{
  public:
  long      Date;
  int        KlientNr;
  float      BMI;
};

under 'private:' i din form skriver du

  cBIMelm BMIs[100];

og så laver du en metode til at fylde string-grid'en:

void __fastcall Form1::FillStringGrid(TObject *)
{
  // Formater gridens kolonner og rækker.

  // Hæld dataene i cellerne.
} // FillStringGrid

FillStringGrid kan du så f.eks. sætte på OnClick event'en på en knap.

Koden til formattering af grid'en og i fyldning af data kunne se sådan her ud:
Avatar billede soepro Nybegynder
14. juni 2002 - 12:22 #2
void __fastcall TForm1::FillStringGrid(TObject *)
{
  // One fixed row for heading, one fixed column for indexes.
  // Foud columns in total - at least one row in addition to headers.
  StringGrid1->FixedRows    = 1;
  StringGrid1->FixedCols    = 1;
  StringGrid1->RowCount    = 2;
  StringGrid1->ColCount    = 4;

  StringGrid1->Cells[0][0]  = "Nr.";
  StringGrid1->Cells[1][0]  = "Dato";
  StringGrid1->Cells[2][0]  = "Klientnr.";
  StringGrid1->Cells[3][0]  = "BMI";

  for (int idx = 0; idx < sizeof(BMIs)/sizeof(BMIs[0]); idx++)
  { // Expand grid as required. */
    if (idx >= StringGrid1->RowCount - StringGrid1->FixedRows)
      StringGrid1->RowCount = StringGrid1->RowCount + 1;
    StringGrid1->Cells[0][idx + StringGrid1->FixedRows] = idx + 1;
    StringGrid1->Cells[1][idx + StringGrid1->FixedRows] = IntToStr(BMIs[idx].Date);
    StringGrid1->Cells[2][idx + StringGrid1->FixedRows] = IntToStr(BMIs[idx].KlientNr);
    StringGrid1->Cells[3][idx + StringGrid1->FixedRows] = FloatToStr(BMIs[idx].BMI);
  };
}
Avatar billede videodyr Nybegynder
18. juni 2002 - 11:32 #3
Jeg har selv fundt ud af hvordan jeg kan gøre det...
Men tak for hjælpen alligvel.
Avatar billede soepro Nybegynder
18. juni 2002 - 13:19 #4
videodyr >> det var billigt sluppet hva' ? Hvilken anden løsning valgte du så ? (For hvis min løsning hjalp dig, er der kutyme for at give lidt point til dem der gad at bruge tid på at prøve at svare.)
Avatar billede videodyr Nybegynder
18. juni 2002 - 14:03 #5
Jeg fandt ud af at programmet Borland Builder c++ selv kunne lave det jeg ønskede, alså hente det fra database og ligge det over uden jeg enlig jeg skulle gøre noget..

soepro >> Men jo måske skulle du have haft lidt point. Det må undskylde...
Jeg lover dig at næste gang du svare på en af mine spørgsmål, ligger der 20 point til dig, ud over det jeg har sat som man få ved rigtigt svar, ved næste spørgsmål.

eller skal vi finde en anden løsning????
Avatar billede soepro Nybegynder
18. juni 2002 - 14:51 #6
videodyr >> nåh - vha. TDBGrid !
Avatar billede videodyr Nybegynder
18. juni 2002 - 15:01 #7
soepro >> Nej... Men via VtChart...
Det var enlig meget ment sætte det op.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester