![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
klyaksa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 15.9.2005 Репутация: нет Всего: нет |
Есть динамический массив array of array of TPoint, нужно как-то сохранить что-то типа хеша массива, чтобы потом можно было сравнить изменился ли массив, без хранения начальной копии массива.
Что можете подсказать? |
|||
|
||||
DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 2 Всего: 19 |
Самый банальный вариант, это при изменении какого-либо значения просто устанавливать значение некоторой переменной типа boolean в значение true или false(кому что по душе и кому что религия позволяет
![]() -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
|||
|
||||
klyaksa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 15.9.2005 Репутация: нет Всего: нет |
Просто меняться может в разных местах, причем как отдельный элемент, так и массив 2-го уровня. И везде проверять что новое значение на равно старому не хочется и много лишнего кода... Это сообщение отредактировал(а) klyaksa - 30.6.2011, 20:14 |
|||
|
||||
DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 2 Всего: 19 |
У вас два варианта - первый выставляете флаг(переменная типа boolean), значение которой вы будете периодически проверять или вариант с процедуркой.
Объявляете процедуру которая у вас должна выполнится при изменении значения. Я так понимаю вы вполне себе представляете где у вас должно изменится значение и пишите вызов функции каждый раз как у вас изменяется значение(или может изменится). -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
|||
|
||||
klyaksa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 15.9.2005 Репутация: нет Всего: нет |
Нет, не пойдет. Даже не столько потому что куча лишнего кода будет... Допустим удалили из массива что-то - отметили что boolean = true, а потом добавили в массив тоже значение, ну может не сразу и массив стал опять как был, а эта boolean будет нам врать, что массив поменялся...
Я вижу выход такой - в переменную сохраняется какое-то значение (как вариант какой-нибудь md5), в конце опять вычисляем подобное и видно - поменялся или нет... |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Если массив меняли, значит он менялся.
А то, что в изменённом массиве такие же значения, как в 1998-м году - это как раз не имеет значения. Я даже более скажу - хороший тон, даже, если на долю секунды изменилось значение, а потом вернулось обратно - правильно считать, что изменение было. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |