View previous topic :: View next topic |
Author |
Message |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Mon Mar 26, 2007 18:47 Post subject: |
|
|
Выпущена версия 1.5.10.0.
По сравнению с бетой изменение одно: опция WebAcceptAllFiles теперь = 1 (по умолчанию). _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Wed Mar 28, 2007 16:36 Post subject: |
|
|
Volniy
Quote: | Оказывается отсутствует и главное ограничение Тоталовских библиотек RegEx, а именно поиск только в пределах одной строки. Попробовал в UV и увидел, что там простое применение модификатора (?m) в регулярном выражении позволяет производить корректный поиск, рассматривая текст файла как многострочный. |
Сейчас решил проверить Тотал:
1. на предмет "поиск только в пределах одной строки": взял исходник, естественно многострочный, разделители CRLF. Все ищется не только в первой строке, а по всему тексту.
Так что что ты имел в виду? В пределах до первого вхождения #0?
Непонятно.
2. Тотал не сообщает о некорректности RegEx. Например вводим один слеш: \ . Строка не найдена.
3. Не понял тебя, Volniy, насчет (?m). Зачем он нужен: и без него текст рассматривается как многосторчный. Точнее, как один поток.
4. В Тотале работает поиск с RegEx + поиск назад. Очень странно.
Это вообще-то несовместимые опции. _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Thu Mar 29, 2007 02:16 Post subject: |
|
|
Alextp wrote: | 1. на предмет "поиск только в пределах одной строки": взял исходник, естественно многострочный, разделители CRLF. Все ищется не только в первой строке, а по всему тексту. |
Я не говорил, что поиск идет только в первой строке. Я говорил (и это подтвержает Гислер в своей справке к ТС) что поиск с RegEx производится внутри отдельной строки. Это означает, что нельзя найти фрагмент текста, расположенный сразу в двух (или более) смежных строках.
Alextp wrote: | 2. Тотал не сообщает о некорректности RegEx. Например вводим один слеш: \ . Строка не найдена. |
Я говорил не об этом. Я вводил корректные выражения а он их некорректно обрабатывал. В том числе не сообщал пользователю ничего, когда ничего не было найдено или находил всякую чушь в ситуации, когда найти ничего не должен был (см п.1).
Alextp wrote: | 3. Не понял тебя, Volniy, насчет (?m). Зачем он нужен: и без него текст рассматривается как многострочный. Точнее, как один поток. |
С точностью наоборот. Многострочный это когда текст рассматривается не как единая строка, а как множество строк. (?m) включает именно такое рассмотрение, (?-m) - выключает.
Alextp wrote: | 4. В Тотале работает поиск с RegEx + поиск назад. Очень странно.
Это вообще-то несовместимые опции. |
В принцине я считаю несовместимыми при поиске с регекспами и опции "Слово целиком" и "С учетом регистра", так как это все задается в самих регулярных выражениях. Как, например, обрабатывается ситуация, когда стоит галочка "С учетом регистра" и в то же время в начале регекспа (а не дай бог еще и внутри) стоит модификатор (?i) (то есть не учитывать регистр)? У какой опции должен быть выше приоритет? Думаю, что если человек способен написать регекс для своих нужд, то уж с регистром-то символов он как-нибудь да разберется
А что касается "Слово целиком", то так называемые "якоря" для привязки к границе слов (\b), а также "пробельные" метасимволы (\s) делают такой поиск неоднозначным до абсурда, особенно если разыскивается фрагмент, состоящий из нескольких(!) слов.
Мое личное мнение такое, что регулярные выражения (полноценно реализованные, конечно) лучше вообще не мешать ни с какими обычными опциями поиска в тексте. Это только ухудшает качество поиска. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Thu Mar 29, 2007 10:26 Post subject: |
|
|
Volniy
Quote: | Я говорил (и это подтвержает Гислер в своей справке к ТС) что поиск с RegEx производится внутри отдельной строки. Это означает, что нельзя найти фрагмент текста, расположенный сразу в двух (или более) смежных строках. |
Ясно.
Quote: | Alextp wrote: | 2. Тотал не сообщает о некорректности RegEx. Например вводим один слеш: \ . Строка не найдена. |
Я говорил не об этом. |
Не об этом. Это просто пример (в чем некорректность поиска Тотала).
Это ляп со стороны Гислера.
Quote: | В принцине я считаю несовместимыми при поиске с регекспами и опции "Слово целиком" и "С учетом регистра", так как это все задается в самих регулярных выражениях. |
В принципе, они совместимы, с большинством регул. выражений.
Если ты указываешь (?i), то не стоит включать "С учетом регистра",
если указываешь /b или /pZ, то не стоит включать "Слова целиком".
"Слова целиком", это просто обрамление регэкспа слева/справа символами /b.
Конфликта с несколькими словами быть не должно.
Quote: | Мое личное мнение такое, что регулярные выражения (полноценно реализованные, конечно) лучше вообще не мешать ни с какими обычными опциями поиска в тексте. Это только ухудшает качество поиска. |
Сложные (включающие (?i), /b, /pZ, ^ и так далее) лучше не мешать.
А простые можно. _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sun Apr 01, 2007 13:01 Post subject: |
|
|
Alextp wrote: | К чему бы это. |
Пришла пора подумать о платной версии ("Pro")  |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
DeathStalker

Joined: 01 Sep 2006 Posts: 331 Location: Санкт-Петербург
|
(Separately) Posted: Fri Apr 13, 2007 10:54 Post subject: |
|
|
У меня возникает такая ошибка: после просмотра ini файла с помощью плагина IniEd при закрытии UV windows сообщает Quote: | Universal Viewer (ATViewer) - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.
Runtime error 216 ... |
При использовании других плагинов подобной ошибки ненаблюдается.
Используемая версия ATViewer 1.5.10.0 _________________ Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64) |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Fri Apr 13, 2007 11:31 Post subject: |
|
|
DeathStalker
Подтверждаю.
- Странно, но креша нет, если до вызова плагина IniEd хоть раз вызвать диалог настройки плагинов (даже ничего в нем не сохраняя - вызов, Отмена).
- Креш где-то в недрах VCL, в TApplication.WndProc. Отладить не знаю как...
Попробую написать автору IniEd, может он какой хитрый трюк применяет. Типа, оконную процедуру меняет или еще что-то... Спасибо за репорт. _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
DeathStalker

Joined: 01 Sep 2006 Posts: 331 Location: Санкт-Петербург
|
(Separately) Posted: Fri Apr 13, 2007 12:02 Post subject: |
|
|
Alextp
Используя твой компонент ATViewer написал такую маленькую програмку
Code: | 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 запускается, при закрытии никакой ошибки не возникает _________________ Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64) |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Fri Apr 13, 2007 13:08 Post subject: |
|
|
Странно...
//Спасибо за программку: надо сделать демо такого вида, из 20 строчек кода. Которое будет загружать жестко заданный плагин. |
|
Back to top |
|
 |
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Fri Apr 13, 2007 22:21 Post subject: |
|
|
Я вот посмотрел в UV:
при изменении опции показа рамки (версия 1.5.8.0)
на НЕ txt-файлах (например, EML, установлен соотв. Lister-плагин) визуально ничего не меняется (рамка остаётся в любом случае). Причём непосредственно после переключения и нажатия OK появляется чёрный экаран, а с помощью нажатия 4 можно переключится... в режим мультимедиа (запускается WMP ActiveX). Может, это и нормальное поведение, но вернутся на просмотр eml с помощью eml-плагина по 4 не удастся. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Fri Apr 13, 2007 22:38 Post subject: |
|
|
DrShark
Quote: | на НЕ txt-файлах (например, EML, установлен соотв. Lister-плагин) визуально ничего не меняется |
Рамка показывается *только* в режимах, где контролы мои: в режиме Плагины все зависит от плагина. У большинства плагинов рамки нет (как в Листере), у некоторых есть. Но переключить это я не могу.
Quote: | а с помощью нажатия 4 можно переключится... в режим мультимедиа (запускается WMP ActiveX). Может, это и нормальное поведение, но вернутся на просмотр eml с помощью eml-плагина по 4 не удастся. |
Режим Плагины имеет шорткат 7 (а не 4!).
Но это пожно поменять. _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Fri Apr 13, 2007 22:53 Post subject: |
|
|
Quote: | Рамка показывается *только* в режимах, где контролы мои: в режиме Плагины все зависит от плагина. У большинства плагинов рамки нет (как в Листере), у некоторых есть. Но переключить это я не могу. |
Так что, рамка - не твой контрол? Или ты имеешь ввиду, что, например, если рамка включена, когда я отключаю ее при просмотре с использованием плагина, она может не откльюится? А как плагины узнают, что в UV есть рамка? К тому же я 4 жал, а это не режим плагинов...
И ещё, как объяснить это:
Quote: | Причём непосредственно после переключения и нажатия OK появляется чёрный экаран |
- там не рамки, ничё - просто чёрный фон. Выйти из него можно по 4-ке и, как ты сказал, по 7-ке. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|