Кнопка, перетаскивание файла на панель, относительный путь

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

GGS
Сообщения: 322
Зарегистрирован: Сб май 02, 2009 13:00

Сообщение GGS »

Batya писал(а):Если были ошибки, выдается их список.
Отлично. Есть ещё одна бяка... на файлах в формате Unicode сообщение выдаётся, но файл перезаписывается пустым. Или файл не трогать, или (мечты, мечты...) сделать поддержку Unicode.
Batya писал(а):Read-only надо пропустить (как сейчас) или сделать, чтобы перезаписывались?
Пропустить (как сейчас), сообщение ведь выдаётся.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

GGS
А так? (Поправил скрипт выше.)
Нет, я не сплю. Я просто медленно моргаю.
GGS
Сообщения: 322
Зарегистрирован: Сб май 02, 2009 13:00

Сообщение GGS »

Batya писал(а):А так? (Поправил скрипт выше.)
Файл не меняет, но и сообщения об ошибке нет.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

GGS писал(а):Файл не меняет
А должен?
Нет, я не сплю. Я просто медленно моргаю.
GGS
Сообщения: 322
Зарегистрирован: Сб май 02, 2009 13:00

Сообщение GGS »

Если с Unicode не работает, то не менять, но сообщение об ошибке выдать.
Скрипт хочу использовать не только для *.ini и замены на относительный путь. Файл с Unicode легко не заметить и надо знать, что он не обработан.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

GGS
Я читаю текст, и если не нахожу в нём искомой строки, то тихо перехожу к следущему файлу. Так что ошибки для Unicode-файла не будет.
В принципе, я смогу нормально вытащить Unicode-текст, но я должен сразу знать, что это Unicode.
Если кто-нибудь скажет, как однозначно идентифицировать, что это Unicode, то сделаю работу с ним.
Нет, я не сплю. Я просто медленно моргаю.
GGS
Сообщения: 322
Зарегистрирован: Сб май 02, 2009 13:00

Сообщение GGS »

Batya писал(а):если не нахожу в нём искомой строки, то тихо перехожу к следущему файлу
Если замена не производилась, по причине: то ли это Unicode, то ли текста действительно нет; можно ли вдобавок к "тихо перехожу" в окне ошибок вывести, например, "Текст не найден"?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Юникод-файлы с маркером идентифицируются по маркеру, файлы без маркера проще простого идентифицировать, если известно, где в нем английский текст - они двоичные, и в английском тексте каждый второй байт равен нулю. Для INI-файлов вполне достаточное условие юникодности файла - второй байт равен 0 (первым будет либо квадратная скобка, либо пробел или символ комментария, короче, в любом случае символ из первой половины кодовой таблицы, значит, второй байт обязан быть равным 0).

Таким образом, либо первый байт равен 0xFF, а второй - 0xFE, либо второй равен 0 - условие юникодности корректного INI-файла.
Ответить