Существует ли список в 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 |
Сообщение
#5
|
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
хорошо, но все же почему мы вызываем(@incr, nil), а не (incr, nil)?
-------------------- Спасибо!
Удачи! |
| compiler |
Сообщение
#6
|
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
вопрос по добавлению нового элемент есть метод Add.
Цитата public function TFPList.Add(Item: Pointer):Integer; Description Add adds a new pointer to the list after the last pointer (i.e. at position Count, thus increasing the item count with 1. If the list is at full capacity, the capacity of the list is expanded, using the Grow method. но как что ему передавать не что он возвращает не указано... так что это за параметры? Сообщение отредактировано: compiler - -------------------- Спасибо!
Удачи! |
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 Во-первых, в моем примере используется не 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 11:49 |