Demagog TTS
Модератор: flegont
- flegont
- V.I.P.
Demagog TTS
Пока такой возможности нет. Для гарантии от возможных конфликтов, окна Input, Menu и Form должны быть модальными (т.е. стопорить интерпретатор, ожидая подтверждения/отказа пользователя).
- tonio_k
- V.I.P.
Demagog TTS
Обратил внимание, что номер текущей строки в самом левом нижнем углу Демагога может изменяться прямо на глазах, если, например, увеличить масштаб (или уменьшить размер окна). Получается, что это не реальный номер строки в открытом файле, а номер "ПЕЧАТНОЙ (отображаемой на экране)" строки, которая зависит от размера экрана. Если отключить перенос строк Ctrl+W, то Экранные строки = реальным. Может все же сделать номер текущей строки = реальному номеру строки самого документа? Что бы по смыслу так было:
► Показать
- flegont
- V.I.P.
Demagog TTS
Идея красивая. Хотя надо помнить, что "реальная" строка, т.е. часть текста, не содержащая '\r' нигде, кроме как на конце - это на самом деле (в типографском смысле) абзац.
Боковую нумерацию сделать - проблематично, компонент RichEdit - это ведь не таблица-шахматка с вертикальными колонками, а обычное окно редактирования. А в Строке состояния и так места уже нет для дополнительной нумерации, кроме видимых строк, еще и абзацев
Боковую нумерацию сделать - проблематично, компонент RichEdit - это ведь не таблица-шахматка с вертикальными колонками, а обычное окно редактирования. А в Строке состояния и так места уже нет для дополнительной нумерации, кроме видимых строк, еще и абзацев
- tonio_k
- V.I.P.
Demagog TTS
я как раз и прошу вместо "видимых строк" показывать "номер абзаца" в строке состояния.
А про "боковую нумерацию" я упомянул только для "наглядного" сравнения, что тот же AkelPad или Notepad++ с включеным "Перенос по словам" в качестве нумерации строк считают нумерацию абзаца, а не "видимые строки".
А то открываю словарь, спускаюсь в конец текста. У меня Демагог одно количество правил показывает. Открываю в другой программе - там другое
- flegont
- V.I.P.
Demagog TTS
Да, еще к посту #351. Слово "пока" из ответа можно убрать. Немодальная форма ввода однозначно вызовет в Интерпретаторе большие проблемы.
Он ведь работает последовательно выполняя команды, строка за строкой. Рассмотрим ситуацию:
Если Input создает модальную форму, то окно Демагога блокируется, пока пользователь не введет данные и нажмет ОК. После этого интерпретатор продолжит работу, обработает массив введенных данных d и выдаст ответ.
Если же Input создаст не модальную форму, то окно программы остается активным, мы можем в нем работать, например, запустить чтение какого-то текста. Вроде всё хорошо. Параллельная работа, так сказать. На самом деле: сильно хорошо, тоже плохо (с). Ведь интерпретатор тоже продолжает работать. И он сразу переходит к выполнению строк следующих ЗА Input()! Хотя данные еще не введены! А работа скрипта уже закончена. Остается только изумленно любоваться на мгновенно ставшую бесполезной пустую форму ввода
Он ведь работает последовательно выполняя команды, строка за строкой. Рассмотрим ситуацию:
Код: Выделить всё
...
d = Input(...)
-- команды обработки введенной информации
...
...
Если же Input создаст не модальную форму, то окно программы остается активным, мы можем в нем работать, например, запустить чтение какого-то текста. Вроде всё хорошо. Параллельная работа, так сказать. На самом деле: сильно хорошо, тоже плохо (с). Ведь интерпретатор тоже продолжает работать. И он сразу переходит к выполнению строк следующих ЗА Input()! Хотя данные еще не введены! А работа скрипта уже закончена. Остается только изумленно любоваться на мгновенно ставшую бесполезной пустую форму ввода
- flegont
- V.I.P.
Demagog TTS
Возвращаясь к #353. "Вместо" - исключено. "Вместе" - обещаю подумать. В программе вообще много разных мест и уголков, над которыми надо бы хорошо поразмыслить, выбрав время...
- tonio_k
- V.I.P.
Demagog TTS
Параллельную работу в скриптах я решаю с применением команды pause(0.001). Пример:
► Показать
Код: Выделить всё
d = Input(...'#in.txt') -- здесь указывается сохранение таблицы d в файл '#in.txt'.
--Дальше идет цикл отлова завершения Input фактом которого будет являться "появление" файла '#in.txt':
k=0
while k == 0 do
CancelScript()
pause(0.1)
if FileExists('#in.txt') then
d = table.load('#in.txt')--загружаем таблицу из файла
os.remove('#in.txt')--удалить файл
break
end
end
- flegont
- V.I.P.
Demagog TTS
Может вы имели в виду "Input сделать не модальным"? Это сейчас он модальный, т.е. полностью блокирующий программу в вечном ожидании прямого приказа: OK или Esc.
Ну, а с немодальным вариантом можно поэкспериментировать, по предложенному варианту
- tonio_k
- V.I.P.
Demagog TTS
Пункт меню:
Закладки - Создать оглавление
Вопрос, а можно на основе созданных закладок, добавить возможность разрезать текст по закладкам и сохранить как отдельные файлы? Получится сериал но не по количеству символов, а по оглавлению. Желательно имя закладки добавлять в название сохранённого файла.
Закладки - Создать оглавление
Вопрос, а можно на основе созданных закладок, добавить возможность разрезать текст по закладкам и сохранить как отдельные файлы? Получится сериал но не по количеству символов, а по оглавлению. Желательно имя закладки добавлять в название сохранённого файла.
- wasyaka
- V.I.P.
- flegont
- V.I.P.
Demagog TTS
Так работает стандартный компонент Microsoft RichEdit, который используется в Демагоге для показа/редактирования текста. Если искомое слово находится за пределами видимости, то RichEdit автоматически прокручивает текст до тех пор, пока найденное слово не покажется на экране. Т.е. в последней строке.
А добавить программно прокрутку еще на несколько строк - возникают нехорошие побочные эффекты. Так что, кроме как опять подумать над этой проблемой, ничего обещать не могу
А добавить программно прокрутку еще на несколько строк - возникают нехорошие побочные эффекты. Так что, кроме как опять подумать над этой проблемой, ничего обещать не могу
- tonio_k
- V.I.P.
Demagog TTS
если я правильно понял в чём проблема, то как вариант, добавить в окно диалога строку с найденным словом в контексте предложения со словами слева и справа в пределах 50 символов от найденого слова.