Главная страница
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.021 c
1-62040
xprosium
2003-12-06 02:39
2003.12.19
Получение строки


1-62102
Vad1
2003-12-08 14:36
2003.12.19
c2pascal


3-61981
ss300
2003-11-26 11:22
2003.12.19
Фунция возвращения месяца


3-61909
Рамиль
2003-11-27 08:17
2003.12.19
Источник данных ODBC


4-62313
demonyator
2003-10-26 01:49
2003.12.19
Код украинского языка.