![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 05.04.2008
Сообщений: 244
|
![]()
Добрый день!
Как можно упростить данный код (конструкции типа Smallint(Pointer(@apeaks[i, 0])^) и PSmallInt(@apeaks[i, 1])^) без изменения объявления глобальных переменных (массава apeaks : array of array of ^SmallInt)? И, пожалуйста объясните смысл этих конструкций (Smallint(Pointer(@apeaks[i, 0])^) и PSmallInt(@apeaks[i, 1])^). Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
![]()
А сам код работает?
Скорее всего нет... указатели обычно используют так: Код:
Последний раз редактировалось BaronTreep; 31.05.2009 в 14:01. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
![]() Код:
Код:
![]() Последний раз редактировалось Evgeniy26; 31.05.2009 в 14:10. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 05.04.2008
Сообщений: 244
|
![]()
Во-первых, спасибо за помощь.
Во-вторых код абсолютно рабочий, который я привел. можете проверить. значения в мемо 1 и 2 полностью совпадают. тоесть те значения который я заношу в массив я могу извлечь из него, например, в мемо 2. Последний код интересный, но используя его так: Код:
Последний раз редактировалось SkAndrew; 31.05.2009 в 15:19. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
![]()
Вы память очищаете.
Код:
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 05.04.2008
Сообщений: 244
|
![]()
Тогда правильно перед каждым нажатие кнопки будет так или что-то снова неверно?
то есть как правильно обновлять массив, при этом не создавая мусор или не оставляя мусор в памяти, а тоже ее очищая. Код:
Последний раз редактировалось SkAndrew; 31.05.2009 в 16:15. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
![]() Код:
Код:
Последний раз редактировалось Evgeniy26; 31.05.2009 в 16:32. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 05.04.2008
Сообщений: 244
|
![]()
Спасибо большое за очень подробную помощь.
Если не сложно можно еще вопрос: В каких случаях лучше использовать New, а в каких GetMem и что должно идти раньше - обявление размера массива SetLength(apeaks, i+1, 2);, а затем выделение памяти New или GetMem или наоборот. Соответственно, правилная конструкция сперва высвобождения памти, а потом SetLength(apeaks, 0, 0); или как-то иначе. Спасибо еще раз! |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
![]()
Найдите там главу указатели: http://www.delphikingdom.com/asp/vie...catalogID=1184
Поищите, информации на эту тему много. ![]() |
![]() |
![]() |
![]() |
#10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Я бы cказал New универсальнее...
I'm learning to live...
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Чтение из файла smallint | Лурье | Общие вопросы Delphi | 7 | 13.05.2009 18:45 |
как выделить память для указателя (pointer), и сюда же, записать : integer, потом через 4 байта, boolean? | bigxman | Общие вопросы Delphi | 1 | 02.02.2009 21:17 |
Вопрос по конструкции if() С++ | ROD | Помощь студентам | 2 | 20.12.2008 20:14 |
вопрос по использованию конструкции if | zetrix | Microsoft Office Excel | 0 | 31.10.2006 07:52 |