Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
55<br />
void Info (TList *vl) {<br />
AnsiString b;<br />
for (int i=0; iCount; ++i)<br />
{ b += AnsiString (i) + ' ' + (char*) vl–>Items[i] + '\n'; }<br />
ShowMessage ("В списке: " + IntToStr (vl–>Count) + '\n' + b);<br />
}<br />
void __fastcall TForm1::ListClick (TObject *Sender){<br />
AnsiString a[] = {"Иванов", "Петров", "Сидоров", "Смирнов"};<br />
TList *vList = new TList;<br />
try {<br />
vList–>Capacity = 10;<br />
for (int i=0; iAdd (a[i].c_str ());<br />
Info (vList); // В списке 4: 0 Иванов 1 Петров 2 Сидоров 3 Смирнов<br />
vList–>Remove (vList–>Items[1]); vList–>Delete (1);<br />
Info (vList); // В списке 2: 0 Иванов 1 Смирнов<br />
vList–>Insert (1, a[0].c_str ());<br />
Info (vList); // В списке 3: 0 Иванов 1 Иванов 2 Смирнов<br />
ShowMessage ("Свободно " + IntToStr (vList–>Capacity–vList–>Count)); // 7<br />
vList–>Pack ();<br />
ShowMessage ("Свободно " + IntToStr (vList–>Capacity–vList–>Count)); // 7<br />
} catch (...) { delete vList; throw; }<br />
delete vList;<br />
}<br />
Пример разработки авторского списка без привлечения библиотечного<br />
класса TList:<br />
struct vList { int value; vList *p; };<br />
vList *current, *last, *first;<br />
int Get () {<br />
static value;<br />
int val = MessageDlg ("Продолжать", mtConfirmation,<br />
TmsgDlgButtons () p = 0;<br />
if (last) last–>p = current; else first = current;