Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.19;
Скачать: CL | DM;

Вниз

Как добовлять в середину списка?   Найти похожие ветки 

 
Rradion   (2003-12-05 17:01) [0]

Тогда еще вопросик, как добовлять в середину списка?

Если, к примеру, надо добавить 3 елемента после второго.
В книге написано что это сложно и этого следует избегать.

Или проще первые 2 елемента из списка положить в массив, добавить 3 новых, остальные из списка, очистить список и положить обратно?

Спасибо!


 
Семен Сорокин ©   (2003-12-05 17:04) [1]

список чего?


 
Rradion   (2003-12-05 17:08) [2]

>>список чего?
integer-ов.


 
Serg   (2003-12-05 17:09) [3]

ну и как же он организован, твой список?


 
Digitman ©   (2003-12-05 17:09) [4]


> Rradion


ты меню в трактире что ль переписываешь ? всякий раз когда "ложишь", "вставляешь", "добавляешь" и пр. ?

или все таки кодируешь некий алгоритм средствами Object Pascal ?


 
Rradion   (2003-12-05 17:10) [5]

procedure TForm1.FormCreate(Sender: TObject); /// Pri FormCreate - spisok pustoij
begin ///
First:=nil; ///
end; ///

procedure Add(Value:integer); /// Procedura ADD.
var Tmp:PNode; ///
begin ///
New(Tmp); ///
Tmp^.Info:=Value; ///
Tmp^.Next:=First; ///
First:=Tmp ///
end; ///

procedure TForm1.Button1Click(Sender: TObject); /// ADDim 10 elementov.
begin ///
Randomize; ///
ListBox1.Clear; ///
for i:=1 to 10 do Add(Random(100)); ///
end; ///

procedure TForm1.Button2Click(Sender: TObject); /// Obhodim spisok - kladjom v LB1.
var Tmp:PNode; ///
begin ///
Tmp:=First; ///
ListBox1.Clear; ///
while Tmp<>nil do ///
begin ///
Form1.ListBox1.Items.Add(IntToStr(Tmp^.Info)); ///
Tmp:=Tmp^.Next ///
end ///
end;


 
Rradion   (2003-12-05 17:11) [6]

И теперь к этому списку из 10 елементов, еще надо добавить 3 елемента, после второго.


 
Семен Сорокин ©   (2003-12-05 17:11) [7]

посмотри методы
TListBox.Items.Insert
TListBox.Items.Delete


 
Rradion   (2003-12-05 17:14) [8]

>>ты меню в трактире что ль переписываешь ? всякий раз когда "ложишь", "вставляешь", "добавляешь" и пр. ?

Лабораторную делаю, какую уж задали...


 
Antonn   (2003-12-05 17:14) [9]

Если известо куда добовлять, можно воспользоваться "деревянным" способом -

ListBox1.Items.Add("...");
ListBox1.Items.Move(номер передвигаемого,куда);

Какие именно передвинуть - дело техники. Но это корявый способ.


 
Rradion   (2003-12-05 17:16) [10]

>>посмотри методы
>>TListBox.Items.Insert
>>TListBox.Items.Delete

И то верно, спасибо.
Так пожалуй проще будет - в ЛБ добавить и создать новый список, по тому, что в ЛБ.



Страницы: 1 вся ветка

Текущий архив: 2003.12.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
3-61989
2511
2003-11-25 15:51
2003.12.19
альтернатива файла *.cdbf для delphi


1-62030
Anev
2003-12-06 14:52
2003.12.19
Создание компонента


1-62081
AlexG
2003-12-09 08:24
2003.12.19
Формат даты


1-62075
Dim!S
2003-12-09 09:29
2003.12.19
Арихватор zip


7-62304
Zapped
2003-10-14 16:23
2003.12.19
Сервис+mailslot