Страница 1 из 1
Проверка структуры файла и удаление.
Добавлено: 27 Май 2025, 12:32
gopstop2007
В программе есть временные (temp) файлы (TPS), в которых может поменяется внутренняя структура.
При входе в программу нужно проверить эти файлы, если структура отличается от структуры в справочнике в DCT (dictonary), удалить эти файлы, без сообщения об ошибке, чтобы в тихую создать новые файлы.
Проверяю на не соответствие структуры файл
Код: Выделить всё
IF pFMt_.UseFile() <> Level:Benign
pFMt_.Close()
Remove(pFMt_.File)
pFMt_.Open()
END
Выдает сообщение, что файл поврежден и вылетает с программы не выполнив дальнейших действий.
Прошу помощи, спасибо заранее.
Проверка структуры файла и удаление.
Добавлено: 27 Май 2025, 13:07
Игорь Столяров
Конечно лучше проверять структуру файлов через операторы Open() / Close(), а не методы ABC ...
Проверка структуры файла и удаление.
Добавлено: 27 Май 2025, 13:24
gopstop2007
Игорь Столяров писал(а): 27 Май 2025, 13:07
Конечно лучше проверять структуру файлов через операторы Open() / Close(), а не методы ABC ...
OPEN, не видит изменений структуры файла (, если только запись попробовать получить.
Проверка структуры файла и удаление.
Добавлено: 27 Май 2025, 13:39
Игорь Столяров
Если не ошибаюсь, в CapeSoft FileManager это делалось, что-то вроде:
Код: Выделить всё
Open(xFile_)
If ErrorCode() then Do GetMyFileError.
else
Set(xFile_)
Next(xFile_)
If ErrorCode() then Do GetMyFileError.
end
и обрабатывать ошибку по коду.
Проверка структуры файла и удаление.
Добавлено: 27 Май 2025, 16:49
kreator
Надо вызвать оператор share. И проверить код ошибки на неправильную структуру (кажется 52 ошибка).
Проверка структуры файла и удаление.
Добавлено: 27 Май 2025, 17:09
gopstop2007
Игорь Столяров писал(а): 27 Май 2025, 13:39
Если не ошибаюсь, в CapeSoft FileManager это делалось, что-то вроде:
Код: Выделить всё
Open(xFile_)
If ErrorCode() then Do GetMyFileError.
else
Set(xFile_)
Next(xFile_)
If ErrorCode() then Do GetMyFileError.
end
и обрабатывать ошибку по коду.
Пробовал, при дальнейшей работе начинает ругаться на не открытые файлы, хотя ошибок до этого не наблюдалось (
kreator писал(а): 27 Май 2025, 16:49
Надо вызвать оператор share. И проверить код ошибки на неправильную структуру (кажется 52 ошибка).
Спасибо, то что надо, только код ошибки 47.