//---------------------------------------------------------------------------
#include
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
//------------------------------------------------------------------------
// Vectorer instansieras såhär och kan användas för de flesta
// datatyper, även structs och klasser! Viktigt är att om man använder
// structs skall dessa deklareras i h-filen!!!!
vector
vector
int tempInt;
AnsiString tempStr;
Name_T tempName;
//--------------------------------------------------------------------
// Initiera dummystructen med data som skall användas senare.
tempName.Namn = "Krister"; tempName.alder = 29;
//--------------------------------------------------------------------
// om man skulle behöva rensa vectorerna skriver man:
vInt.clear();
vName.clear();
//--------------------------------------------------------------------
// För att lägga till en post till den "länkade" listan kan
// man använda:
vInt.push_back(23);
vName.push_back(tempName);
tempName.Namn = "Krister"; tempName.alder = 30;
vName.push_back(tempName);
tempName.Namn = "Krister"; tempName.alder = 31;
vName.push_back(tempName);
tempName.Namn = "Krister"; tempName.alder = 100;
vName.push_back(tempName);
tempName.Namn = "Krister"; tempName.alder = 200;
vName.push_back(tempName);
//--------------------------------------------------------------------
// Nu ligger fem poster i listan vName.
// Vill man komma åt första skriver man
tempName = vName[0];
tempName = vName.at(0); // Identisk funktion som på raden ovan.
//--------------------------------------------------------------------
// För att få antalet poster:
int no = vName.size();
//--------------------------------------------------------------------
// För att se om listan är tom:
bool empty = vName.empty();
//--------------------------------------------------------------------
// För att ta bort sista posten i listan:
vName.pop_back();
// ... eller för att ta bort en godtycklig post i listan.
tempName.Namn = "Krister"; tempName.alder = 100;
vector
vName.erase(where); // Tar bort (Krister, 100);
//--------------------------------------------------------------------
// För att ändra storleken på listan utan att
// lägga till/ta bort post för post.
// Detta exempel utökar till 12 poster och fyller på
// de tomma posterna med structen.
// Fungerar även för att förminska listan. Då slängs de överflödiga posterna.
tempName.Namn = "Krister"; tempName.alder = 31;
vName.resize(12, tempName);
//--------------------------------------------------------------------
// Nu har vi 12 poster.
// Om vi vill lägga till en post i mitten då?
// Här lägger vi till 3 stycken (Moschler, 18)
// innan posten med (Krister,30)
tempName.Namn = "Krister"; tempName.alder = 30;
where = find(vName.begin(), vName.end(), tempName);
tempName.Namn = "Moschler"; tempName.alder = 18;
vName.insert(where, 3, tempName);
//--------------------------------------------------------------------
// Här börjar BBC-specifik kod för att mata ut resultatet.
// Men allt innan kan användas för alla andra c-kompilatorer som
// implementerat 'vector'
for(int i=0 ; i
}
//---------------------------------------------------------------------------