![]() |
|
|
![]()
|
|
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Приветствую всех.
Хочу перед чтением файла проверять его валидность. Это связано с тем, что если файл открыть любым текстовым редактором, изменить и сохранить, то при открытии такого файла моей программой, она либо выдаёт сообщение об ошибке (мол считываемое значение не int и т.п.), либо просто виснет. Это не есть гуд. Единственная мысль: посчитать md5 (ещё надо узнать как...) и где-то его сохранить. А потом перед чтением файла, опять считать и сравнивать с исходным. Но возникает другая проблема: где хранить md5, учитывая, что файл переносной и на другом ПК тоже нужно будет сделать проверку. Хотя, может есть другие способы предотвратить зависание и возникновение ошибок? Ошибки, конечно, можно отлавливать в try{} catch(){}. А вот как быть с зависанием... ЗЫ читаю файл из потока типа TMemoryStream. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 25 Всего: 372 |
artsb, http://ru.wikipedia.org/wiki/MD5
В принципе можно, как мне кажется, в твоем случае применить, но можно и просто считывать проверяя данные на валидность... Можно в самом файле какие то обозначения делать.. |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Код сильно увеличится... Могут же и их испортить... Кстати, узнал из-за чего зависала прога: я так испортил файл ЗЫ спасибо за ссылку. буду читать. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |