Процедура добавления подсписков.
| Код |
head_d : TMainList;
Procedure AddSubList(); var curr_elem : TMainList; begin new(curr_elem); new(curr_elem_sub); curr_elem^.Data := curr_elem_sub; if(head_d = nil) then begin curr_elem^.Next := nil end else begin curr_elem^.Next := head_d; end; head_d := curr_elem; ShowSubLists(); end;
|
Процедура отображения
| Код | Procedure ShowSubLists(); var curr_elem : TMainList; st : string; begin Form1.ListBox2.Clear; n := 0; st := ''; curr_elem := head_d; while curr_elem <> NIL do begin n := n + 1; Form1.ListBox2.Items.Add(' sublist - ' + inttostr(n)); curr_elem := curr_elem^.Next; end; end;
|
Кликая по строке листбокса я ловлю номер строки, ну и естественно номер списка.
| Код | procedure TForm1.ListBox2Click(Sender: TObject); begin if ListBox2.ItemIndex >= 0 then nomer := ListBox2.ItemIndex + 1; end;
|
Ну и потом самое интересное.
| Код | procedure TForm1.Button1Click(Sender: TObject); begin AddElement(nomer); end;
|
Добавлено через 2 минуты и 39 секунд Rrader, Вот все что есть. |