Существует ли список в FP, как встроенный тип?
говорят что да но найти о нем в руководстве не могу ни слова
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
| compiler |
Сообщение
#1
|
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Добрый день
Существует ли список в FP, как встроенный тип? говорят что да но найти о нем в руководстве не могу ни слова -------------------- Спасибо!
Удачи! |
![]() ![]() |
| volvo |
Сообщение
#2
|
|
Гость |
С пониманием природы первого указателя у тебя проблема...
Цитата получаем 2 аргумента первый указатель на процедуру, второй -- не ясно что... С чего бы это? Смотри, что написано:Цитата(rtl.pdf) 2.42.21 TFPList.ForEachCall Synopsis: Call a procedure or method for each pointer in the list. Declaration: procedure ForEachCall(proc2call: TListCallback;arg: pointer) procedure ForEachCall(proc2call: TListStaticCallback;arg: pointer) Visibility: public Description: ForEachCall iterates over all pointers in the list and calls proc2call, passing it the pointer and the additional arg data pointer. Proc2Call can be a method or a static procedure. То есть, первый аргумент - это сам указатель, хранящийся в списке (над элементом, на который он указывает, надо произвести какие-то действия), а второй - дополнительный указатель. Второй ЗДЕСЬ не используется. Сообщение отредактировано: volvo - |
| compiler |
Сообщение
#3
|
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
С чего бы это? туманно все как-то...посмотрев исходники кажеться понял зачем nil -- просто так..
итак мы вызываем метод(в качестве первого параметра используем указатель(почему?) на процедуруа второй оставляем пустым), процедура возвразщает 2 указателя, которые преобразуются в некий TListCallback. Тоесть мы для вызова ForEachCall используем два лишних указателя .Так? Сообщение отредактировано: compiler - -------------------- Спасибо!
Удачи! |
| hardcase |
Сообщение
#4
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: 8 |
TListCallback - это процедура которую будет вызывать ForEachCall для КАЖДОГО элемента списка и передавать ей этот элемент первым параметром.
Втрой указаталь - arg нужен для того, чтобы передавать в TListCallback некие дополнительные параметры, например, если мы хотим отфильтровать список, в качестве arg будет выстпуать новый список, в котором будут аккумулироваться разультаты фильтрации. -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
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
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![]() ![]() |
|
Текстовая версия | 6.11.2025 5:37 |