Проверка структуры файла и удаление.

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Проверка структуры файла и удаление.

Сообщение gopstop2007 »

В программе есть временные (temp) файлы (TPS), в которых может поменяется внутренняя структура.
При входе в программу нужно проверить эти файлы, если структура отличается от структуры в справочнике в DCT (dictonary), удалить эти файлы, без сообщения об ошибке, чтобы в тихую создать новые файлы.
Проверяю на не соответствие структуры файл

Код: Выделить всё

IF pFMt_.UseFile() <> Level:Benign
   pFMt_.Close()
   Remove(pFMt_.File)
   pFMt_.Open()
END        
Выдает сообщение, что файл поврежден и вылетает с программы не выполнив дальнейших действий.
Прошу помощи, спасибо заранее.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8016
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 94 раза

Проверка структуры файла и удаление.

Сообщение Игорь Столяров »

Конечно лучше проверять структуру файлов через операторы Open() / Close(), а не методы ABC ...
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Проверка структуры файла и удаление.

Сообщение gopstop2007 »

Игорь Столяров писал(а): 27 Май 2025, 13:07 Конечно лучше проверять структуру файлов через операторы Open() / Close(), а не методы ABC ...
OPEN, не видит изменений структуры файла (, если только запись попробовать получить.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8016
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 94 раза

Проверка структуры файла и удаление.

Сообщение Игорь Столяров »

Если не ошибаюсь, в CapeSoft FileManager это делалось, что-то вроде:

Код: Выделить всё

  Open(xFile_)
  If ErrorCode() then Do GetMyFileError.
  else
     Set(xFile_)
     Next(xFile_)
     If ErrorCode() then Do GetMyFileError.
  end   
и обрабатывать ошибку по коду.
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5157
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Проверка структуры файла и удаление.

Сообщение kreator »

Надо вызвать оператор share. И проверить код ошибки на неправильную структуру (кажется 52 ошибка).
We are hard at work… for you. :)
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Проверка структуры файла и удаление.

Сообщение 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.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить