Форум: "Основная";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];
ВнизПроверка корректности файла Найти похожие ветки
← →
@!!ex © (2008-04-14 12:05) [0]Есть файл конфигурации.
ПРи запуске программа его читает и выставляет соотетствующие параметры.
При выходе - записывает в файл данные.
На днях один из тестеров пожаловался на такой момент:
изменил настройки, нажал кнопочку "применить" в этот момент проект грохнулся(странно, за пол года тестирования никогда не падал... ну это дело тестера, как он этого добился), в итоге файл конфигурации оказался не корректным. Программа пытается прочитать его, прочитать не удается, и она падает благополучно.
Соответственно встала задача как то проверять файл на корректность. Как это лучше всего сделать?
← →
Плохиш © (2008-04-14 12:32) [1]
> Проверка корректности файла
>
> @!!ex © (14.04.08 12:05)
> Соответственно встала задача как то проверять файл на корректность.
> Как это лучше всего сделать?
Использовать механизм обработки исключительных ситуаций try/except try/finally.
← →
Kolan © (2008-04-14 12:35) [2]> Соответственно встала задача как то проверять файл на корректность.
> Как это лучше всего сделать?
> Использовать механизм обработки исключительных ситуаций
> try/except try/finally.
И если не получилось(эксепшн) использовать настройки по умолчанию, зашитые в программу.
← →
Riply © (2008-04-14 12:37) [3]Если защищаться от изменений со стороны или незаконченой записи, то, может, простейшая подпись ?
CRC, например ?
← →
VAleksey (2008-04-14 12:37) [4]ReadLN - ами.
← →
Anatoly Podgoretsky © (2008-04-14 13:12) [5]> VAleksey (14.04.2008 12:37:04) [4]
Ввести понятие тразакций, сначала в новый файл, затем переименования в бак, затем переименования нового файла.
Ну и конечно возможность сброса настроек в значение по умолчанию.
← →
KSergey © (2008-04-14 13:17) [6]> Riply © (14.04.08 12:37) [3]
> Если защищаться от изменений со стороны или незаконченой
> записи, то, может, простейшая подпись ?
И что? Ну есть файл с некорректной подписью. Что программе делать в такой ситуации? Продолжать благополучно падать?
← →
KSergey © (2008-04-14 13:20) [7]> @!!ex © (14.04.08 12:05)
> изменил настройки, нажал кнопочку "применить" в этот момент
> проект грохнулся(... ну это дело тестера, как он этого добился),
> в итоге файл конфигурации оказался не корректным.
А вот раз файл некорректный вышел - то это уже разработчика дело, а не тестера, согласитесь.
← →
Anatoly Podgoretsky © (2008-04-14 13:42) [8]> KSergey (14.04.2008 13:20:07) [7]
Дело тестера довести до этой ситуации, раз удалось, то хороший тестер.
← →
Оригинал (2008-04-15 13:09) [9]
> Соответственно встала задача как то проверять файл на корректность.
> Как это лучше всего сделать?
А зачем проверять? Не лучше ли записывать сразу при каждом изменении?
← →
AndreyV © (2008-04-15 13:30) [10]> [0] @!!ex © (14.04.08 12:05)
Может и грохнулся потому, что файл уже был битый?
← →
tesseract © (2008-04-15 14:45) [11]
> Программа пытается прочитать его, прочитать не удается,
> и она падает благополучно.
В бинарнике настройки лучше не хранить. А то юзер вставит тебе опцию, при которой программа грузиться не будет. К тому же при битых настройках программа должна автоматом загружать по умолчанию.
← →
webpauk © (2008-04-15 15:04) [12]можно еще проверять на длину файла.
как константу сохраняешь длину корректного файла, если не соответствует, то переписываешь файл с настройками по умолчанию
← →
webpauk © (2008-04-15 15:05) [13]
function GetFileSize(fFileName: string): Integer;
var
InfoFile: TSearchRec;
AttrFile: Integer;
ErrorReturn: Integer;
begin
AttrFile:=$0000003F;
ErrorReturn:=FindFirst(fFileName, AttrFile, InfoFile);
if ErrorReturn <> 0 then Result:=-1
else Result:=InfoFile.Size;
FindClose(InfoFile);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.048 c