IPB
ЛогинПароль:

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> TList, FP
сообщение
Сообщение #1


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Добрый день
Существует ли список в FP, как встроенный тип?
говорят что да но найти о нем в руководстве не могу ни слова sad.gif


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Для диалекта - надо добавить кое-что в заголовки процедур:
{$mode objfpc}
uses classes;

type
PT = ^T;
T = record
X, Y: integer;
end;

function compare(a, b: pointer): integer;
begin
if PT(a)^.X > PT(b)^.X then compare := 1
else
if PT(a)^.X < PT(b)^.X then compare := -1
else compare := PT(a)^.Y - PT(b)^.Y;
end;
procedure print(p: pointer; arg: pointer); // Еще один параметр
begin
with PT(p)^ do begin
writeLn('X = ', X:2, ' Y = ', Y:2);
end;
end;
procedure incr(p: pointer; arg: pointer); // И здесь тоже ...
begin
with PT(p)^ do begin
inc(X); inc(Y);
end;
end;

var
p: PT;
my_list: TFPList;
i: integer;

begin
my_list := TFPList.Create();
for i := 1 to 10 do begin
new(p);
with(p^) do begin
X := random(15); y := random(15);
writeLn('X = ', X:2, ' Y = ', Y:2);
end;
my_list.add(p);
end;

writeln('for each');
my_list.foreachcall(@incr, nil);
my_list.foreachcall(@print, nil);
writeln('sorting');
my_list.sort(@compare);
my_list.foreachcall(@print, nil);

end.

 К началу страницы 
+ Ответить 

Сообщений в этой теме
compiler   TList   15.07.2007 0:22
volvo   Не совсем "встроенный". Описан в модуле …   15.07.2007 0:28
compiler   спасибо... а что такое notification mechanism? […   15.07.2007 0:32
volvo   Документация утверждает ,что у TList-а есть механи…   15.07.2007 0:52
compiler   мда... ихний список совсем не список... мне совсем…   15.07.2007 22:08
volvo   А может лучше ты расскажешь, что хочешь получить? …   15.07.2007 22:37
compiler   А может лучше ты расскажешь, что хочешь получить? …   15.07.2007 22:48
volvo   Все, про TList можешь забыть - реализуй список сам…   15.07.2007 23:58
compiler   Все, про TList можешь забыть - реализуй список са…   16.07.2007 0:09
hardcase   просто как работать с классическим списком я чит…   17.07.2007 5:06
compiler   А простым примером по использовыванию никто не под…   17.07.2007 17:12
volvo   Так, например: uses classes; type PT = ^T; T…   17.07.2007 18:08
compiler   volvo, а в каком режиме ты компилировал? мой лог e…   17.07.2007 18:25
volvo   У меня по умолчанию выставлен {$mode delphi}   17.07.2007 18:56
compiler   У меня по умолчанию выставлен {$mode delphi}а…   17.07.2007 19:05
volvo   Для диалекта - надо добавить кое-что в заголовки п…   17.07.2007 19:25
compiler   Для диалекта - надо добавить кое-что в заголовки п…   17.07.2007 19:39
volvo   С пониманием природы первого указателя у тебя проб…   17.07.2007 19:50
compiler   С чего бы это? туманно все как-то... посмотрев ис…   17.07.2007 20:45
hardcase   TListCallback - это процедура которую будет вызыва…   17.07.2007 21:07
compiler   хорошо, но все же почему мы вызываем(@incr, nil), …   17.07.2007 21:15
compiler   вопрос по добавлению нового элемент есть метод Add…   18.07.2007 22:45
volvo   Во-первых, в моем примере используется не TListCal…   17.07.2007 21:12
volvo   На входе - тот самый указатель (на данные), которы…   18.07.2007 23:10
compiler   хорошо, вроде разобрались... спасибо.   18.07.2007 23:26
compiler   есть задача а не получается :) существует некий по…   20.07.2007 18:49
volvo   Присоедини программу полностью, чтоб ее можно было…   20.07.2007 18:54
compiler   ***   20.07.2007 19:10
volvo   Ну, допустим, для того, чтобы сохранить значение н…   20.07.2007 19:26
compiler   Ну, допустим, для того, чтобы сохранить значение н…   20.07.2007 19:31
volvo   Я же написал: , а значит, я имел в виду описание т…   20.07.2007 20:25
compiler   Я же написал , а значит, я имел в виду описание ти…   20.07.2007 20:34
volvo   Да нельзя делать это с переменной! Нужно приво…   20.07.2007 20:39
compiler   спасибо теперь эта часть( :) ) работает... Хотя э…   20.07.2007 21:55
volvo   Вот что мне непонятно - это твое нежелание использ…   20.07.2007 22:08
compiler   одни вопросы :) Вот что мне непонятно - это твое …   20.07.2007 22:27
volvo   Мало ли, как тебе удобнее... Ты мало того, что дел…   20.07.2007 23:45
compiler   Не забывай, что ты работаешь с Class Methods, так…   20.07.2007 23:56
hardcase   кто такой VMT? Virtual methods table - таблица ме…   25.07.2007 19:30


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 18.04.2024 12:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name