Страница 18 из 52

Добавлено: Пн мар 26, 2007 18:47
Alextp
Выпущена версия 1.5.10.0.
По сравнению с бетой изменение одно: опция WebAcceptAllFiles теперь = 1 (по умолчанию).

Добавлено: Ср мар 28, 2007 16:36
Alextp
Volniy
Оказывается отсутствует и главное ограничение Тоталовских библиотек RegEx, а именно поиск только в пределах одной строки. Попробовал в UV и увидел, что там простое применение модификатора (?m) в регулярном выражении позволяет производить корректный поиск, рассматривая текст файла как многострочный.
Сейчас решил проверить Тотал:

1. на предмет "поиск только в пределах одной строки": взял исходник, естественно многострочный, разделители CRLF. Все ищется не только в первой строке, а по всему тексту.

Так что что ты имел в виду? В пределах до первого вхождения #0?
Непонятно.

2. Тотал не сообщает о некорректности RegEx. Например вводим один слеш: \ . Строка не найдена.

3. Не понял тебя, Volniy, насчет (?m). Зачем он нужен: и без него текст рассматривается как многосторчный. Точнее, как один поток.

4. В Тотале работает поиск с RegEx + поиск назад. Очень странно.
Это вообще-то несовместимые опции.

Добавлено: Чт мар 29, 2007 02:16
Volniy
Alextp писал(а):1. на предмет "поиск только в пределах одной строки": взял исходник, естественно многострочный, разделители CRLF. Все ищется не только в первой строке, а по всему тексту.
Я не говорил, что поиск идет только в первой строке. Я говорил (и это подтвержает Гислер в своей справке к ТС) что поиск с RegEx производится внутри отдельной строки. Это означает, что нельзя найти фрагмент текста, расположенный сразу в двух (или более) смежных строках.
Alextp писал(а):2. Тотал не сообщает о некорректности RegEx. Например вводим один слеш: \ . Строка не найдена.
Я говорил не об этом. Я вводил корректные выражения а он их некорректно обрабатывал. В том числе не сообщал пользователю ничего, когда ничего не было найдено или находил всякую чушь в ситуации, когда найти ничего не должен был (см п.1).
Alextp писал(а):3. Не понял тебя, Volniy, насчет (?m). Зачем он нужен: и без него текст рассматривается как многострочный. Точнее, как один поток.
С точностью наоборот. Многострочный это когда текст рассматривается не как единая строка, а как множество строк. (?m) включает именно такое рассмотрение, (?-m) - выключает.
Alextp писал(а):4. В Тотале работает поиск с RegEx + поиск назад. Очень странно.
Это вообще-то несовместимые опции.
В принцине я считаю несовместимыми при поиске с регекспами и опции "Слово целиком" и "С учетом регистра", так как это все задается в самих регулярных выражениях. Как, например, обрабатывается ситуация, когда стоит галочка "С учетом регистра" и в то же время в начале регекспа (а не дай бог еще и внутри) стоит модификатор (?i) (то есть не учитывать регистр)? У какой опции должен быть выше приоритет? Думаю, что если человек способен написать регекс для своих нужд, то уж с регистром-то символов он как-нибудь да разберется :wink:
А что касается "Слово целиком", то так называемые "якоря" для привязки к границе слов (\b), а также "пробельные" метасимволы (\s) делают такой поиск неоднозначным до абсурда, особенно если разыскивается фрагмент, состоящий из нескольких(!) слов.

Мое личное мнение такое, что регулярные выражения (полноценно реализованные, конечно) лучше вообще не мешать ни с какими обычными опциями поиска в тексте. Это только ухудшает качество поиска.

Добавлено: Чт мар 29, 2007 10:26
Alextp
Volniy
Я говорил (и это подтвержает Гислер в своей справке к ТС) что поиск с RegEx производится внутри отдельной строки. Это означает, что нельзя найти фрагмент текста, расположенный сразу в двух (или более) смежных строках.
Ясно.
Alextp писал(а):2. Тотал не сообщает о некорректности RegEx. Например вводим один слеш: \ . Строка не найдена.
Я говорил не об этом.
Не об этом. Это просто пример (в чем некорректность поиска Тотала).
Это ляп со стороны Гислера.
В принцине я считаю несовместимыми при поиске с регекспами и опции "Слово целиком" и "С учетом регистра", так как это все задается в самих регулярных выражениях.
В принципе, они совместимы, с большинством регул. выражений.
Если ты указываешь (?i), то не стоит включать "С учетом регистра",
если указываешь /b или /pZ, то не стоит включать "Слова целиком".

"Слова целиком", это просто обрамление регэкспа слева/справа символами /b.
Конфликта с несколькими словами быть не должно.
Мое личное мнение такое, что регулярные выражения (полноценно реализованные, конечно) лучше вообще не мешать ни с какими обычными опциями поиска в тексте. Это только ухудшает качество поиска.

Сложные (включающие (?i), /b, /pZ, ^ и так далее) лучше не мешать.
А простые можно.

Добавлено: Сб мар 31, 2007 21:45
Alextp
Новости (аннонс) про UV постоянно публикует ixbt.com. К чему бы это.

Написали на nnm.ru.

Вчера написали в двух англ-х блогах:
http://labnol.blogspot.com/2007/03/sing ... ideos.html
http://www.raymond.cc/blog/archives/200 ... -atviewer/

Добавлено: Вс апр 01, 2007 13:01
Volniy
Alextp писал(а):К чему бы это.
Пришла пора подумать о платной версии ("Pro") :wink:

Добавлено: Вс апр 01, 2007 13:05
Alextp
Volniy
Я уже думаю над этим. ;)

Добавлено: Чт апр 05, 2007 11:15
Alextp
Полный редизайн страницы
(без русской версии. По-русски только описание и FAQ.)

Добавлено: Пт апр 13, 2007 10:54
DeathStalker
У меня возникает такая ошибка: после просмотра ini файла с помощью плагина IniEd при закрытии UV windows сообщает
Universal Viewer (ATViewer) - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.
Runtime error 216 ...
При использовании других плагинов подобной ошибки ненаблюдается.
Используемая версия ATViewer 1.5.10.0

Добавлено: Пт апр 13, 2007 11:31
Alextp
DeathStalker
Подтверждаю.

- Странно, но креша нет, если до вызова плагина IniEd хоть раз вызвать диалог настройки плагинов (даже ничего в нем не сохраняя - вызов, Отмена).
- Креш где-то в недрах VCL, в TApplication.WndProc. Отладить не знаю как...

Попробую написать автору IniEd, может он какой хитрый трюк применяет. Типа, оконную процедуру меняет или еще что-то... Спасибо за репорт.

Добавлено: Пт апр 13, 2007 12:02
DeathStalker
Alextp
Используя твой компонент ATViewer написал такую маленькую програмку

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

procedure TForm1.FormCreate(Sender: TObject);
begin
   ATViewer1.AddPlugin('c:\Program Files\Borland\Delphi7\Projects\cad\inied.wlx', '');
   ATViewer1.InitPluginsParams(Form1, 'c:\Program Files\Borland\Delphi7\Projects\cad\inied.ini');
   ATViewer1.Open('c:\Program Files\Borland\Delphi7\Projects\cad\CADView.ini');
end;

procedure TForm1.FormResize(Sender: TObject);
var
Rect1: TRect;
begin
   Rect1.Left:=0;
   Rect1.Top:=0;
   Rect1.Right:=ClientWidth;
   Rect1.Bottom:=ClientHeight;
   ATViewer1.ResizeActivePlugin(Rect1);
end;


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ATViewer1.CloseActivePlugin;
end;
сделал exeшник плагин inied запускается, при закрытии никакой ошибки не возникает

Добавлено: Пт апр 13, 2007 13:08
Alextp
Странно...

//Спасибо за программку: надо сделать демо такого вида, из 20 строчек кода. Которое будет загружать жестко заданный плагин.

Добавлено: Пт апр 13, 2007 22:21
DrShark
Я вот посмотрел в UV:
при изменении опции показа рамки (версия 1.5.8.0)
на НЕ txt-файлах (например, EML, установлен соотв. Lister-плагин) визуально ничего не меняется (рамка остаётся в любом случае). Причём непосредственно после переключения и нажатия OK появляется чёрный экаран, а с помощью нажатия 4 можно переключится... в режим мультимедиа (запускается WMP ActiveX). Может, это и нормальное поведение, но вернутся на просмотр eml с помощью eml-плагина по 4 не удастся.

Добавлено: Пт апр 13, 2007 22:38
Alextp
DrShark
на НЕ txt-файлах (например, EML, установлен соотв. Lister-плагин) визуально ничего не меняется
Рамка показывается *только* в режимах, где контролы мои: в режиме Плагины все зависит от плагина. У большинства плагинов рамки нет (как в Листере), у некоторых есть. Но переключить это я не могу.
а с помощью нажатия 4 можно переключится... в режим мультимедиа (запускается WMP ActiveX). Может, это и нормальное поведение, но вернутся на просмотр eml с помощью eml-плагина по 4 не удастся.
Режим Плагины имеет шорткат 7 (а не 4!).
Но это пожно поменять.

Добавлено: Пт апр 13, 2007 22:53
DrShark
Рамка показывается *только* в режимах, где контролы мои: в режиме Плагины все зависит от плагина. У большинства плагинов рамки нет (как в Листере), у некоторых есть. Но переключить это я не могу.
Так что, рамка - не твой контрол? Или ты имеешь ввиду, что, например, если рамка включена, когда я отключаю ее при просмотре с использованием плагина, она может не откльюится? А как плагины узнают, что в UV есть рамка? К тому же я 4 жал, а это не режим плагинов...
И ещё, как объяснить это:
Причём непосредственно после переключения и нажатия OK появляется чёрный экаран
- там не рамки, ничё - просто чёрный фон. Выйти из него можно по 4-ке и, как ты сказал, по 7-ке.