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

Вниз

списки   Найти похожие ветки 

 
Ag2002   (2002-11-29 16:04) [0]

народ, у кого есть простинький пример работы с двухсвязными динамическими списками, на паскале, чтобы там было добавление элемента, удаление, просмотр всего что введенно !!! очень надо а у самого чтото не совсем работает !!!


 
Skier ©   (2002-11-29 16:07) [1]

>Ag2002

> а у самого чтото не совсем работает !!!

Что не работает ?
Где косяк ?


 
Ag2002   (2002-11-29 16:14) [2]

да не могу правельно инициализировать,а потом соответственно делать все остальное


 
Skier ©   (2002-11-29 16:23) [3]

>Ag2002
Да там особо нужно работать только в первым и последним
элементом у них нет указателя (=nil) на предыдущий и следующий элемент соответственно.

А тип элемента примерно такой

PListItem = ^TListItem;
TListItem = packed record
liPrev : PListItem;
liData : TYourType;
liNext : PListItem;
end; //TListItem


 
Ag2002   (2002-11-29 16:45) [4]

ну я делаю так при инициализации liPrev нужно присвоить nil, а liNext оставяю как есть, при добавлении я liPrev даю адрес старого liNext, а номому liNext := nil. Но оно все работает только потом я обращатся к данным не могу они не те что ввёл !!!


 
Skier ©   (2002-11-29 16:52) [5]

>Ag2002
Извини, конечно, но ты память-то выделяешь
var
AListItem : PListItem;
New(AListItem)

и т.д.


 
Skier ©   (2002-11-29 16:56) [6]

>Ag2002

> даю адрес старого liNext

в liPrev адрес не старого liNext а адрес узла созданного на предыдущем шаге...


 
Ag2002   (2002-11-29 17:03) [7]

Память я выделяю !!!!
> в liPrev адрес не старого liNext а адрес узла созданного на предыдущем шаге...
покажи на примере


 
Andrey007   (2002-11-29 17:06) [8]

Я, например, работу со связанными списками переложил на Delphi - делаю TListBox.AddObject. В принципе, тоже самое можно делать и с TComboBox"ом. Насчёт остальных компонентов - не знаю.


 
Ag2002   (2002-11-29 17:12) [9]

Andrey007 - я просто прошу пример проги на пакале под ДОС


 
Darkwin ©   (2002-11-29 17:21) [10]

procedure Add(Last:PListItem)
var
Item:PListItem;
begin
New(Item);
Item^.liData:=что то;
Last^.liNext:=Item;
Item^.Prev:=Last;
end;

где то так, Last соответсвенно последний элемент в списке


 
Ag2002   (2002-11-29 17:48) [11]

а как потом к ним правельно обращатся


 
pasha_golub ©   (2002-11-29 17:54) [12]

Нада сохранить в переменной
var Current: PListItem

Если текущее звено Current.Data
Если следующее Current.Next.Data
Предидущее Current.Pred.Data
и т.д. и т.п.



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
14-28281
Карлсон
2002-11-18 17:43
2002.12.09
противогазы :)


6-28186
AlexMain
2002-10-10 21:56
2002.12.09
Как положить письмо сразу на POP3 без SMTP?


3-27887
Mic_2000
2002-11-21 11:12
2002.12.09
Немогу разобраться с Lookup полями в DBGridEh из EhLib


3-27884
Calm
2002-11-21 14:54
2002.12.09
Вызов процедуры из другой процедуры


3-27861
ALX
2002-11-21 08:58
2002.12.09
как обнулить счетчик поля (Autoincrement)