Page 78 of 99

Posted: Wed Oct 15, 2014 2:57 pm
by Skif_off
DV
AkelPad тут ни при чём, дело в консоли Windows: "%" разве не спецсимвол? Интерпретатор пытается раскрыть переменную. Перед амперсандом и остальными спецсимволами в подобном случае нужно добавлять "^", попробуйте и здесь.

Posted: Wed Oct 15, 2014 5:50 pm
by YuS
Skif_off wrote:DV
AkelPad тут ни при чём, дело в консоли Windows: "%" разве не спецсимвол? Интерпретатор пытается раскрыть переменную. Перед амперсандом и остальными спецсимволами в подобном случае нужно добавлять "^", попробуйте и здесь.
Увы, в данном случае, консоль не при чем, это съеденный символ параметром /OpenFile("файл"), командной строки AP, т.е. все таки баг (или фича) AP. А в консоли переменная раскрывается в точности так, как и ожидается. Проверить можно так:
Содержимое AkelPad_Open.bat:

Code: Select all

AkelPad.exe "%~1"
Запускаем:

Code: Select all

AkelPad_Open.bat "abc%1def%2.txt"
...

Posted: Thu Oct 16, 2014 4:25 am
by Instructor
DV
В методах командной строки символ % необходимо экранировать %% (см. AkelHelp-Rus.htm).

В 4.9.1 будет доступен метод Var().

Posted: Fri Nov 14, 2014 7:32 pm
by VladSh
Если согласиться на открытие бинарного файла и открыть его, то зелёный progressbar в статусбаре проги не исчезает и виден во всех вкладках. Пропадает только после переоткрытия проги.
Win7 (x64), AkelPad (32-bit).

Posted: Fri Nov 14, 2014 7:50 pm
by Skif_off
VladSh wrote:Win7 (x64), AkelPad (32-bit).
Какой размер бинарного файла? Крайняя тестовая - не наблюдаю, проверил на десятке файлов до 70 Мб.

Posted: Fri Nov 14, 2014 8:11 pm
by VladSh
Skif_off
Только определил, что прогрессбар виснет при открытии бинарника такой строкой:

Code: Select all

var result = AkelPad.OpenFile(pFile);
Если другими, то всё хорошо.
Размер файла не влияет - 1,7Mb (фотка).

Добавлено: и ещё странно, что в статусбаре кодировка у таким образом открытого файла стоит "Win 65001 ( UTF-8 ) без BOM".
Если же файл открывать в "тихом" режиме:

Code: Select all

var result = AkelPad.OpenFile(pFile, 0);
то он открывается нормально, - в статусбаре только "Win" и никакой кодировки.

Posted: Sat Nov 15, 2014 6:05 am
by Instructor
VladSh wrote:Только определил, что прогрессбар виснет при открытии бинарника такой строкой:

Code: Select all

var result = AkelPad.OpenFile(pFile);
Не воспроизводится.

Code: Select all

var result = AkelPad.OpenFile(pFile, 0);
Так вызывать нельзя. Если вы не используете флаги OD_ADT_DETECT_CODEPAGE, OD_ADT_DETECT_BOM, то очевидно, что вам необходимо передавать кодировку и BOM (3-им и 4-ым параметром).

Posted: Sat Nov 15, 2014 11:16 pm
by VladSh
Instructor wrote:Не воспроизводится.
Возможно это у меня из-за того, что работаю на слабом ноуте и переключаюсь на другие вкладки до того, как прогресс доходит до 100%. Если бы на прогрессбаре были процентики, было бы понятнее.
Хотя и не так быстро переключаюсь, - 1,7Mb файл, жду минуту.

Posted: Tue Nov 18, 2014 11:47 am
by Instructor
VladSh
Файл открывается в главном потоке программы. Как вам удаётся переключаться на другие вкладки пока открывается файл? :)

"Кракозябры" при пересохранении/копировании тексто

Posted: Tue Nov 18, 2014 3:50 pm
by tiktak
Есть текстовый документ, например "!Счета", созданный в AkelPad последней версии 4.9.0 (х86) в системе Win 7 x64 в раскладке
Win 1251 (ANSI - кириллица) с использованием символов русского, украинского и английского языков (при вводе с клавиатуры).
Оригинал этого текстового файла - http://sendfile.su/1050056 (261 байт).

Вот так он смотрится при первоначальном сохранении и открытии, например, на диске D - http://savepic.org/6477436.png
Всё нормально, но стоит только его пересохранить в этот же каталог, или скопировать в любой другой, скажем, на диск E,
как всё кардинально портится - после открытия тем же AkelPad'ом видим "кракозябрики" - http://savepic.ru/6344032.png
Подскажите, плз, что происходит с кодировкой, почему она меняется на Win 20866 (русская КОИ - восемь)? Проверил ещё на парочке систем Win 7 x86/x64 - та же история...

А вот если просматривать тот же файл, скажем с помощью просмотрщика Universal Viewer 6.5.6.2, то - опять видим нормальную картинку http://savepic.org/6436476.png

Posted: Tue Nov 18, 2014 4:13 pm
by Skif_off
tiktak
Ошибка определения кодировки, этот совет не прокатил, но, что любопытно, сработало уменьшение буфера до 171.

И не ставьте, пожалуйста, точки сразу после ссылки: ни открыть, ни просто посмотреть с помощью Imagus и подобных не получится - сначала нужно удалить точку.

Posted: Tue Nov 18, 2014 4:15 pm
by Lenchik
Паттерн определения кодировок срабатывает, наверняка, - КОИшный текст, открытый в неверной кодировке часто Прописными буквами отображается.
В настройках поставьте буфер определения кодировки, например, 128.
Конечно, это испортит жизнь на других файлах.

Posted: Tue Nov 18, 2014 4:16 pm
by tiktak
Skif_off wrote:tiktak
не ставьте, пожалуйста, точки сразу после ссылки: ни открыть, ни просто посмотреть
Да это я уже сам понял, сразу исправил...
Так а что с этим делать? Не уменьшать же самому буфер каждый раз...
И почему всё же это происходит, баг это или не баг?

Posted: Tue Nov 18, 2014 4:21 pm
by tiktak
Lenchik wrote:В настройках поставьте буфер определения кодировки, например, 128. Конечно, это испортит жизнь на других файлах.
А насколько и в чём испортит?

Posted: Tue Nov 18, 2014 4:29 pm
by Lenchik
На столько же. В каких-нибудь других файлах кодировка определяться не будет.

У вас есть непреодолимое препятствие ведению текстовых файлов в UTF-8 с BOM?