Variabilele cu tipul TSrings
au rolul de a gestiona mai multe siruri de caractere de tipul AnsiString. O astfel de variabila este,
daca vreti un vector de siruri de caractere. Primul sir are indicele 0 si
ultimul n-1.
O multime de
componenete au cate o proprietate de acest tip.
Proprietatile si
metodele acestui tip le vom studia cu ajutorul proprietatii Items(care are tipul Tsrings) a componentelor de tip TComboBox.
Iata cateva metode,
mai importante:
·
Metoda Add are rolul de a
adauga sirul transmis ca parametru ca ultim sir in lista de siruri. Ea returneaza indicele ultimului sir:
int Add(AnsiString
s);
Exemplu: la apasarea unui buton se adauga o noua optiune unei
listede tip TComboBox:
void__fastcall TForm1::Button1Click(TObject *Sender)
{ComboBox1->Items->Add(“optiune adaugata”);}
Exercitiu :
La exemplul din laboratorul anterior adaugati in mod dynamic culori citite
intr-un canp de text (TEdit) . Culorile se vor edita in engleza astfel incat sa puteti seta culoarea formularului: cl+Red =>clRed, etc
·
Metoda Clear are rolul de a sterge
toate sirurile din lista de siruri:
void Clear(void);
Exemplu: se sterg toate sirurile din lista de siruri:
ComboBox1->Items->Clear();
·
Metoda Delete are rolul de a sterge sirul de indice dat din lista de siruri:
void Delete(int Index);
Exemplu: se sterge sirul de indice 0 (de fapt, prima optiune):
ComboBox1->Items->Delete(0);
·
Metoda Insert are rolul de a insera un sir
inaintea sirului de indice transmis ca parametru:
void Insert(int Index, AnsiString S);
Exemplu: se insereaza o prima optiune in lista:
ComboBox1->Items->Insert (0,”prima optiune”);
·
Metoda Move are rolul de a insera
sirul de indice CurentIndex pe pozitia NewIndex:
void Move(int CurentIndex, int NewIndex);
Exemplu: se inverseaza primele doua siruri in lista optiunilor:
ComboBox1->Items->Move(0,1);
·
Metoda LoadFromFile are rolul de a incarca
lista de siruri dintr-un fisier text:
void LoadFromFile(AnsiString FileName);
·
Metoda SaveToFile are rolul de a salva lista
de siruri intr-un fisier text:
void
SaveToFile(AnsiString FileName);
Aceste doua metode sunt extrem de
eficiente.Fisierul text nu trebuie declarat, citirea/scrierea se face la
nivelul intregului fisier:
Formularul va
contine un obiect de tip TComboBox. Lista
optiunilor va fi incarcata, la apasarea unui buton, dintr-un fisier text.
Fisierul text se creeaza, de exemplu, cu utilitarul Notepad. Fisierul se salveaza sub un
nume ales de dv.!
La apasarea butonului raspunde functia de mai jos, care
incarca din fisier optiunile:
void__fastcall TForm1::Button1Click(TObject *Sender)
{
ComboBox1->Items->LoadFromFile(“optiuni.txt”);
}
Exercitiu propus:
Se vor adauga in mod
dynamic cateva optiuni intr-o lista. Pentru a regasi optiunile la o noua rulare a
aplicatiei acestea se vor salva in fisier.
Noile optiuni se vor afisa din fisier. Se vor
folosi metodele Add, SaveToFile si LoadFromFile
Iata si cateva
proprietati ale acestui tip:
Capacity – retine numarul de siruri din lista;
Exemplu de prelucrare:
int n=ComboBox1->Items->Capacity;
Strings[int Index] – retine sirul de indice dat.
Exemplu: listez a doua optiune:
ShowMessage(ComboBox1->Items->Strings[1]);
Text – retine toate
sirurile(separate prin CR, LF).
Exemplu: afisez
toate optiunile:
ShowMessage(ComboBox1->Items->Text);
Exercitiu : Se va
adauga o noua optiune intr-o lista dupa ce se va verifica ca optiunea nu exista
deja in lista