| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > хеш для массива |
| Автор: klyaksa 30.6.2011, 19:25 |
| Есть динамический массив array of array of TPoint, нужно как-то сохранить что-то типа хеша массива, чтобы потом можно было сравнить изменился ли массив, без хранения начальной копии массива. Что можете подсказать? |
| Автор: DarkProg 30.6.2011, 19:40 |
| Самый банальный вариант, это при изменении какого-либо значения просто устанавливать значение некоторой переменной типа boolean в значение true или false(кому что по душе и кому что религия позволяет |
| Автор: DarkProg 30.6.2011, 20:21 |
| У вас два варианта - первый выставляете флаг(переменная типа boolean), значение которой вы будете периодически проверять или вариант с процедуркой. Объявляете процедуру которая у вас должна выполнится при изменении значения. Я так понимаю вы вполне себе представляете где у вас должно изменится значение и пишите вызов функции каждый раз как у вас изменяется значение(или может изменится). |
| Автор: klyaksa 1.7.2011, 08:43 |
| Нет, не пойдет. Даже не столько потому что куча лишнего кода будет... Допустим удалили из массива что-то - отметили что boolean = true, а потом добавили в массив тоже значение, ну может не сразу и массив стал опять как был, а эта boolean будет нам врать, что массив поменялся... Я вижу выход такой - в переменную сохраняется какое-то значение (как вариант какой-нибудь md5), в конце опять вычисляем подобное и видно - поменялся или нет... |
| Автор: Snowy 1.7.2011, 10:17 |
| Если массив меняли, значит он менялся. А то, что в изменённом массиве такие же значения, как в 1998-м году - это как раз не имеет значения. Я даже более скажу - хороший тон, даже, если на долю секунды изменилось значение, а потом вернулось обратно - правильно считать, что изменение было. |