On-line: Haz, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
alkresin
moderator


Пост N: 1174
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.04.19 14:37. Заголовок: Hbedit - текстовый редактор


Довел, наконец, свой текстовый редактор до того состояния, когда можно показать его общественности. Я начал писать его сначала как замену Memoedit(), но потом увлекся) и решил сделать что-то помощнее, как нормальный редактор для повседневного использования. Мне приходится в течение дня работать и под виндами, и под Линуксом - использую Far и mc, соответственно. Иногда Vim - но к некоторым вещам в нем так и не привык. Но хочется иметь что-то одно для всех платформ - не слишком навороченный, но чтоб было все что надо.
Сегодня выложил на github: https://github.com/alkresin/hbedit.
F9 (или мышкой по соответствующей надписи) - главное меню.
В ближайших планах:
- Lower/Upper для utf8
- новые режимы подсветки ( директивы препроцессора и пр. )
- скобки - подсветка парных и переход на парные
- undo
- решить проблемы с табуляцие
- сохранение истории открытых файлов, поиска
- написать help (hbedit.help)

Если есть идеи для реализации - буду рад услышать.

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


LYSK





Пост N: 83
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 08.04.19 10:30. Заголовок: Ссылку на бинарник м..


Ссылку на бинарник можно? Из исходников не получается у меня..

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1175
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.04.19 11:24. Заголовок: LYSK пишет: Ссылку ..


LYSK пишет:

 цитата:
Ссылку на бинарник можно? Из исходников не получается у меня..


Бинарник еще не выкладывал. Может, завтра, или сегодня попозже.
А почему не получается собрать? Какие ошибки выдает?

Спасибо: 0 
Профиль
Sergy





Пост N: 654
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 08.04.19 15:06. Заголовок: alkresin пишет: Есл..


alkresin пишет:

 цитата:
Если есть идеи для реализации - буду рад услышать.

1) Во многих современных "программистских" реакторах есть отличная штука - автозавершение (syntax completion). Привык в редакторе для Far, но там какой-то баг - при редактировании "большого" файла (~30-60 Кб) и выходе из него в главное окно файла с вероятностью ~1/5 не запускается hbmk2. Причем чем дольше редактируешь и больше размер текста - тем вероятность выше. ((

2) Хотелось-бы свертку блоков. Хотя-бы для начала функций/процедур.

3) Очень удобная штука - анализ зависимостей. Т.е. выбираем имя переменной/функции, и "где-то сбоку" появляется удобный навигатор с быстрыми переходами к тексту функции, где встречается это имя. В Far тоже реализовано в виде расширения, но тоже, к сожалению, через ж...

Готов помочь с реализацией, если сочтете нужным добавить такой функционал.

Спасибо: 0 
Профиль
nick_mi



Пост N: 217
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 08.04.19 15:16. Заголовок: Не очень понятно, за..


Не очень понятно, зачем для текстового редактора библиотека RDDLETO.LIB

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2319
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.04.19 15:57. Заголовок: Sergy пишет Во многи..


Sergy пишет
 цитата:
Во многих современных "программистских" реакторах есть


Вот пример редактора (быстрого на больших файлах) с хотелками (как пример) https://TransFiles.ru/oxqxo
Немного модифициорванный товарищем по работе:
- 866 это LV866
- Ctrl+Y удаление строки (в меню это было Повтор записи)
- раскраска синтаксиса hb+hmg (она встроена, к сожалению, автором в прогу)

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2320
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.04.19 16:11. Заголовок: PS F2 - Save F5 - Пе..


PS
F2 - Save
F5 - Перечитать файл

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1176
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.04.19 16:51. Заголовок: nick_mi пишет: Не о..


nick_mi пишет:

 цитата:
Не очень понятно, зачем для текстового редактора библиотека RDDLETO.LIB


Случайно попала, copy/paste с другого батника. Но я ее убрал еще пару дней назад. Обновите свою копию.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1177
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.04.19 17:04. Заголовок: Sergy пишет: 1) Во ..


Sergy пишет:

 цитата:
1) Во многих современных "программистских" реакторах есть отличная штука - автозавершение


Да, автозавершение не помешало бы.

 цитата:
2) Хотелось-бы свертку блоков. Хотя-бы для начала функций/процедур.


Вот к свертке не лежит у меня душа, предпочитаю навигацию по списку функций - ее я, кстати, сделал. Может, в силу привычки.

 цитата:
3) Очень удобная штука - анализ зависимостей.


Так и не понял, что это. Как расширение называется?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2322
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.04.19 09:52. Заголовок: SergKis пишет Вот пр..


SergKis пишет
 цитата:
Вот пример редактора


Прошу прощения, положил сборку 64 bit, в ней не сделана Ctrl+Y.
Вот сборка 32 bit https://TransFiles.ru/z3mos

Спасибо: 0 
Профиль
Sergy





Пост N: 655
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 09.04.19 15:46. Заголовок: alkresin пишет: Так..


alkresin пишет:

 цитата:
Так и не понял, что это. Как расширение называется?


Чуть позже отвечу. Нужно вспомнить, где это видел...

Спасибо: 0 
Профиль
SadStar2019



Пост N: 4
Зарегистрирован: 26.03.19
ссылка на сообщение  Отправлено: 10.04.19 04:11. Заголовок: На моей XP - "Не..


На моей XP - "Не является приложением Win32"
На win7 запускается.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2330
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.04.19 08:43. Заголовок: SadStar2019 Если эт..


SadStar2019
Если это о Notepad3, то см. https://www.rizonesoft.com/downloads/notepad3/

DOWNLOAD Notepad3_5.19.108.1602_Setup.exe (80971 downloads)
PORTABLE Notepad3_5.19.108.1602.zip (33932 downloads)
VERSION 5.19.108.1602
UPDATED January 8, 2019
FILE SIZE 2 MB
LICENSE Open Source
REQUIREMENTS Windows® 7, 8 / 8.1, 10 (32 and 64 bit)

Спасибо: 0 
Профиль
ММК
постоянный участник


Пост N: 353
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 10.04.19 10:55. Заголовок: alkresin пишет: Но ..


alkresin пишет:

 цитата:
Но хочется иметь что-то одно для всех платформ - не слишком навороченный, но чтоб было все что надо.

alkresin пишет:

 цитата:
Если есть идеи для реализации - буду рад услышать.



Far хороший редактор. Его не надо тестировать , править и т.д. Компактный рабочий инструмент. Есть под винду, есть и под линукс.
И есть возможность использования плагинов. С ним ( с фаром) все знакомы. Идея очень простая- напишите , если есть такая необходимость, плагин (плагины) . Если получится хороший это будет действительно не только интересно, но и полезно :))

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1178
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.04.19 14:11. Заголовок: ММК пишет: Far хоро..


ММК пишет:

 цитата:
Far хороший редактор. Его не надо тестировать , править и т.д


Это призыв не строить велосипеды) ?
Я сам большой поклонник Far'а, это мой главный инструмент. Но вот его версия под Линукс... Пробовал года два назад - сейчас уже не помню, что за проблемы были, но они оказались достаточно серьезными, чтобы я его оттуда удалил и до сих пор не вспоминал, поэтому до сих пор приходится пользоваться mc.
Кроме того, этот редактор (hbedit) можно встраивать в свои консольные приложения.
Плагины, кстати, у меня тоже есть, и их можно будет компилировать из самого редактора, даже не имея под рукой компиляторов (hb_compileFromBuf() ).

Спасибо: 0 
Профиль
MIKHAIL





Пост N: 203
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 13.04.19 15:31. Заголовок: Да, хорошего встроен..


Да, хорошего встроенного редактора не хватало.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1180
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.04.19 17:00. Заголовок: Создал новую страниц..


Создал новую страницу у себя на сайте для hbedit: http://www.kresin.ru/hbedit.html, оттуда его можно скачать в собранном виде.
Вот то, что сделано на сегодняшний день:

- Мультирежимность - кроме основного режима редактирования есть режимы выделения, Vim - подобный и командный режимы.
- Поддержка разных кодировок, в т.ч. Utf-8.
- Возможность открытия произвольного количества окон.
- Подсветка синтаксиса, в том числе подсветка парных скобок.
- Поддержка закладок, поиск, переход на заданную строку и позицию в строке, переход на парные скобки.
- Поддержка до 10 буферов Clipboard.
- Неограниченное Undo.
- Поддержка плагинов, написанных на Harbour и собранных в виде hrb-файлов.
- Возможность компилировать и добавлять в редактор плагины прямо из редактора, причем для этого не требуется наличие Harbour или другого компилятора на компьютере.
- Возможность помечать плагины как предназначенные для определенного типа файлов - чтобы они присутствовали в списке только для этих файлов (prg, c, xml, ...).
- Возможность запускать на исполнение Harbour-код прямо из редактора.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2348
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.04.19 17:58. Заголовок: alkresin пишет оттуд..


alkresin пишет
 цитата:
оттуда его можно скачать в собранном виде.


1. Не определяет автоматом файлы utf-8 с BOM
2. Нет выделения вертикального блока Shift+Alt+ стрелки
3. F3 нажимаем выделяем данные в строке, жмем F3, получаем список Clipboard (так понимаю ситуацию), жму Esc и apps.err:
 
04/14/19 17:47:09
Error BASE/1132 Bound error: array access
Called from MNU_F3(1732)
Called from TEDIT:ONKEY(829)
Called from TEDIT:EDIT(279)
Called from MAIN(72)

04/14/19 17:51:45
Error BASE/1132 Bound error: array access
Called from MNU_F3(1732)
Called from TEDIT:ONKEY(829)
Called from TEDIT:EDIT(279)
Called from MAIN(72)

4. Как при запуске уст. позицию каретки <строка>, <колонка>
5. Понял, что параметры экрана ставим через ini. Если вариантов параметров несколько (внешний запуск)
25, 80
25, 40
25, 120

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2349
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.04.19 18:07. Заголовок: PS Как получить вари..


PS
Как получить вариант виндосовской раскраски белый фон, черный\синий текст ?

Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 823
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 14.04.19 21:48. Заголовок: alkresin 1)А насчёт..


alkresin
1)А насчёт возможности закоментировать ( снять комент ) строку, блок типа
 цитата:
//


Желательно, чтобы была возможность ?

2)История сохраненных файлов вроде сохраняется в файле hbedit.his, а как
к ней получить доступ из программы ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2350
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.04.19 22:54. Заголовок: Vlad04 пишет А насчё..


Vlad04 пишет
 цитата:
А насчёт возможности закоментировать ( снять комент )


Так, вроде, ставятся\снимаются коменты // и /* */

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2351
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.04.19 23:54. Заголовок: alkresin Привычно ..


alkresin
Привычно
Ctrl+Home - на начало, в hbedit Ctrl+PgUp
Ctrl+End - в конец, в hbedit Ctrl+PgDn
Ctrl+Z восстановить изменения, сделанные ранее, в hbedit вкл. какой то режим отличный от текущего
Может есть таблица соответствия для клавиш и процедур, для управления ?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1181
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.04.19 09:45. Заголовок: SergKis пишет: 1. Н..


SergKis пишет:

 цитата:
1. Не определяет автоматом файлы utf-8 с BOM


Теперь определяет.

 цитата:
3. F3 нажимаем выделяем данные в строке, жмем F3, получаем список Clipboard (так понимаю ситуацию), жму Esc и apps.err:


Исправлено. Бинарники на сайте обновлены.
Кстати, чтобы пояснить: F3 как завершение выделения с копированием выделенного в один из буферов по выбору может быть нажато и в том случае, если выделение начиналось без F3, а любым другим способом.

 цитата:
2. Нет выделения вертикального блока Shift+Alt+ стрелки


Да, пока нет. Буду делать.

 цитата:
4. Как при запуске уст. позицию каретки <строка>, <колонка>


Как и другие опции редактора, это можно сделать между вызовами :New() и :Edit() - для этого эти методы и разделены:
oEdit := TEdit():New( cText, cFileName ) 
oEdit:nRow := 10
oEdit:nCol := 18
oEdit:Edit()

Здесь :nRow и :nCol - абсолютная позиция курсора на экране, так что если окно редактора выведено не с 0,0, то надо сделать соответствующие вычисления ( + ::y1, + ::x1 ). Можно установить также :nyFirst, :nxFirst - смещение текста, если его вывод начинается не с самого начала.

 цитата:
5. Понял, что параметры экрана ставим через ini. Если вариантов параметров несколько (внешний запуск)
25, 80
25, 40
25, 120


Не понял, в чем вопрос, но на всякий случай поясню:
у нас есть класс TEdit(), который можно встроить в свое приложение, и редактор hbedit, как самостоятельное приложение (в исходниках это один файл hbedit.prg, в котором содержится обработка параметорв, чтение ini и вызов TEdit().Hbedit читает и использует только секцию screen из hbedit.ini, TEdit - все остальные. Было бы странно, если бы встроенный редактор вдруг менял настройки экрана. Т.е., количество строк/колонок экрана и пр. устанавливает вызывающее TEdit() приложение (hbedit, например). Координаты окна редактора на экране могут быть заданы при вызове :New():

oEdit := TEdit():New( cText, cFileName, y1, x1, y2, x2, cColor )

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1182
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.04.19 09:50. Заголовок: SergKis пишет: Как ..


SergKis пишет:

 цитата:
Как получить вариант виндосовской раскраски белый фон, черный\синий текст ?


Если речь о TEdit(), то установкой :cColor, :cColorSel цвет выделенного текста), :cColorPane (цвет панели состояния).
Если об HbEdit - я этот момент как-то упустил, надо будет добавить опции в ini-файл.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1183
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.04.19 09:56. Заголовок: Vlad04 пишет: 1)А н..


Vlad04 пишет:

 цитата:
1)А насчёт возможности закоментировать ( снять комент ) строку, блок типа
Желательно, чтобы была возможность ?


Не понял, о чем вы. Если о поддержке выделения другим цветом комментариев, то она есть.

 цитата:
2)История сохраненных файлов вроде сохраняется в файле hbedit.his, а как
к ней получить доступ из программы ?


"Open file" из меню, или F4 - появляются опции "New file", "Open file" - вызывает диалог для ввода имени файла с возможностью выбора из дерева каталогов, и список из hbedit.his.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1184
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.04.19 10:06. Заголовок: SergKis пишет: Прив..


SergKis пишет:

 цитата:
Привычно
Ctrl+Home - на начало, в hbedit Ctrl+PgUp
Ctrl+End - в конец, в hbedit Ctrl+PgDn


Вообще-то в Far и Ctrl+PgUp, Ctrl+PgDn аналогично работают, я ими и пользуюсь обычно. Впрочем, можно и Ctrl+Home, Ctrl+End

 цитата:
Ctrl+Z восстановить изменения, сделанные ранее, в hbedit вкл. какой то режим отличный от текущего

добавить.
Здесь используется Alt-Backspace, я его в большинстве известных мне редакторов использую, в том числе и в Far.
А этот "какой-то" режим - попытка реализовать некоторые возможности Vim. Если предложите какое-нибудь другое достаточно удобное сочетание клавиш для него, можно пообсуждать. Я сначала хотел Ctrl-Space, но потом обнаружил, что в Линукс-системах это сочетание недоступно, т.к. используется чем-то другим.

 цитата:
Может есть таблица соответствия для клавиш и процедур, для управления ?


Так в hbedit.help все есть (вызывается по F1), и в меню (F9) расписаны многие клавиши.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2353
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 10:16. Заголовок: alkresin пишет Как и..


alkresin пишет
 цитата:
Как и другие опции редактора, это можно сделать между вызовами :New() и :Edit() - для этого эти методы и разделены


То, что можно сделать свою сборку, встроить в прогу - понятно, но, скажу так, не хочется, т.к. вполне достаточно, у клиента, run редактора. У Far есть возможность запускать редактор с параметрами уст. каретки. Ранее выкладывал Notepad3, в нем целый список полезных параметров командной стоки (см. в "Справке").
 
Использование:
Notepad3 [/?] […[Кодировка]] […[Окончания строк]] [/e] [/g] [/m] [/l]
[/q] [/d] [/h] [/x] [/c] [/n] [/r| [/p] [/t] [/o]
[/f] [/v] [/vd] [/z] [[диск:][путь]имя[…]]

файл Должен быть последним аргументом, изначально без пробелов.
+ Несколько аргументов файлов (с кодированными пробелами).
- Один аргумент файла (без кодированнных пробелов).

Параметры:
/? Показать это окно.
… Кодировка (/ansi, /unicode, /unicodebe, /utf8, /utf8sig).
… Формат окончаний строк (/crlf, /cr, /lf).
/e Исходная кодировка файла.
/g Перейти к указанной позиции (/g -1 конец файла).

/m Найти указанный текст (/m- последний, /mr regex,
/mb обратная косая черта).
/l Автообновление измененных файлов.
/q Форсировать создание новых файлов без запроса.
/s Выбрать схему синтаксиса.
/d Выбрать схему текста по умолчанию.
/h Выбрать схему Web Source Code.
/x Выбрать схему XML Document.
/c Открыть новое окно и вставить содержимое буфера обмена.
/b Открыть новое окно для сбора изменений буфера обмена.
/n Всегда открывать новое окно (/ns один экземпляр файла).

/r Переиспользовать окно (/rs один экземпляр файла).
/p Задать положение и размер окна (/p0, /ps, /pf,l,t,r,b,m).
/t Задать заголовок окна.

/i Запустить иконкой в области уведомлений.
/o Поверх других окон.
/f Указать ini-файл (/f0 без ini-файла).

/u Запуск с повышенными полномочиями.
/v Распечатать файл немедленно и выйти.
/vd Распечатать файл (открыть диалог печати).

/z Пропустить следующий (применимо для поиска
с регулярным выражением).

Примеры:
Notepad3 /utf8sig /crlf d:\temp\Test.txt
… Новый файл: "Test.txt" Кодировка=UTF-8-BOM, Окончания=CRLF.
Notepad3 /v d:\temp\Test.txt
… Распечатать: "Test.txt" немедленно.

Выделенное очень полезно.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2354
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 10:21. Заголовок: SergKis пишет 5. Пон..


SergKis пишет
 цитата:
5. Понял, что параметры экрана ставим через ini. Если вариантов параметров несколько (внешний запуск)
25, 80
25, 40
25, 120


alkresin пишет
 цитата:
Не понял, в чем вопрос


Вопрос установки Mode(...) для экрана, т.к. для небольших данных достаточно 15 row height, 40 Col width и нужна позиция окна Y, X

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2355
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 10:34. Заголовок: alkresin пишетКстати..


alkresin пишет
 цитата:
Кстати, чтобы пояснить: F3 как завершение выделения с копированием выделенного в один из буферов по выбору может быть нажато и в том случае, если выделение начиналось без F3, а любым другим способом.


Возможно, для кого то, 10 Clipboard очень нужная опция, но по мне, она лишняя, т.к. в списке буферов текст не определяет однозначно что там (видно ~ 30-40 символов). Потом надо заниматься постоянной очисткой номерного Clipboard, что тоже удовольствия не доставляет, еще раз подчеркну, для меня.
Режим Notepd3 /b Открыть новое окно для сбора изменений буфера обмена.
Лучше решает поставленную задачу по 10 Clipboard
По мне

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2356
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 10:51. Заголовок: alkresin пишет А это..


alkresin пишет
 цитата:
А этот "какой-то" режим - попытка реализовать некоторые возможности Vim


Даже не знаю, что это за возможности. Может через ini уст. есть такой режим или нет.
Для аналога MemoEdit() у клиента, наверно, это не нужно

 цитата:
Так в hbedit.help все есть (вызывается по F1), и в меню (F9) расписаны многие клавиши.


Я о таблице Hash в hbedit, где код нажатой клавиши соответствует, к примеру, блоку кода исполнения.
Что бы можно было переставить под себя те же Ctrl+PgUp\PgDn на Ctrl+Home\End
Норошо бы иметь и цвета в Hash, чтобы отсылаться на них (задавать в ini)

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2357
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 11:17. Заголовок: alkresin пишет у нас..


alkresin пишет
 цитата:
у нас есть класс TEdit(), который можно встроить в свое приложение


Не куда встраивать - все Windows hmg. Разговор о использовании вместо EDITBOX.
Сейчас исп. Notepat3 (ранее был Notepad2). Минус у него, надо делать изменения в текстах и сборку, для изменения цветов и ключевых слов (не вынесено в ini) + прыгание каретки по концам строк+клавиши не привычно, приходится переназначать в текстах (Вы тоже предлагаете такой же механизм пересборки в основе).
Плюс у него большая скорость при работе с большими файлам log. Клиенту нравится работать с одним большим файлом лог за год и больше (фрагментация по кварталам\месяцам не нравится), выбирая оттуда данные для разных справок в Excel\Word ...

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2358
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 12:35. Заголовок: alkresin пишет Бинар..


alkresin пишет
 цитата:
Бинарники на сайте обновлены.


Бяка при вводе новой строки из первой (позиции до текста в текущей line) позиции
 
до
:Excel := upper(gIniC(:cCfg, [COM], 'Excel', 'Yes'))
:Lang := upper(gIniC(:cCfg, [COM], 'Lang' , 'LV'))
If ! :Lang $ 'LV,EN'; :Lang := 'LV'
после Enter перед :Lang
:Excel := upper(gIniC(:cCfg, [COM], 'Excel', 'Yes'))

:Lang := upper(gIniC(:cCfg, [COM], 'Lang' , 'LV'))
If ! :Lang $ 'LV,EN'; :Lang := 'LV'
должно быть
:Excel := upper(gIniC(:cCfg, [COM], 'Excel', 'Yes'))

:Lang := upper(gIniC(:cCfg, [COM], 'Lang' , 'LV'))
If ! :Lang $ 'LV,EN'; :Lang := 'LV'


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2359
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 12:40. Заголовок: PS Вопрос\замеча..


PS
Вопрос\замечание. Зачем снимать выделение после Ctrl+C ?
Если переключусь на др. текст, там сделаю (поправлю себя) Ctrl+C, вставлю в др. текст,
вернусь в самый первый для повтора Ctrl+C, а он сброшен.
Снимать предлагаю по клавишам перемещения или исключая Ctrl+C

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2362
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 14:43. Заголовок: PS К Ctrl+C Если сде..


PS
К Ctrl+C
Если сделал Ctrl+C и обнаружил, что не дотянул 1,2 строки, а все сбросилось, начинай сначала выделять - не айс

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1185
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.04.19 16:22. Заголовок: Пожалуй, соглашусь, ..


Пожалуй, соглашусь, что Ctrl-Z лучше оставить для Undo. Переключение режима переведу на Ctrl-Q.
SergKis пишет:

 цитата:
У Far есть возможность запускать редактор с параметрами уст. каретки.


Как? Разве Far'овский редактор запускается отдельно из командной строки?

 цитата:
/g Перейти к указанной позиции (/g -1 конец файла)


Под позицией понимается номер строки?

 цитата:
Вопрос установки Mode(...) для экрана, т.к. для небольших данных достаточно 15 row height, 40 Col width и нужна позиция окна Y, X


Номер строки, размер - это все нетрудно сделать, а вот позиция окна - это вряд ли возможно сделать средствами gt - редактор-то консольный. Да и зачем?

 цитата:
в списке буферов текст не определяет однозначно что там (видно ~ 30-40 символов). Потом надо заниматься постоянной очисткой номерного Clipboard, что тоже удовольствия не доставляет, еще раз подчеркну, для меня.
Режим Notepd3 /b Открыть новое окно для сбора изменений буфера обмена.
Лучше решает поставленную задачу по 10 Clipboard


Полностью текст в списке и не нужен - вы же знаете, что туда помещали. И зачем очищать - не понял. Окно для сбора изменений - идея интересная, но вот насколько это удобно? Впрочем, не пробовал, не знаю.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1186
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.04.19 16:55. Заголовок: SergKis пишет: Даже..


SergKis пишет:

 цитата:
Даже не знаю, что это за возможности. Может через ini уст. есть такой режим или нет.


Vim - редактор по умолчанию в Линукс консоли, редактор отличный, хоть и своеобразный). Но менеджеру/экономисту это действительно не нужно - так что опция в ini, отключающая его, вполне уместна.

 цитата:
Я о таблице Hash в hbedit, где код нажатой клавиши соответствует, к примеру, блоку кода исполнения.


В Harbour консоли это не так просто, поскольку с возвращаемыми inkey() кодами надо еще работать - они могут быть одинаковыми для разных сочетаний клавиш. Но я буду иметь ввиду такой вариант.

 цитата:
Бяка при вводе новой строки из первой (позиции до текста в текущей line) позиции


Да, вижу - autoindent некорректно срабатывает, надо будет исправить.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2363
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 16:58. Заголовок: alkresin пишет Разв..


alkresin пишет
 цитата:
Разве Far'овский редактор запускается отдельно из командной строки?


Раньше точно было, использовал для просмотра aef файлов VO без установленного VO, причем можно уст. и line и col

 цитата:
Полностью текст в списке и не нужен - вы же знаете, что туда помещали


К сожалению нужен, был в работе такой редактор (прям очень похоже список давал), т.к. как прваило идут тексты
If ... elseIf ... Else или DO CASE ... CASE ... и если учесть windows словоблудие и длину слов, то имея 10 похожих строк, фиг поймешь что где лежит и куда хотел деть. В реале работал с одним Clipboard.

 цитата:
Под позицией понимается номер строки?


Да, номер строки, позиция 1 всегда

 цитата:
а вот позиция окна - это вряд ли возможно сделать средствами gt - редактор-то консольный. Да и зачем


Если пойдет консольный, то wvt, наверно, сделать можно. Там использовать Main menu и StatusBar.
На замену Notepad3, hb править легче, чем C с прибамбасами.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2364
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 17:28. Заголовок: alkresin пишетОкно д..


alkresin пишет
 цитата:
Окно для сбора изменений - идея интересная, но вот насколько это удобно? Впрочем, не пробовал, не знаю.


Очень удобно. Запускаем Notepad3 /f0 /b _Tmp.txt
Теперь запускаем prg Farом, другой prg Akelpadом, Notepad3 и ходим по prg, помечаем строки и при Ctrl+C
строки появляются в окне сборщике, дописываясь в конец.
Так можно программу новую набрать или куски и потом из этого окна применить.
Ctrl+A, Ctrl+X и все по новой
Отлавливает текст в Clipboard и из др. программ

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2365
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 17:44. Заголовок: alkresin пишетgt - р..


alkresin пишет
 цитата:
gt - редактор-то консольный. Да и зачем?


Возможность запустить данные с карточек (нескольких) по координатам, к примеру, справа друг под другом.
Если координат нет, только ини, в который запоминаются координаты, размеры где работали, то 2а, 3и таких ини и 3 запуска с параметром ини, так же позволит смотреть одновременно несколько данных вместо EditBox.
Параметр /t задаст заголовок окна. В итоге - все прекрасно

Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 824
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 15.04.19 18:01. Заголовок: SergKis Так, вроде,..


SergKis

 цитата:
Так, вроде, ставятся\снимаются коменты // и /* */



Как ? Ручками каждую строку ?
Я имею ввиду - выделил блок и какой -то командой закоментировал
или снял коментарии, как в Far е (и в 1с) , где можно поставить или убрать для блока

 цитата:
//



Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2366
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.19 18:15. Заголовок: Vlad04 пишет Я имею ..


Vlad04 пишет
 цитата:
Я имею ввиду - выделил блок и какой -то командой закоментировал
или снял коментарии, как в Far е (и в 1с) , где можно поставить или убрать для блока


Поставить вначале /* и в конце */ проще, чем тащить пометкой блок и вспоминать "какую то" команду.
А ставить автоматом в выделенном блоке в каждую стоку // ? Зачем ?
Но это по мне, как другим ... на любителя.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1187
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.04.19 11:01. Заголовок: Обновил Hbedit. Тепе..


Обновил Hbedit.
Теперь Ctrl-Z как и Alt-BS делает Undo, Ctrl-Q меняет режим, Ctrl-Home И Ctrl-End работают как и Ctrl-PgUp, Ctrl-PgDn.
Пофиксено кое-что.
Добавлены параметры командной строки:
-xy=xPos, yPos - установка в пикселях начального положения окна редактора (только для Windows)
-f iniFileName - имя ini-файла вместо hbedit.ini

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1188
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.04.19 11:05. Заголовок: Vlad04 пишет: Я име..


Vlad04 пишет:

 цитата:
Я имею ввиду - выделил блок и какой -то командой закоментировал


Теперь понятно. Надо просто написать соответствующий плагин. Они здесь пишутся на чистом Harbour, компилируются и устанавливаются прямо из редактора. Могу оказать методическую помощь).

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2367
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 12:15. Заголовок: alkresin fedit.prg ..


alkresin
fedit.prg line 215
 
::aText := hb_ATokens( cText, Chr(10) )
::cEol := Iif( Right( ::aText[1],1 ) == Chr(13), Chr(13) + Chr(10), Chr(10) )
не точное определение, есть файлы prg (в hmg несколько штук оказалось), где смесь и Chr(13) + Chr(10) и Chr(10)
Не факт что aText[1] будет содержать Chr(13)
Надо привести к одному Chr(10) в работе, к примеру
::aText := hb_ATokens( CtrTran(cText, Chr(13)), Chr(10) )
или с анализом If Chr(13) $ cText


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2368
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 12:16. Заголовок: PS StrTrans( конечно..


PS
StrTrans( конечно же

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1189
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.04.19 13:13. Заголовок: SergKis пишет: есть..


SergKis пишет:

 цитата:
есть файлы prg (в hmg несколько штук оказалось), где смесь и Chr(13) + Chr(10) и Chr(10)


Если там смесь, то, вообще говоря, неизвестно, какой правильный.
Надо будет (давно собираюсь) добавить в диалог сохранения файла опцию, принудительно устанавливающую тот или иной eol.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2369
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 13:51. Заголовок: alkresin пишет доба..


alkresin пишет
 цитата:
добавить в диалог сохранения файла опцию, принудительно устанавливающую тот или иной eol.


Может, достаточно в ini ?
CRLF=Y\N

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1190
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.04.19 14:37. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может, достаточно в ini ?


Если в ini, то все файлы, независимо от их изначального eol будут принудительно и молча сохраняться с определенным eol, что, вообще говоря, неправильно.
С третьей стороны, если у вас в файле смесь eol'ов, то какая вам разница, с каким он сохранится?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2370
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 15:20. Заголовок: alkresin пишет С тре..


alkresin пишет
 цитата:
С третьей стороны, если у вас в файле смесь eol'ов, то какая вам разница, с каким он сохранится


Есть hb_OsNewLine(), вроде так называется, по сути это и есть CRLF для оси. Ее и применять при CRLF=Y
или в ini писать
EOL=CRLF\LF
Кода смесь, то лучше, что ось дает.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2371
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 15:26. Заголовок: alkresin Плавающая ..


alkresin
Плавающая ошибка, точно не смог определить появлениеСкрытый текст

Работал следующее как через меню, так и нажатием клавиш (чередовал раз через меню, несколько раз только клавиши и ...)
F9 -> "Plugins F11" -> "0. Function list" -> <Список ...>

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2372
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 15:35. Заголовок: SergKis пишет Кода с..


SergKis пишет
 цитата:
Кода смесь, то лучше, что ось дает.


Если CRLF или EOL нет в ini, то Default :Eol := hb_OsNewLine(), если есть, то от установки

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2373
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 15:40. Заголовок: SergKis пишет Работа..


SergKis пишет
 цитата:
Работал следующее как через меню, так и нажатием клавиш


Может важно, когда проделывал указанные действия, в самом тексте ничего не делал по перемещению\изменению.
Только перемещение при помощи плагина

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2375
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 16:29. Заголовок: alkresin Запуск hbe..


alkresin
Запуск
hbedit.exe -xy=10,10 main.prg
ini
screen_width=40
screen_height=15
Меню F9 уходит за пределы она, центруясь по старым координатам
Его бы от левого угла или иметь возможность отключить показ\вызов F9 меню, для текстов в таких размерах не очень надо меню

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2376
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 16:46. Заголовок: alkresin Получил ст..


alkresin
Получил стабильное сваливание hbedit.exe -xy=10,10 main.prg https://TransFiles.ru/8d6e2
делаем F11 -> 0 и все

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1191
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.04.19 17:09. Заголовок: SergKis пишет: Полу..


SergKis пишет:

 цитата:
Получил стабильное сваливание hbedit.exe


Это я уже нашел, там в плагине ошибка - завтра обновлю.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2377
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 18:08. Заголовок: alkresin Попробовал..


alkresin
Попробовал расширить commands= ... добавил
toolbar splitbox with window label button getbox buttonex checkbox comboboxex combo listbox image RadioGroup textbox main modal child mdichild action tbrowse super frame
Все здорово
А нельзя ввести группы на команды и соответствующий цвет для группы?
К примеру commands2=<те которые добавил в commands>
по умолчанию тот же цвет, что и у commands, но что бы можно было установить из ini

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2378
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 18:10. Заголовок: PS может несколько г..


PS
может несколько групп ?
commands3=

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2379
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 09:07. Заголовок: alkresin По языковы..


alkresin
По языковым текстам меню и т.д.. Может сразу их вынести в Utf8 ? Встанет же вопрос языка.
К примеру hbedit.ini utf8 кодировка и секция с текстами (кому как надо, правильно переведет с EN), не связываясь раздельно с EN, RU, DE, FR, ...

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1192
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.04.19 09:24. Заголовок: SergKis пишет: Если..


SergKis пишет:

 цитата:
Если CRLF или EOL нет в ini, то Default :Eol := hb_OsNewLine(), если есть, то от установки


Сделал в ini eol=0 (автоопределение как сейчас - по умолчанию), 1 - Линукс, 2 - Дос.
Ставить в зависимости от ОС (hb_OsNewLine()) - не вариант. Часто бывает нужно под одной ОС редактировать файлы, сделанные под или для другой ОС.


 цитата:
А нельзя ввести группы на команды и соответствующий цвет для группы?
К примеру commands2=<те которые добавил в commands>
по умолчанию тот же цвет, что и у commands, но что бы можно было установить из ini


Да, я планирую расширение модуля подсветки. Цвета подсветки, кстати, можно установить в ini и сейчас - секция HILIGHT.

 цитата:
По языковым текстам меню и т.д..


Еще не думал на эту тему.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1193
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.04.19 09:32. Заголовок: Обновлен Hbedit. Исп..


Обновлен Hbedit.
Исправлены ошибки.
Добавлены опции командной строки:
- -gN - goto line N; If N is negative it is a number of lines before the end
- [-size=nCols,nRows] - number of columns and rows in an editor window
Добавлено определение цветов в ini, секция OPTIONS:
colormain, colorsel, colorpane(панель слстояния), colorbra(подсветка парных скобок).
Туда же добавлены eol (0,1,2) и trimspaces (on,off) - удаление конечных пробелов при сохранении файла.
Команды режима Vim b,B, e,E, w,W приведены в соответствие со стандартом Vim.
Добавлена команда Alt-b - переход на предыдущую ( после поиска и пр. ) позицию. Возврат назад, короче.
После Ctrl-C, Ctrl=Ins, Ctrl-Tab выделение теперь не убирается.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2380
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 09:56. Заголовок: alkresin пишет Еще н..


alkresin пишет
 цитата:
Еще не думал на эту тему.


Это понятно, пока мысли в другом.
Это я смотрю, как править "под себя" в wvt
У нас подправлена, товарищем, wvt для работы с main menu и statusbar, поэтому строка с F9-menu ... в таком виде не нужна, т.е. работа по клаве остается, а меню и выполнение пунктов надо перенести в main menu + тексты перевести в LV.
Вот и смотрю тексты с такого угла (что отключить, что оставить из режимов), потому что уже сейчас почти все устраивает (может не доделано и ...)

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2381
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 10:12. Заголовок: PS С текстами, приме..


PS
С текстами, примерно, так делаю
hText := { 1 => ..., 2 => ..., ... <полный набор текстов в EN (к примеру)>} в ini (utf8) секция [TEXT], в ней ключ = текст языковый.
Какие ключи есть, переносим в hText. Для меню массив или hash
01.00 = текст горизонтальный в main menu
01.01 = ... -> popup
...
02.01 = ... -> popup
...
Выполнение меню hash
01.01, {|..| ... }
...
это просто для информации

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2382
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 11:18. Заголовок: alkresin Еще такая ..


alkresin
Еще такая фишка для ini his
- добавить в строку истории параметр текстовый, меняющий в меню имя файла на указанный текст
- вход в hbedit с отображением меню истории (с текстами)
Тогда можно делать шаблоны каких то данных под именами файлов и культурно предлагать сразу при запуске выбрать для работы нужный

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2383
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 11:22. Заголовок: PS В hbedit.ini имет..


PS
В hbedit.ini иметь имя ini his для работы

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2384
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 12:31. Заголовок: alkresin Еще предло..


alkresin
Еще предложение, пакетный поиск с заменой из ini
[REPL]
<ключ как написан>=<значение (в том числе и пустое)>
к примеру
[REPL]
^1=my text 1
^2=мой текст 1
$DokNr$=ABC 12345
...
в плагин, по мне, выносить не стоит, т.к. уже есть\будет режим поиск - замена, то использовать рекурсивно по ini
добавить команду -repl=<имя ini> и можно в ini his параметром к альтернативному тексту названия
все ini utf8

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1194
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.04.19 13:32. Заголовок: SergKis пишет: У на..


SergKis пишет:

 цитата:
У нас подправлена, товарищем, wvt для работы с main menu и statusbar, ... а меню и выполнение пунктов надо перенести в main menu + тексты перевести в LV.


Ничего не понял). Какое wvt подправлено? Харборовский драйвер gtwvt? Что такое LV?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1195
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.04.19 13:45. Заголовок: По вашим предложения..


По вашим предложениям с ini his и заменой, определенной в ini ( это ведь имеется ввиду, что в ini будет прописано что на что менять и hbedit должен при открытии любого файла производить пакетно такую замену, я правильно понял? ).
Мне это представляется несколько экзотическим - в том смысле, что такие фичи носят слишком узкоспециализированный характер и вряд ли будут полезны для большинства пользователей.
Я предлагаю более универсальное решение - это возможность прописать в ini-файле имя плагина, который должен выполняться при старте редактора, можно также имя плагина, выполняющегося при открытии файла, можно разные плагины в зависимости от типа (расширения) файла. Вам остается написать сам плагин для своих нужд - таким образом вы сможете реализовать и эти свои два предложения, и много чего еще.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2385
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 14:39. Заголовок: alkresin пишет По ва..


alkresin пишет
 цитата:
По вашим предложениям с ini his и заменой, определенной в ini ( это ведь имеется ввиду, что в ini будет прописано что на что менять и hbedit должен при открытии любого файла производить пакетно такую замену, я правильно понял? )


В целом, да. Добавив опцию
Save = 0\1\2
0 - как есть по имени файла
1 - добавить к имени _дату_время
2 - добавить к имени (версия\номер)
Мы получаем без внешних программ рабочее место на базе шаблонов с "нормальным" названием в his
Если запросили в параметрах, то список his высветился, выбрали, если есть repl - выполнили
Если в параметрах не задавали, через ини, получаем his не автоматом, а через меню идем в his и т.д. по списку
Из программы из карточки создаем данные repl и по шаблону получаем письмо\справку\..., которую можно поправить\добавить и сохранить по режиму Save, Далее отослать куда надо полученное
Если предусмотреть в repl продолжение строк (как есть), то можно код программы набрать по шаблонам (заготовленным заранее label, button,...)

 цитата:
Я предлагаю более универсальное решение - это возможность прописать в ini-файле имя плагина


По мне, тут он лишний, в цикле прочитанного в hash [repl] прогнать существ. процедуру поиск-замена без сообщений
Да и ставить клиенту лишние файлы и следить за их целостностью, не всегда, целесообразно
Писать плагины, на данный момент, для экномич. работ не вижу смысла
[quote]`

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1196
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.04.19 17:09. Заголовок: SergKis пишет: По м..


SergKis пишет:

 цитата:
По мне, тут он лишний...


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

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2386
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 19:46. Заголовок: alkresin пишетПрогра..


alkresin пишет
 цитата:
Программа общего назначения, какой является текстовый редактор, не должна содержать такого рода узкоспециализированные, заточенные под конкретного потребителя функции


Вообще то были редактора\программы (даже в dos) с параметрами найти и заменить все.
Надо было писать записи в bat nn раз что бы выполнить замену.
Считать замену в тексте по картинке с запросом "Что найти" "На что поменять" с уточнениями
"Найти предыдущую", "Найти следующую", "Заменить", "Заменить все" + галочки с уточнениями.
Это считается нормальным. То же проделать "Заменить все" списком из файла (вместо 30 окон запросов) - узкоспециализированным. Странно по мне.
Плагины, сейчас представленные, относятся к prg типу файлов, по мне, это компоненты программы - не плагины, без них это обычный txt файл, как в notepad. Т.е. введенные типы файлов, кроме подсветки, автоматом, должны давать что то больше чем, к примеру, Notepad3

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2387
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 20:10. Заголовок: alkresin пишет Вам о..


alkresin пишет
 цитата:
Вам остается написать сам плагин для своих нужд - таким образом вы сможете реализовать и эти свои два предложения, и много чего еще.


В программе все так и делается, выгружается в txt, заменяется, подается в notepad3 с ini в размерное окно и полученный файл после, если надо, переименовывается и перекидывается куда нибудь, если надо. Таскается это все из проги в прогу через либы.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2388
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 20:36. Заголовок: alkresin пишет По ва..


alkresin пишет
 цитата:
По вашим предложениям с ini his и заменой, определенной в ini ( это ведь имеется ввиду, что в ini будет прописано что на что менять и hbedit должен при открытии любого файла производить пакетно такую замену, я правильно понял? ).


Если задан файл и -repl в параметрах - выполняется замена при запуске
Если задан his, то при запуске активируется меню his (как меню F2 в Far, может активироваться при запуске) для выбора пункта, если у выбранного стоит repl, то выполнить этот repl перед загрузкой

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1197
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.04.19 09:26. Заголовок: SergKis пишет: Вооб..


SergKis пишет:

 цитата:
Вообще то были редактора\программы (даже в dos) с параметрами найти и заменить все.


Программы были и есть - например, моя snr), но для редактора это все же нетипичная функция.

 цитата:
Странно по мне.


А мне странно, что вы не хотите себе, для своих же нужд, написать маленький плагин.

 цитата:
Если задан файл и -repl в параметрах - выполняется замена при запуске
Если задан his, то при запуске активируется меню his...


Все это легко реализуется с помощью плагина. Помещаете hrb в plugins/, прописываете его имя в ini - и дело сделано.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1198
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.04.19 09:31. Заголовок: Обновлен hbedit Тепе..


Обновлен hbedit
Теперь для подсветки вместо commands, funcs указываются keywords1, keywords2, keywords3, keywords4.
Добавлена возможность указать в ini плагин, запускаемый автоматически при старте программы (секция START).
Еще какие-то мелочи - уже не помню).

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2390
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.04.19 10:33. Заголовок: alkresin пишет Все э..


alkresin пишет
 цитата:
Все это легко реализуется с помощью плагина. Помещаете hrb в plugins/, прописываете его имя в ini - и дело сделано.


Этого мало. Для эксплуатации этого мало. Надо в меню "культурно" назвав вставить, не в список плагинов, это внутреннее дело программы, а клиенту надо только его и на его языке.
Вы отказались от строки меню и строки статуса\подсветки - это уже лишнее нажатие F9\мыши. Все запищат от такого.
Потом для редактора mode 24 row, 80 col ... это не используется давно, 32x120 как минимум (точно не помню соотношения, т.к. давно не использую консоль\wvt, товарищ wvt использует).
Наличие меню, дает возможность набирать пункты - для клиента это важно.
Подсветка полного имени файла, как правило не нужно (опционно) достаточно имени, т.к. большинство работ с выбранным ini в одном каталоге.
Сравниваю с Notepad3, который устанавливаем с программами у всех клиентов + сами используем, правда с оболочкой проекта, пока тенденция не в пользу hbedit, к сожалению.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2391
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.04.19 11:16. Заголовок: SergKis пишет Потом ..


SergKis пишет
 цитата:
Потом для редактора mode 24 row, 80 col


Извините, ошибся, стоит 30x100.
Подумал 24x80 т.к. на своих текстах много не видно и совмещение меню со статус строкой показалось экономия строк рабочих.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1199
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.04.19 12:55. Заголовок: SergKis пишет: Надо..


SergKis пишет:

 цитата:
Надо в меню "культурно" назвав вставить, не в список плагинов, это внутреннее дело программы, а клиенту надо только его и на его языке.


Не понял. Что надо вставлять в меню? Вы говорили о стартовом меню: "вход в hbedit с отображением меню истории (с текстами)". Т.е., пользователь запускает hbedit, сразу выскакивает меню с алиасами имен файлов и он выбирает нужный для редактирования. Я предлагаю вам написать плагин, который выведет это меню на экран и прописать его в ini - файле в секции {START] - так что его не надо будет вызывать, он будет запускаться при старте hbedit автоматически. При необходимости повторного вызова его можно прописать и в списке плагинов ([PLUGINS], который выводится на экран по F11 - это пользователю нетрудно запомнить.
SergKis пишет:

 цитата:
Извините, ошибся, стоит 30x100.


Стоит то, что прописано в ini, хоть 30х100, хоть 50х200...

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2392
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.04.19 13:46. Заголовок: alkresin пишет Не по..


alkresin пишет
 цитата:
Не понял. Что надо вставлять в меню?


Это меню, как было в дос программах, сверху строка меню, снизу строка состояния (или наоборот).
Применительно к hbedit это не F9-menu надпись\кнопка, а сразу развернутое горизонтально главное меню, сразу видно, что там (не надо лишний раз нажимать\кликать F9-menu). Вставлять\набирать надо это меню (только те пункты, которые нужны) и подменю набирать. Использовать языковые тексты.
В notepad main menu "File" "Edit" "Format" "View" "Help". В notepad3 похоже. Надписи EN, клиентов это устраивает, т.к. системная программа. Любая другая должна иметь "обоснование", почему не на государственном (hbedit собранная под wvt в тек. виде не подойдет никак)

 цитата:
Я предлагаю вам написать плагин, который выведет это меню


hrb хорошо, но у клиента хорошо, если он хотя бы в ресурсах программы. LetoDb v.m.1.0 все hrb функции убрал в exe после случая с "добрым" admin, который в тихаря удалил его несколько раз.
Потом, если вводятся типы файлов LANG_PRG, LANG_C,..., LANG_TXT, ... то должен быть набор свойств\функций для работы с ним. Набор должен работать в автомате - не через меню плагин (это доп. режим). Так по мне.
his - это история работы с файлом или применительно к prg - это список файлов проекта, т.е. в каталоге может быть куча файлов, но файлами his раскладываются на проекты. Зачем тут писать plugin, достаточно иметь галочку, как в Far на меню F2. Нужно запустить hbedit с галочкой или именем his. В том же Far создаем несколько пунктов для проектов, с параметром file.his.
Альтернативное имя пункта меню. К примеру, у меня в проекте, она берется из первой строки // ... или /* ... */ и добавляется к имени prg (без путей)
Для сборки проекта надо запускать cmd, желательно именно на данный список his prg или hbmk2 с hbp

 цитата:
по F11 - это пользователю нетрудно запомнить


Вот пользователю это совсем не нужно (даже запоминать не будет, будет звонить). Ему надо кнопку, tooltip, меню ...

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1200
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.04.19 18:32. Заголовок: SergKis пишет: hrb ..


SergKis пишет:

 цитата:
hrb хорошо, но у клиента хорошо, если он хотя бы в ресурсах программы. LetoDb v.m.1.0 все hrb функции убрал в exe после случая с "добрым" admin, который в тихаря удалил его несколько раз.


Ну это несерьезно. А если admin удалит ini файлы, или exe? А если он в Program Files покуролесит? Или он только hrb удаляет ? Тогда поставьте другое расширение файлу - dll, например.

 цитата:
если вводятся типы файлов LANG_PRG, LANG_C,..., LANG_TXT, ... то должен быть набор свойств\функций для работы с ним. Набор должен работать в автомате - не через меню плагин


Типы файлов вводятся извне программы, в ini. Поэтому и функции, специфичные для них, реализованы внешними модулями. Если мне понадобится добавить еще один тип, то что, программу для этого менять?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1201
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.04.19 18:50. Заголовок: Если вам так нужно с..


Если вам так нужно свое постоянное меню, то есть еще вот такое решение - я планировал сделать что-то в этом роде, только обдумывал конкретную реализацию. Теперь, вроде, сложилось все в голове. Это возможность для плагина создавать свою область на экране - как бы расщеплять окно и перехватывать предназначенные для нее события.
Т.е., в стартовом плагине, который запускается автоматически, вы можете отключить панель состояния и выделить для себя область - сверху, снизу, справа или слева. в которой нарисуете свое меню. Кроме того, вы назначаете свой обработчик событий - он будет получать код нажатой клавиши или кнопки мыши, а возвращать, допустим, -1 если надо продолжить обработку, 0 - если не надо или новый код, который программа примет как код нажатой клавиши (таким образом можно, в частности, переназначать клавиши). Таким способом вы сможете реализовать абсолютно все, что вам надо.
Ну а я смогу сделать, например, вывод результатов компиляции в спец.окно с возможностью перехода на строку, где была ошибка.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2399
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.04.19 19:02. Заголовок: alkresin пишет Ну эт..


alkresin пишет
 цитата:
Ну это несерьезно


Еще как серьезно, маленькое действие, приводящее к вызову admin (по договору ходит). Каждый визит оплачивается часовым тарифом. Мы доступа к серверу не имеем, определить что произошло с клиента никак.

 цитата:
Если мне понадобится добавить еще один тип, то что, программу для этого менять?


Периодически, особенно, если удачное предложение, ДА.
Иначе, чем отличается введенные типы от др. редакторов, того же far, notepsd3 (этот может и фонты менять на выделениях. не только цвета).
Но, Вам, виднее.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2400
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.04.19 19:24. Заголовок: PS Вырезка из ini No..


PS
Вырезка из ini Notepad3 по типам Скрытый текст


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2401
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.04.19 20:15. Заголовок: alkresin пишет Если ..


alkresin пишет
 цитата:
Если вам так нужно свое постоянное меню, то есть еще вот такое решение


Меню и строку состояния как в дос в wvt не используем. Уже писал, товарищ по работе, меняет wvt добавляя main menu и StatusBar, т.е. вся площадь окна - рабочая область. Исп. ф-ии (это еще hb 2.0)
wvt_CreateMenu( [lMain] ) -> hMenu
...
wvt_AppendMenu(hMenu, cCaption, nKey, [cFlags] )
Добавить пункт в меню

cCaption - Текст меню
В тексте работает символ Chr(9)
nKey - Этот код будет послан в очередь
Наш обработчик ловит nKey и запускает из массива или hash по ключу блок кода.
Я не работаю с wvt давно, подзабыл детали и пример не нашел, убрал куда то
Хорошо бы вашему обработчику послать сообщение, что выполнить (список всех исполнителей ?)


cFlag - строка символов в любой комбинации регистр не имеет значение
'B' - Bold выделеный пункт меню
'C' - Cheked Помечен галочкой
'D' - Disable Серый не работающий
'N' - Начинается новая колонка
'H' - При первом открытии меню курсор стоит на этой позиции

Еще условия :
- надо кодировку LV866 (EN,LV,RU) ее нет в hb standart
- hb 3.2 unicode с LV866 сделан под vc2017 (не переведены еще часть используемых C lib)
- hbedit тексты должны быть utf8 + все ini (BOM) + работа с ними внутри utf8
- все меню hbedit, переведены в main menu
Что бы браться за это для hbedit, надо очень веские причины, т.к. сейчас Notepad3 с LV866, клавиши и режимы приведены "нормальным" действиям. Изменения Notepad3 только новой пересборкой, но особо уже ничего не надо, так по мелочи есть по покраске, наберется, пересоберется

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2403
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 07:57. Заголовок: PS Вспомнил, свой об..


PS
Вспомнил, свой обработчик, это установленные
SetKey( nKey, {|| ...})

Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 825
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 19.04.19 09:39. Заголовок: По-моему вы пытаете..


По-моему вы пытаетесь скрестить ежа и ужа. Как известно редакторы предназначенные для Юзеров ( просмотр текста, печать и ещё что-то) отличаются по функционалу от редакторов предназначенных для написания кода.
А судя по вводной в начале темы alkresin и собирался создать ВТОРОЙ - не слишком навороченный, но чтоб было все что надо. .
Но SergKis пытается из него сделать редактор для ПОЛЬЗОВАТЕЛЕЙ, при чем не сильно продвинутых

 цитата:
Вот пользователю это совсем не нужно (даже запоминать не будет, будет звонить). Ему надо кнопку, tooltip, меню ...




Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2407
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 10:07. Заголовок: Vlad04 пишет По-моем..


Vlad04 пишет
 цитата:
По-моему вы пытаетесь скрестить ежа и ужа


Почитайте самое начало темы, разговор о сделанном MemoEdit() и на его базе, более мощное hbedit, который по смыслу полностью совпадает с Notepad3 (C вариант) и Far. Если с Far понятно, "вас тут много, а я один - делайте плагины, когда нужно, чего нет". В hbedit такая метода мне не понравилась, для отладки нового алгоритма - хорошо, для работы повседневной, не очень, по мне. В отличии от notepad3, hbedit (MemoEdit()) можно встроить в прогу, вот я и прикидывал как это сделать. Консольный hbedit => wwt hbedit, но вариант похожий на windows

По поводу вопросов по "Вот пользователю это совсем не нужно ..."
Интерфейсов консольных и wvt в стиле clipper не осталось, всем надо и понимают что и как для windows интерфейса.
Меню hbedit после клика F9 вызовет полное недоумение у нынешних пользователей, а нажать клавишу F9 большая половина не поймет ... и будут звонить - "как получить что то ... вы показывали". Это почти не утрировано.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1202
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.04.19 11:36. Заголовок: Vlad04 пишет: Но Se..


Vlad04 пишет:

 цитата:
Но SergKis пытается из него сделать редактор для ПОЛЬЗОВАТЕЛЕЙ


Проблема в том, что ему нужен, как я понимаю, не просто редактор для пользователей, а программа на базе редактора, с функциями, редактору общего назначения не свойственными, специализированная для нужд конкретного клиента. В принципе, эта задача вполне решаема с помощью плагинов.
SergKis пишет:

 цитата:
Консольный hbedit => wwt hbedit, но вариант похожий на windows


С помощью своего плагина - пожалуйста. Редактор мультиплатформенный, консольный (чтобы и по ssh можно было работать), поэтому включать в основную программу чисто виндовские элнменты - не вариант.

 цитата:
Интерфейсов консольных и wvt в стиле clipper не осталось, ...
Меню hbedit после клика F9 вызовет полное недоумение у нынешних пользователей


Вы явно недооцениваете пользователей. Буквально на прошлой недели я поставил небольшую консольную программу на завод в маленьком поселке - как раз со старым Клипперовским меню, без поддержки мыши. Первой реакцией было недоумение - на что нажимать, как работать, но после 5-минутной консультации по телефону все стало на свои места. Неделю уже работают, никаких вопросов.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1203
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.04.19 11:40. Заголовок: Еще раз обновил реда..


Еще раз обновил редактор.
Кое-что исправлено, добавлен плагин - список функций для С.
Добавлена возможность задавать в ini цвета подсветки и для конкретного языка.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2408
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 12:02. Заголовок: alkresin пишет Вы яв..


alkresin пишет
 цитата:
Вы явно недооцениваете пользователей.


Реальность в Латвии такова, что остались только мы (два динозавра), пишущих на Clipper\Harbour

 цитата:
Проблема в том, что ему нужен, как я понимаю, не просто редактор для пользователей, а программа на базе редактора, с функциями, редактору общего назначения не свойственными, специализированная для нужд конкретного клиента.


В принципе не нужна в предлагаемом виде, все на плагинах (Far достаточно со своими, но и им давно не пользуюсь, только в качестве источника для Clipboard). Notepad3 полностью обеспечивает работу с мемо полями и текстами док., шаблонами (вместо worda, т.к. нужна лицензия). Его запустил с ini, изменил размеры окна до нужного и позицию - сохранилось все в ini, след. запуск с ini размещает где хотели. Таких несколько ini обеспечивают одновременную работу с несколькими карточками. Это аналог работы в окне STANDARD с EDITBOX. Title окна задается (номер карточки или еще что) /t Nr.1234567. по кнопке можно запустить распечатку файла немедленно или с запросом свойств печати.
Кстати, кодировка LV866 в нем соответствует RU866 и устанавливается в меню выбором кодировки 866.
Лат. буквы в местах псевдографики. Можно попробовать

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2409
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 12:10. Заголовок: PS для prg, кроме по..


PS
для prg, кроме подсветки (hb+hmg) есть автозавершение и режим уст. длинной строки с прорисовкой линии, в этом режиме до линии добавляются строки пробелами и курсор не прыгает (это уже наши правки), при добавлении новых строк это ломается, но не смертельно (F2, F5) исправляет. Линия в 0 - обычный режим Notepad3

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2412
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 19:07. Заголовок: alkresin При большо..


alkresin
При большом списке функций, методов, ... (кончились цифры+буквы у пунктов FMenu), просится
- сортировка списка по наименованию
- поиск в списке по наименованию
планируется ли такое ?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1204
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.04.19 21:00. Заголовок: SergKis пишет: план..


SergKis пишет:

 цитата:
планируется ли такое ?


Может быть. Пока не думал.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1205
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.04.19 21:06. Заголовок: Что-то странное в эт..


Что-то странное в этом апрельском воздухе)...
Зашел сегодня на Harbour Users посмотреть, чем народ дышит, а там в апреле среди прочих два сообщения о разработке консольного текстового редактора, одно из них - от Линареса:
[url=https://groups.google.com/forum/#!topic/harbour-users/gXH7fwucSAA]https://groups.google.com/forum/#!topic/harbour-users/gXH7fwucSAA[/url]
[url=https://groups.google.com/forum/#!topic/harbour-users/gBhBpgl13LA]https://groups.google.com/forum/#!topic/harbour-users/gBhBpgl13LA[/url]
А вы говорите, "интерфейсов консольных и wvt в стиле clipper не осталось". Новый тренд пошел).

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2413
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 22:48. Заголовок: alkresin пишет А вы ..


alkresin пишет
 цитата:
А вы говорите, "интерфейсов консольных и wvt в стиле clipper не осталось". Новый тренд пошел).


Так это в нашей деревне.

У вас Linuks (типа своя ось) должен вперед двигаться, после ограничений по windows.
Потому консоль, wvt должны рулить

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2414
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 22:53. Заголовок: alkresin пишет Может..


alkresin пишет
 цитата:
Может быть. Пока не думал.


Для пробы взял h_tbrowse.prg из hmg, 379 entity, 15340 line

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2415
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 23:06. Заголовок: PS Включаю в Entity ..


PS
Включаю в Entity кроме CLASS и END CLASS, чтобы в списке видеть, где кончаются объявления методов и их INLINE, BLOCK конструкции, для перехода в конец класса.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1206
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.04.19 09:57. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлены:
кодоблок :bNew - он отрабатывает при вызове метода TEdit():New(), что позволяет выполнять свой код при открытии файла;
кодоблок :bEdit - он отрабатывает перед началом редактирования (метод TEdit():Edit()) - там можно, в частности, установить свою область в окне редактора;
кодоблок :bOnKey - он отрабатывает после нажатия клавиши или щелчка мышью и позволяет, таким образом, перехватывать события.
'. (в режиме Vim) и Alt-'. (в режиме редактирования) - переход к месту последнего изменения.
В ini добавлена подсветка .bat.
Ну и кое-какие исправления.

Спасибо: 0 
Профиль
ММК
постоянный участник


Пост N: 354
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 20.04.19 11:58. Заголовок: alkresin пишет: А в..


alkresin пишет:

 цитата:
А вы говорите, "интерфейсов консольных и wvt в стиле clipper не осталось". Новый тренд пошел).


Да, ретро периодически привлекает. Вот даже еще "круче" - из DOS'а в WEB.
http://forums.fivetechsupport.com/viewtopic.php?f=3&t=36990&sid=45770993eb5f74b9c7cc74dd013baec8&start=30
Что касается Линариса, то его вряд ли интересует такой редактор. Во всяком случае в FW достаточно
небольших примеров включая "виндовые", что для пользователя интереснее. А все предназначенное для разработчиков
плавно перетекает в среду разработки. Это уже другая песня...
alkresin пишет:

 цитата:
два сообщения о разработке консольного текстового редактора, одно из них - от Линареса:



Помог человеку. Предложил вариант "подсветки" .
И далее интересно ( не Линарис) -
Now we may have to find a way to utilize it (hbEditor class) into something more useful.. than a mere sample

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1207
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.04.19 15:57. Заголовок: ММК пишет: Да, ретр..


ММК пишет:

 цитата:
Да, ретро периодически привлекает. Вот даже еще "круче" - из DOS'а в WEB.


Ретро - это MSDOS в любой упаковке, а консольный интерфейс - это не ретро, а один из способов организации интерфейса, активно использующийся наряду с графическим и сегодня, все зависит от конкретной задачи и, конечно, от вкусов пользователя. Я, например, тоже пользователь, и во многих случаях предпочитаю именно консольный интерфейс (Far, текстовые редакторы, ...). И я не один такой, тот же Vi/Vim до сих пор остается одним из самых популярных программистских (и не только) редакторов, и в последние годы его популярность даже выросла.

 цитата:
Что касается Линариса, то его вряд ли интересует такой редактор. Во всяком случае в FW достаточно


Не знаю, какой редактор использует Антонио, при случае спрошу). Но то, что он автор FW ничего не говорит о его предпочтениях, точно так же. как и то, что я - автор HwGui и др. GUI инструментов ничего не говорит о моих.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2419
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.04.19 17:38. Заголовок: ММК пишет А все пред..


ММК пишет
 цитата:
А все предназначенное для разработчиков
плавно перетекает в среду разработки. Это уже другая песня...


Почему другая ?
Я воспринял hbedit как такой элемент и стал наседать с вопросами.
Для prg добавить
- файл проекта (вполне пойдет his)
- CmdRun для сборки модуля
- Список функций (как сейчас по одному prg) по prg из файла проекта
в такой схеме пройдут и др. языки
Для txt групповая поиск\замена (может подходить для всех типов)

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1208
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.04.19 19:44. Заголовок: SergKis пишет: Я во..


SergKis пишет:

 цитата:
Я воспринял hbedit как такой элемент и стал наседать с вопросами.
Для prg добавить
- файл проекта (вполне пойдет his)
- CmdRun для сборки модуля
- Список функций (как сейчас по одному prg) по prg из файла проекта


Предложение интересное (только his тут ни при чем), хоть я и не помню, чтобы вы говорили об этом раньше. Можно объявить в ini новый тип файла и сделать плагин/группу плагинов для него.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2425
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.04.19 20:06. Заголовок: alkresin пишет хоть ..


alkresin пишет
 цитата:
хоть я и не помню, чтобы вы говорили об этом раньше


SergKis пишет
 цитата:
Потом, если вводятся типы файлов LANG_PRG, LANG_C,..., LANG_TXT, ... то должен быть набор свойств\функций для работы с ним. Набор должен работать в автомате - не через меню плагин (это доп. режим). Так по мне.
his - это история работы с файлом или применительно к prg - это список файлов проекта, т.е. в каталоге может быть куча файлов, но файлами his раскладываются на проекты. Зачем тут писать plugin, достаточно иметь галочку, как в Far на меню F2. Нужно запустить hbedit с галочкой или именем his. В том же Far создаем несколько пунктов для проектов, с параметром file.his.
Альтернативное имя пункта меню. К примеру, у меня в проекте, она берется из первой строки // ... или /* ... */ и добавляется к имени prg (без путей)
Для сборки проекта надо запускать cmd, желательно именно на данный список his prg или hbmk2 с hbp


Файл his это где мы были, что по списку файлов совпадает с файлом проекта. Попытка сэкономить.
Конечно файл проекта лучше

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1209
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.04.19 08:32. Заголовок: Обновлен hbedit. Теп..


Обновлен hbedit.
Теперь список нужных кодовых страниц можно определить в hbedit.ini, секция [CODEPAGES]. Доступны все кодовые страницы, поддерживаемые Harbour, список поместил в readme.md.
Реализованы Lower/Upper и, соответственно, case insensitive поиск для utf8.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2429
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.04.19 09:20. Заголовок: alkresin переместил..


alkresin
переместил hbedit.exe в BIN каталог (без ini и плагинов, они в текущем, т.е. по проектам условным)
0. Плагины не подключаются
1.Запустил на текущий рабочий в котором ini и his есть - такой вариант не работает (создает в bin ini и his)
2. .\bin\hbedit -f .\hbedit.ini ... - работает (создает в bin his)
3. .hbedit.ini дописал к hbbedit. \bin\hbedit ... - работает (создает в bin his)
Если hbedit.exe поместить на флешку с защитой записи или CD (portable вариант), то ...

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2430
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.04.19 09:23. Заголовок: PS читать 0. Плагины..


PS
читать
0. Плагины не подключаются везде

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2431
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.04.19 09:31. Заголовок: PPS Отключить his мо..


PPS
Отключить his можно ? Никогда не использовал при работе с проектом (история совпадает с проектом).
За пределы проекта работа - другой запуск (др. средства\программы)

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2440
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.04.19 19:45. Заголовок: alkresin пишет (help..


alkresin пишет (help)
 цитата:
Выделив нужный текст, вы можете использовать следующие горячие клавиши:
...
Del, d удалить текст;


Ctrl+X надо добавить

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1210
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.04.19 09:00. Заголовок: SergKis пишет: 0. П..


SergKis пишет:

 цитата:
0. Плагины не подключаются везде


plugins/, hbedit.ini, hbedit.help должны быть в одном каталоге с hbedit.exe.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1211
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.04.19 09:03. Заголовок: Обновлен hbedit. Реа..


Обновлен hbedit.
Реализована замена (Search&Replace) по Ctrl-F7.
В ini, секция [OPTIONS], добавлен параметр savehis: 0 - не сохранять историю, 1(по умолчанию) - сохранять в каталоге с hbedit.exe, 2 - сохранять в текущем каталоге.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2444
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.04.19 09:14. Заголовок: alkresin пишет plugi..


alkresin пишет
 цитата:
plugins/, hbedit.ini, hbedit.help должны быть в одном каталоге с hbedit.exe.


Но набор плагинов может быть разным функционально.
Если есть в текущем каталог plugins, подключать его, нет у hbedit.exe

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2445
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.04.19 09:19. Заголовок: PS ini и help так же..


PS
ini и help так же может, как комплект, быть привязан к плагинам (создаются динамически) и разработкой тек. каталога

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1212
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.04.19 09:52. Заголовок: В принципе можно про..


В принципе можно проверять сначала наличие этих файлов в текущем каталоге, и, если их нет, то в базовом, хотя я не рекомендовал бы использовать такую возможность на практике слишком активно - запутаться можно.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2446
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.04.19 10:02. Заголовок: alkresin пишет запут..


alkresin пишет
 цитата:
запутаться можно.


Запутаться можно и в трех соснах, а так будет гибкость и новые возможности.
В Fox 2.1 не путались же

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1213
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.04.19 18:54. Заголовок: Что касается файлов ..


Что касается файлов проекта, то, думаю, не надо плодить новые сущности - лучше всего использовать .hbp от hbmk2. Он кросс-платформенный, содержит всю необходимую информацию и может быть непосредственно использован для сборки.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2449
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.04.19 22:31. Заголовок: alkresin пишет лучше..


alkresin пишет
 цитата:
лучше всего использовать .hbp от hbmk2. Он кросс-платформенный


С этим не поспоришь.
Вопрос файла проекта, т.е. список файлов в виде меню для перехода на него (загрузка для работы)
Что то вроде такого
Demo.prg "Main window бла бла бла " 2019.04.10 10:30:10 (last модификация+длина файла)
FuncMisc1.prg "Дополнительные функции к выборке 1". 2019.04.22 23:01:45 (last модификация+длина файла)
FuncMisc2.prg "Дополнительные функции к выборке 2". 2019.04.22 19:31:10 (last модификация+длина файла)
...
Demo.hbp
Demo.rc
Demo.ini
Demo.cfg
...
Получать по кнопке или на входе

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2450
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.04.19 22:42. Заголовок: PS Это оч. похоже на..


PS
Это оч. похоже на his по сути, т.е. открыли 1 файл, другой и т.д., набрался файл с одной стороны his, с другой список файлов проекта (в др. и не зайдешь в этом проекте). Структуру записи his расширить, сто руками заполнять, что программно, если что тов нем лишнее, зашел удалил. Для файла проекта, конечно, надо ведение, т.е. набор пунктов и т.д.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1214
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.04.19 08:46. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена подсветка директив препроцессора,
существенно пополнен набор команд Vim-режима (см.help),
hbedit.ini и plugins/ теперь могут находится и в текущеи каталоге - при старте hbedit ищет их там, а потом уже в базовом каталоге.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2451
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.04.19 10:47. Заголовок: SergKis пишет Для ф..


SergKis пишет
 цитата:
Для файла проекта, конечно, надо ведение, т.е. набор пунктов и т.д.


Для информации, от своей проги ведения проектов, для MiniGui Скрытый текст

Секции [Obj\, [Lib] исп. для сборки своих проектов через свой bat (без hbmk2, давно делался 2010 год). В hmg есть свой cmd сборки.
В проект вкл. только одна секция из подкаталога source\TsBrowse, т.к. другие не использую в работе

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2452
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.04.19 11:06. Заголовок: PS Протокол ошибок с..


PS
Протокол ошибок сборки выдаю на Browse и если есть строки со ссылкой на строки prg, при выборе запускаю Akelpad\Notepad3 с установкой на стр. из протокола

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1215
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.04.19 11:40. Заголовок: SergKis пишет: Для ..


SergKis пишет:

 цитата:
Для файла проекта, конечно, надо ведение, т.е. набор пунктов и т.д.


Что вы имеете ввиду?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2453
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.04.19 11:45. Заголовок: alkresin пишет Что в..


alkresin пишет
 цитата:
Что вы имеете ввиду?


заполнение руками строк в файле проекта руками через запрос Get-ами или в ini.
В примере ini выше секции заполняю руками в редакторе (для простоты)

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2454
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.04.19 11:56. Заголовок: SergKis пишет В прим..


SergKis пишет
 цитата:
В примере ini выше секции заполняю руками


Секции [Window], [Browse] заполняются программой - это координаты куда разместили окно и browse под него, т.к. проектов много, то и окна работы с проектом и окна об ошибках можно располагать удобно

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1216
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.04.19 12:40. Заголовок: SergKis пишет: запо..


SergKis пишет:

 цитата:
заполнение руками строк в файле проекта руками через запрос Get-ами или в ini.


Ничего не понял). Т.е., вообще ничего - и, в частности, что за пункты все-таки.
В любом случае, делать специальный файл проекта нового формата я не предполагаю. У нас есть .hbp и он прекрасно справляется со своими задачами. Он содержит, в частности, список файлов проекта - а это именно то, что нужно редактору: можно и общий список функций составить, и глобальный поиск по проекту сделать. Если для файлов нужны алиасы (пояснения), то их можно поместить в .hbp как комментарии - над строкой с именем файла. Чтобы не спутать их с другими комментариями, можно, например, маркировать их как ##. Библиотеки, объектники, опции сборки - это все редактору не нужно - он просто запустит hbmk2 и тот сделает свою работу.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2455
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.04.19 15:03. Заголовок: alkresin пишет Ничег..


alkresin пишет
 цитата:
Ничего не понял). Т.е., вообще ничего - и, в частности, что за пункты все-таки.


Расшифровка пунктов ini проекта Скрытый текст


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1217
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.04.19 09:28. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлены пара плагинов для Golang (запуск на выполнение и форматирование).
В ini, секция [LANG_...], теперь можно указывать спец.плагин для этого типа файлов - он будет запускаться при открытии файлов этого типа и играет для него ту же роль, что и стартовый плагин в [START].
В ini добавден [LANG_HBP]
Кое-что подправлено с подсветкой.

Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 826
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 24.04.19 11:21. Заголовок: Как сделать: 1) Чтоб..


Как сделать:
1) Чтобы при открытии , окно было распахнуто

2) По умолчанию стоял какой-то ранее выбранный синтаксис, к примеру, prg

Кодовая страница вроде ставится

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2456
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.04.19 11:52. Заголовок: alkresin Для удален..


alkresin
Для удаления выделенного текста, еще используется Ctrl+X, этого нет в hbedit

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2457
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.04.19 12:08. Заголовок: PS 1. Open file окно..


PS
1. Open file окно, при пустом поле и нажатии enter открывать окно списка файлов
2. На окнах поиск, поиск-замена, переход на запись, сохранять последние данные в Selected режиме.
3. На, вышеуказанных, окнах добавить F<n> клавишу для вызова истории набранных данных ранее, не только кликая мышой

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1218
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.04.19 13:08. Заголовок: Vlad04 пишет: 1) Чт..


Vlad04 пишет:

 цитата:
1) Чтобы при открытии , окно было распахнуто


В смысле, на весь экран? Могу добавить в hbedit.ini такую опцию, если надо.

 цитата:
2) По умолчанию стоял какой-то ранее выбранный синтаксис, к примеру, prg


Так при открытии файла .prg автоматом устанавливается соответствующий синтаксис...

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1219
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.04.19 13:15. Заголовок: SergKis пишет: Для ..


SergKis пишет:

 цитата:
Для удаления выделенного текста, еще используется Ctrl+X, этого нет в hbedit


Ok.

 цитата:
1. Open file окно, при пустом поле и нажатии enter открывать окно списка файлов
3. На, вышеуказанных, окнах добавить F<n> клавишу для вызова истории набранных данных ранее, не только кликая мышой



Открыть список файлов или историю можно и без мышки двумя способами:
1) перейти на соседнюю кнопку (стрелка вниз или Tab) и нажать пробел
2) нажать Ctrl + стрелка вниз.


 цитата:
2. На окнах поиск, поиск-замена, переход на запись, сохранять последние данные в Selected режиме.


В смысле, выделять найденную строку? В поиск/замена она выделяется. А при переходе по номеру строки что выделять?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2458
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.04.19 13:33. Заголовок: alkresin пишет В смы..


alkresin пишет
 цитата:
В смысле, выделять найденную строку? В поиск/замена она выделяется. А при переходе по номеру строки что выделять?


В истории есть последнее значение поиска, поиска-замены, переход на ... (списки выдвигаются же)
При открытии окна (соответствующего) заполнять этими значениями соответствующие поля окна с Selected для
- замены новыми, тогда сбрасываются и вводятся новые
- стрелками перемещения Selected сбрасываем и правим, что было
- сразу для повторения поиска по enter

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2459
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.04.19 13:36. Заголовок: PS как Far делает..


PS
как Far делает

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1220
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.04.19 15:37. Заголовок: Теперь понятно, буду..


Теперь понятно, буду иметь ввиду.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1221
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 25.04.19 08:53. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлен новый плагин для hbp - предварительная версия. Он прописан в ini в секции [LANG_HBP], поэтому запускается автоматически при открытии .hbp файла. Он подменяет панель статуса на простенькое меню, в котором пока две опции: список файлов проекта (можно выбрать любой для редактирования) и сборка проекта - в дальнейшем после сборки планируется открыть дпполнительное окно со списком ошибок.
Добавлен Ctrl-X для cut selected.
В секцию [START] ini-файла добавлена опция maximize: если On, то редактор при старте раскрывается на весь экран.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2460
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.04.19 11:20. Заголовок: alkresin пишет Добав..


alkresin пишет
 цитата:
Добавлен новый плагин для hbp - предварительная версия


Может этот плагин учесть кодировку части (всех) prg в utf8, а сборка не уникодная в указанной CodePage ?
Или его переписывать надо, под себя ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2461
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.04.19 11:27. Заголовок: PS В секции можно о..


PS
В секции [START] можно определить загружаемый файл и если это hbp, возможность сразу выдать список по Ctr+F ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2462
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.04.19 11:31. Заголовок: PPS Возможно ли, доб..


PPS
Возможно ли, добавить в hbp, через спец. коментарий, добавляемые другие файлы в список Ctrl+F ?
Это ini, cfg, текстовые шаблоны, ..., относящиеся к работе с проектом.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2463
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.04.19 11:39. Заголовок: PPS Возможность имет..


PPS
Возможность иметь в hbp добавить спец. коментарий, как SEPARATOR, для визуального разделения в меню файлов по Ctrl+F

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2464
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.04.19 12:53. Заголовок: SergKis пишет В секц..


SergKis пишет
 цитата:
В секции [START] можно определить загружаемый файл и если это hbp, возможность сразу выдать список по Ctr+F ?


В реальности загружать файл hbp не надо, надо только список, желательно, с комментарием, добавленным к prg и датой последней модификации.
Попробовал у себя создать схему своей работы
- файлы в utf8
- сборка не уникодная
- список файлов проекта
выходит, если делаю ext=.hbp.hbi , т.е hbi - файл проекта для меню, hbp для сборки в др. месте (подкаталоги)
cmd делаю с перемещением utf8 prg -> Codepage, т.е. программа делает перекодировку, если prg utf8 или перезапись если нет и только потом работа hbmr2 или другого вызываемого cmd
Т.е. хочу сказать, желательно иметь (что бы не писать свои исполнители для перекодировки) в hbedit ключи "тихого" пакетного исполнения для перезаписи с кодировкой

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1222
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 25.04.19 16:40. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может этот плагин учесть кодировку части (всех) prg в utf8, а сборка не уникодная в указанной CodePage ?


Честно говоря, даже думать на эту тему не хочется). Если надо, добавьте это туда для себя.

 цитата:
В секции [START] можно определить загружаемый файл и если это hbp, возможность сразу выдать список по Ctr+F ?


Файл - да, можно. Учитывая, что ini может быть из текущего каталога, в этом есть определенная логика. Можно и список файлов там (в ini) указать.
Но вот выводить автоматом список файлов при старте мне не нравится. Может, я просто отредактировать этот hbp хочу, или мне надо начать с поиска...

 цитата:
Возможно ли, добавить в hbp, через спец. коментарий, добавляемые другие файлы в список Ctrl+F ?
... Возможность иметь в hbp добавить спец. коментарий, как SEPARATOR


Думаю, да.

 цитата:
В реальности загружать файл hbp не надо, надо только список


В реальности hbedit - это текстовый редактор и он должен уметь отредактировать hbp.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2465
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.04.19 18:00. Заголовок: alkresin пишет Но во..


alkresin пишет
 цитата:
Но вот выводить автоматом список файлов при старте мне не нравится. Может, я просто отредактировать этот hbp хочу, или мне надо начать с поиска...


Возможно в [START] это, действительно, не очень нужно (хотя запуск без параметров со стартовым списком файлов удобен), а вот в параметрах запуска - вполне. В Far на F2 меню несколько пунктов с разными файлами (меню) проектов создать для запуска нужного в работе, то же удобно.

 цитата:
В реальности hbedit - это текстовый редактор и он должен уметь отредактировать hbp.


Но у него хорошие возможности быть больше чем редактором (редакторов достаточно).
На своей схеме работы показал, что файл hbp и реальный файл проекта (по списку файлов) это разные вещи.
Т.е. для меню использовал копию hbp -> hbi
Врляд ли стоит забивать мусором реальный hbp, (У Андрея, в простом примере только 20 строк файлов).
У меня средний проект (модуль) содержит 3.5 экрана browse x 27 строк на экране и это только prg.
Таких модулей в задаче 10, причем используют либу, создаваемую главным модулем.
Модуль - это список типа hbp.

 цитата:
Честно говоря, даже думать на эту тему не хочется). Если надо, добавьте это туда для себя.


В hbedit уже все есть для перекодировки, нет только параметров запуска. Вариант простой
- на входе utf8 -> перекодируем в Codepage указанный, имена файлов на входе, выходе
- на входе CodePage -> перекодируем в Utf8, т.е. перекодировки CodPage1 -> CodePage2 через Utf8
- можно добавить параметр -dt , по которому переписывать с кодировкой, если время, дата файлов не равны,
после перезаписи устанавливать время,дату выходного равную входному
С такими командами в cmd можно городить любые сборки, для языковых программ.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2466
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.04.19 09:12. Заголовок: alkresin Возможно, ..


alkresin
Возможно, надо в параметры добавить кодировку открываемого файла.
Вот пример работы проекта на каталоги MiniGui https://TransFiles.ru/8d1h3
В нем поставил использование hbedit вместо Notepad3 (Подкаталог ED)
В ini поставил кодировку RU1251, т.к. все на EN, но есть примеры с русскими комментариями.
Добавил проект\каталог hbedit-master, для работы с ним, надо RU866 и лучше ее задать параметром.
Установка
- скачиваем и устанавливаем hmg 19.04
- скаченный пример помещаем в подкаталог UTILS\hmg_project
- скаченный hbedit-master помещаем подкаталог SAMPLES\hbedit-master
- запускаем из UTILS\hmg_project demo.exe

Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 827
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 28.04.19 15:45. Заголовок: alkresin Чтобы пр..


alkresin

 цитата:

Чтобы при открытии , окно было распахнуто
В смысле, на весь экран? Могу добавить в hbedit.ini такую опцию, если надо.


Да, добавьте, пожалуйста

 цитата:

По умолчанию стоял какой-то ранее выбранный синтаксис, к примеру, prg

Так при открытии файла .prg автоматом устанавливается соответствующий синтаксис...


Я и формы с расширением fmg в редакторе открываю

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2481
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.04.19 08:34. Заголовок: alkresin Пожелание ..


alkresin
Пожелание к hbedit, иметь режим (по установке или всегда), если файл уже загружен, повторные загрузки в новом или том же окне, давать в ReadOnly с отметкой режима, к примеру, цвет фона другой или отметка в строке состояния

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2482
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.04.19 09:19. Заголовок: PS иметь возможность..


PS
иметь возможность выполнить hb_MacroBlock вместо плагина при запуске, для вызова меню на клавишу, к примеру
[START]
plugin= &( _PushKey(<код нажатой клавиши>, <Ctrl нажат\нет>, <Shift нажат\нет>, <Alt нажат\нет>), ;
_PushKey(<код нажатой клавиши>, <Ctrl нажат\нет>, <Shift нажат\нет>, <Alt нажат\нет>), ... )

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1224
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.04.19 09:40. Заголовок: Vlad04 пишет: Да, д..


Vlad04 пишет:

 цитата:
Да, добавьте, пожалуйста


Так уже добавлено неделю назад.

 цитата:
Я и формы с расширением fmg в редакторе открываю


Тогда в ini, секция [LANG_PRG] добавьте в ext нужные расширения:
ext=.prg.fmg

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1225
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.04.19 09:43. Заголовок: SergKis пишет: Поже..


SergKis пишет:

 цитата:
Пожелание к hbedit, иметь режим (по установке или всегда), если файл уже загружен, повторные загрузки в новом или том же окне


Сейчас hbedit при попытке повторно отрыть тот же файл просто переключает окно.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1226
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.04.19 09:51. Заголовок: Обновлен hbedit. Реа..


Обновлен hbedit.
Реализована возможность добавления новых окон редактора на экран - для вывода результатов компиляции, например.
Теперь плагины plug_hbp_init и plug_prg_run используют эту возможность. Если, например, plug_hbp_init по Ctrl-L выявлены ошибки компиляции, появляется дополнительное окно (текущее при этом уменьшается) со списком ошибок и при нажатии Enter (или двойном щелчке) на строке с ошибкой открывается соответствующий файл на нужной строке.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1227
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.04.19 09:58. Заголовок: SergKis пишет: имет..


SergKis пишет:

 цитата:
иметь возможность выполнить hb_MacroBlock вместо плагина при запуске, для вызова меню на клавишу, к примеру
[START]
plugin= &( _PushKey(<код нажатой клавиши>, <Ctrl нажат\нет>, <Shift нажат\нет>, <Alt нажат\нет>), ;
_PushKey(<код нажатой клавиши>, <Ctrl нажат\нет>, <Shift нажат\нет>, <Alt нажат\нет>), ... )


Сделать-то можно, но учтите, что ini-файл имеет определенный формат, который предусматривает, в частности, одну строку на каждую опцию.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2484
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.04.19 11:13. Заголовок: alkresin пишет Сейча..


alkresin пишет
 цитата:
Сейчас hbedit при попытке повторно отрыть тот же файл просто переключает окно.


Я знаю и др. редакторы делают закладку или в новом окне открывают, но все в режиме редактирования и при модификации всех повторно открытых, сообщают об изменениях. Хотелось бы избежать случайных изменений повторно открытых файлов (открыты для просмотра в разных местах)

 цитата:
Сделать-то можно, но учтите, что ini-файл имеет определенный формат, который предусматривает, в частности, одну строку на каждую опцию.


Это понятно. Нажать нужно, к примеру, F9 и 9 или a, или сразу F11

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2485
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.04.19 11:21. Заголовок: alkresin пишет Сейча..


alkresin пишет
 цитата:
Сейчас hbedit при попытке повторно отрыть тот же файл просто переключает окно.


hbedit.exe h_tbrowse.prg
hbedit.exe h_tbrowse.prg
hbedit.exe h_tbrowse.prg
Открывают 3и новых окна и это хорошо, т.к. хочу через F11 открыть их в разных местах и только 1ый менять и запуски со второго вкл. автоматом в ReadOnly режиме

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2486
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.04.19 11:26. Заголовок: PS Режим запуска hb..


PS
Режим запуска
hbedit.exe h_tbrowse.prg h_tbrowse.prg h_tbrowse.prg
возможен, но менее интересен, т.к. просмотр в одном окне Ctrl+TAB переключая, на разных окнах их можно раздвинуть по экрану, что производительнее

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2487
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.04.19 11:54. Заголовок: PPS Можно сделать со..


PPS
Можно сделать собственный набор пунктов меню F9 через ini ?
Из того что есть в работе нужны 9 и a, остальные пункты как help с возможностью выбора и выполнения с него или убрать в какое то подменю (один пункт как "Other")

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2488
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.04.19 12:10. Заголовок: alkresin пишет появл..


alkresin пишет
 цитата:
появляется дополнительное окно (текущее при этом уменьшается) со списком ошибок


А можно этот режим перевести в отдельное, новое окно в указанных размерах, координатах в ini, не трогая основное окно ? К примеру в секции [START] и все ошибки (и run процессов на hbp) выдавать в нем

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2489
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.04.19 12:15. Заголовок: PS Еще лучше координ..


PS
Еще лучше координаты этого окна запоминать при выходе из него, т.е. подвинули в нужное место посмотрели, вышли, координаты запомнились. Следующий запуск в этих Y, X

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2490
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.04.19 13:17. Заголовок: SergKis пишет А можн..


SergKis пишет
 цитата:
А можно этот режим перевести в отдельное, новое окно в указанных размерах, координатах в ini


Хорошо бы для этого окна размер фонта установить другой не 12, как в [SCREEN], а 10 или 9

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1228
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.04.19 14:05. Заголовок: SergKis пишет: hbed..


SergKis пишет:

 цитата:
hbedit.exe h_tbrowse.prg
hbedit.exe h_tbrowse.prg
hbedit.exe h_tbrowse.prg
Открывают 3и новых окна и это хорошо, т.к. хочу через F11 открыть их в разных местах и только 1ый менять


А, так вы имеете ввиду запуск разных экземпляров hbedit...
Отслеживать наличие запущенных hbedit я не планирую. Что могу сделать - так это добавить ключ командной строки, чтобы файл открывался в readonly.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1229
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.04.19 14:07. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно сделать собственный набор пунктов меню F9 через ini ?


Можно - через стартовый плагин.

 цитата:
А можно этот режим перевести в отдельное, новое окно в указанных размерах, координатах в ini, не трогая основное окно ?


Вы имеете ввиду - запустить новый экземпляр hbedit?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2491
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.04.19 15:17. Заголовок: alkresin пишет Вы им..


alkresin пишет
 цитата:
Вы имеете ввиду - запустить новый экземпляр hbedit?


Да, это удобнее, чем менять основное окно. Был опыт такой работы - не понравилось.

 цитата:
Отслеживать наличие запущенных hbedit я не планирую. Что могу сделать - так это добавить ключ командной строки, чтобы файл открывался в readonly


Жаль, через мутекс на полное имя файла, вроде не сложно

 цитата:
Можно - через стартовый плагин.


И снова жаль.
Большой опыт работы в VO со скриптами .vos (аналог prg), *.vox (условный аналог hrb) при построении задач.
Убирал *.vox в ресурсную dll, но то, что выносилось, как плагины, клиенту (или нашему человеку) для ведения\исправления немного под конкретную ситуацию рабочего места (каталога), со временем превратилось в большую головную боль, начиная с простого - собрать в библиотеку на клиента, анализировать изменения, ... Вопрос возник в связи с переходом на hb.
Писать плагины, пока, не входит в планы для lang_prg, как и собирать сам hbedit.exe - не вижу смысла.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1230
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.04.19 09:31. Заголовок: SergKis пишет: Да, ..


SergKis пишет:

 цитата:
Да, это удобнее, чем менять основное окно. Был опыт такой работы - не понравилось.


Мне больше нравится так, как сделал. Кроме того, такой вариант невозможен при удаленной работе по ssh.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1231
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.04.19 09:36. Заголовок: Обновлен hbedit. В м..


Обновлен hbedit.
В меню добавлена возможность поиска - сейчас это сделано для списка функций, где количество функций превышает 36 и при навигации по файлам/каталогам (F4).
Добавлен ключ командной строки -ro - открывать указанные файлы в readonly режиме. При этом в панели состояния вместо Edit стоит View.
Добавлена команда x (и, соответственно, [0...9]x) для Vim-mode.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1232
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 01.05.19 09:53. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлены команды Vim-mode: f,F,*
В диалоги поиска и поиска/замены подставляются предыдущие значения.
В меню/списки добавлена поддержка мышиного колеса.
Запоминается последний каталог при открытии файла.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2492
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.05.19 14:00. Заголовок: alkresin Рабочие кл..


alkresin
Рабочие клавиши в редакторах
Ctrl+N - New file edit (чистое\новое окно редактора, как запуск hbedit без параметра имя файла)
Ctrl+O - Open file (запрос на файл F4 в F9)
Ctrl+S - Save file (альтернатива F2 в F9)

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1233
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 01.05.19 15:10. Заголовок: SergKis пишет: Рабо..


SergKis пишет:

 цитата:
Рабочие клавиши в редакторах


Знаю, а еще в Windows-редакторах для поиска используется обычно Ctrl-F, а не F7.
Я думал на эту тему, но, в конце концов, решил приберечь эти клавиши (Ctrl-N и пр.) для чего-нибудь более полезного.
А за основу я брал Far и mc. Там, и не только там, сохранение именно по F2 - и ничего, мы с этим живем).
Хотелось бы, конечно, чтобы набор клавиш был максимально знакомым, но сохранить совместимость со всеми редакторами нельзя - просто потому, что они разные.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2493
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.05.19 16:40. Заголовок: alkresin пишет Там, ..


alkresin пишет
 цитата:
Там, и не только там, сохранение именно по F2 - и ничего, мы с этим живем).


Живем, но кто то привык к др. комбинациям клавиш, к примеру, F3 - Save и т.д.
Может сделать таблицу ключа и выполнения, что бы набрать удобную, под себя, комбинацию.
Возможность отключить Vim, никогда не использовался и не будет в силу привычки.
Не увидел, как сделать вариант New file при загруженном уже др. файле.

Как убрать строку меню (без нее), нажимая кл. F9.
Попросил товарища собрать для меня (давно не работал) gtwvt вариант сборки с Main menu и StatusBar и пытаться встроить в окно hbedit

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2494
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.05.19 17:28. Заголовок: alkresin пишет Знаю,..


alkresin пишет
 цитата:
Знаю, а еще в Windows-редакторах для поиска используется обычно Ctrl-F, а не F7


Еще Ctrl+R и перечисленные выше - это рабочие клавиши. Linuks и Mac (еще можно встретить) в нашей нет от слова совсем. С Far редактором не работают (кроме нескольких человек). Показал hbedit 2м людям - полный ступор, как работать

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2495
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.05.19 17:30. Заголовок: PS в нашей деревне ..


PS
в нашей деревне нет от слова совсем.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2496
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.05.19 19:27. Заголовок: SergKis пишет Не уви..


SergKis пишет
 цитата:
Не увидел, как сделать вариант New file при загруженном уже др. файле.


УПС.
Нашел Shift+F4

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2497
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.05.19 22:50. Заголовок: alkresin Товарищ со..


alkresin
Товарищ собрал пробный вид, куда хотелось бы встроить hbedit. Тут https://TransFiles.ru/kvd95
Как это правильно сделать ?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1234
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.05.19 09:48. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может сделать таблицу ключа и выполнения, что бы набрать удобную, под себя, комбинацию.


Может быть, подумываю об этом.

 цитата:
Возможность отключить Vim, никогда не использовался и не будет в силу привычки.


Да, имеет смысл, чтоб не пугать условных менеджеров/экономистов - они, действительно, вряд ли будут когда-нибудь его использовать.

 цитата:
Как убрать строку меню (без нее), нажимая кл. F9.


Вы имеете ввиду верхнюю строку, панель статуса? Программно она отключается при вызове TEdit():New(cText, cFileName, y1, x1, y2, x2, cColor, lTopPane) - lTopPane должен быть .F.

 цитата:
Показал hbedit 2м людям - полный ступор, как работать


И что же там может повергнуть в ступор? Я понимаю, если бы Vim-режим был ыключен по умолчанию, а так - жми на клавиши и вводи себе текст, как во всех редакторах...

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1235
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.05.19 09:54. Заголовок: SergKis пишет: Това..


SergKis пишет:

 цитата:
Товарищ собрал пробный вид, куда хотелось бы встроить hbedit.


Я не знаком с синтаксисом wvt_AppendMenu(), что-то не нашел этой функции нигде в Harbour. Где там указывается действие, соответствующее пункту меню?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2498
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 10:07. Заголовок: alkresin пишет Я не ..


alkresin пишет
 цитата:
Я не знаком с синтаксисом wvt_AppendMenu(), что-то не нашел этой функции нигде в Harbour. Где там указывается действие, соответствующее пункту меню?


Описание своих ф-и wvt (товарищ дорабатывал gtwvt еще в hb 2.0) Скрытый текст


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2499
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 10:29. Заголовок: PS обработчик ставит..


PS
обработчик ставится на SetKey() или ловится в nKey := inkey(0, ..._ALL)
По StatusBar
 
METHOD WriteTopPane( lClear ) CLASS TEdit
...
IF HB_ISBLOCK(::WriteTopPane)
EVal(::bWriteTopPane, Self)
RETURN Nil
ENDIF

IF ::lTopPane
...

что то в таком духе, наверно

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2500
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 10:40. Заголовок: alkresin пишет lTopP..


alkresin пишет
 цитата:
lTopPane должен быть .F.


Спасибо, нашел.

 цитата:
И что же там может повергнуть в ступор?


Интерфейс, такого нет уже очень давно.
Работа все время через несколько клавиш, т.е.
- F9, 9, 0
- F11, 0
- частичное соответствие комбинациям клавиш windows (сбиваются), т.е. все действия получаются через F9

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1236
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.05.19 10:44. Заголовок: SergKis пишет: обра..


SergKis пишет:

 цитата:
обработчик ставится на SetKey() или ловится в nKey := inkey(0, ..._ALL)


Здесь события ловятся Inkey( 0, HB_INKEY_ALL + HB_INKEY_EXT ) - принимаются и обрабатываются расширенные коды. Так, например код F2 не -1, а 0x41000002. Попробуйте использовать в wvt_AppendMenu() именно эти коды.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2501
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 11:55. Заголовок: alkresin пишет Попро..


alkresin пишет
 цитата:
Попробуйте использовать в wvt_AppendMenu() именно эти коды.


Попробовал, не помогло, т.е.
 
wvt_AppendMenu( hMnu1, "Open file " + c9 + "F4", 1090519044 )
wvt_AppendMenu( hMnu1, "Menu " + c9 + "F9", 1090519049 )
...
/*
i := 0
j := ''
DO WHILE i < 10
k := Inkey( 0, HB_INKEY_ALL + HB_INKEY_EXT )
n := hb_keyStd( k )
i++
? i, k, n
j += hb_ntos(n)+c9+hb_ntos(k) + chr(13)+chr(10)
ENDDO
hb_memowrit('_.txt', j)
*/

Если убираю коментарии, то ловятся коды как надо и K_F4 и K_F9

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1237
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.05.19 12:47. Заголовок: SergKis пишет: Попр..


SergKis пишет:

 цитата:
Попробовал, не помогло,


Тогда ставьте bOnkey:

oEdit:bOnkey := {|o,n| mykeyhandler( o,n )}

и в этом mykeyhandler() можно посмотреть, какие коды (n) приходят при выборе пункта меню. Скорее всего, это будут чистые K_F2 и пр.
В этом случае в том же mykeyhandler() их надо подменить на расширенные:
IF n == K_F2 
RETURN 0x41000002
ELSEIF ...
ELSE
RETURN 0
ENDIF


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2502
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 13:16. Заголовок: alkresin пишет Тогда..


alkresin пишет
 цитата:
Тогда ставьте bOnkey:
oEdit:bOnkey := {|o,n| mykeyhandler( o,n )}


Имеется в виду эти места ? Или другое
 
FOR i := 1 TO Len( aFiles )
TEdit():New( Iif(!Empty(aFiles[ i ]),Memoread(aFiles[ i ]),""), aFiles[ i ], 0, 0, nScreenH-1, nScreenW-1 )
ATail(TEdit():aWindows):bOnkey := {|o,n| mykeyhandler( o,n )}

IF lRO
ATail(TEdit():aWindows):lReadOnly := .T.
ENDIF
NEXT

IF Empty( TEdit():aWindows )
TEdit():New( "", "", 0, 0, nScreenH-1, nScreenW-1 )
ATail(TEdit():aWindows):bOnkey := {|o,n| mykeyhandler( o,n )}

IF lRO
ATail(TEdit():aWindows):lReadOnly := .T.
ENDIF
ENDIF


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2503
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 14:59. Заголовок: alkresin Сделал как..


alkresin
Сделал как выше, только вывел в log что приходит
 
bBlk := {|o,n|
ToLog(.T., 'nKey =', n, hb_keyStd(n))
Return 0
}

получил Скрытый текст

на меню не реагирует

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1238
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.05.19 15:15. Заголовок: SergKis пишет: это ..


SergKis пишет:

 цитата:
это через меню


При нажатии одного пункта меню?
1001 - это K_MOUSEMOVE, 1003 - K_LBUTTONUP, 1004 - K_RBUTTONDOWN.
Немного непонятно, где K_LBUTTONDOWN и при чем тут K_RBUTTONDOWN, но, в целом, ясно, что вы переместили мышь и щелкнули.
Кстати, вы вернули коды в wvt_AppendMenu() обратно на простые (не расширенные) ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2504
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 16:55. Заголовок: alkresin пишет Кстат..


alkresin пишет
 цитата:
Кстати, вы вернули коды в wvt_AppendMenu() обратно на простые (не расширенные) ?


Нет, стоят расширенные.
Но они через меню не пройдут, как выяснилось (поговорил с товарищем), ограничения win api на число в 2а байта.
А тут четыре, т.е. расширенные из меню не пройдут. Посмотрел в более спокойной обстановке - это так.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1239
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.05.19 17:43. Заголовок: Ну тогда надо вернут..


Ну тогда надо вернуть простые и все должно работать.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2505
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 17:52. Заголовок: alkresin пишет Ну то..


alkresin пишет
 цитата:
Ну тогда надо вернуть простые и все должно работать.


Работают, вызывают окна при выборе пункта меню (это все через расширенные коды)
 
wvt_AppendMenu( hMnu1, "Open file " + c9 + "Ctrl+F4", K_CTRL_F4 )
wvt_AppendMenu( hMnu1, "Find " + c9 + "Ctrl+F7", K_CTRL_F7 )

Не работают F11, Shift+F8, Shift+F2


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1240
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.05.19 19:09. Заголовок: Ну а что получает bO..


Ну а что получает bOnKey, если отбросить мышиные события?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2506
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 19:24. Заголовок: bBlk := {|..


 
bBlk := {|o,n|
ToLog(.T., 'nKey =', n, hb_keyStd(n))
Return 0
}
результат по нажатиям клавиш в лог
========================= это по нажатию клавиш F4, Esc, F9, Esc, Esc - выход

nKey = 1103 1103
nKey = 1157632003 1001
nKey = 1090519044 -3
nKey = 1090519049 -8
nKey = 1090519065 27

n (первая колонка после nKey =) приходит в расширенном виде, вторая колонка реал. код клавиши

Получается, при расширенном коде, что проходит в меню item в 2а байта, срабатыват, нет игнорируется

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2507
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 19:29. Заголовок: т.е. K_CTRL_F4 и K_C..


т.е. K_CTRL_F4 и K_CTRL_F7 уложились в 2а байта, потому и выполнились - окна запросов open file и find появились

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1241
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.05.19 20:20. Заголовок: Ну, вообще говоря, п..


Ну, вообще говоря, поскольку у вас есть bOnKey, вы можете подавать туда любые коды.
Т.е., не обязательно привязываться к реальным кодам, расширенным или нет, можно подать любой код, а в bOnKey прописать его обработку.
Главное, чтобы этот код не совпадал с чем-то существующим и нужным.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2508
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 21:21. Заголовок: alkresin пишет Т.е.,..


alkresin пишет
 цитата:
Т.е., не обязательно привязываться к реальным кодам, расширенным или нет, можно подать любой код, а в bOnKey прописать его обработку.


Сделал в меню коды
 
bBlk := {|o,n|
Local k := 0
If n == 30101; k := K_CTRL_F4
ElseIf n == 30102; k := K_CTRL_F7
ElseIf n == 30103; k := K_SH_F2
ElseIf n == 30104; k := K_SH_F8
EndIf
ToLog(.T., 'nKey =', n, hb_keyStd(n), k)
Return k
}
Значения k < 0, не учтено тут (красным добавил)
IF !Empty( ::bOnKey )
i := Eval( ::bOnKey, Self, nKeyExt )
IF i == - 1
RETURN Nil
ELSEIF i > 0
nKeyExt := i
nKey := hb_keyStd(nKeyExt)
ELSEIF i < 0
nKey := i

ENDIF
ENDIF
что делать с nKeyExt не знаю, ниже по коду проверки nKeyExt на Alt, Ctrl
с правкой сработали назначения на Shift+... - вывелись соответствующие окна, Ctrl+... не сработали


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2509
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.05.19 21:41. Заголовок: PS K_F2 -> -1 ту..


PS
K_F2 -> -1
тут проверка на -1
 
i := Eval( ::bOnKey, Self, nKeyExt )
IF i == - 1
RETURN Nil



Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1242
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.05.19 08:44. Заголовок: bOnKey должен возвра..


bOnKey должен возвращать расширенные коды.
TEdit():OnKey() проверяет наличие бита, соответствующего нажатому Ctrl в расширенном коде, так как Клипперовские коды для ряда клавиш совпадают, например, Up arrow и Ctrl-E, Down arrow и Ctrl-X, ...
SergKis пишет:

 цитата:
Значения k < 0, не учтено тут (красным добавил)


А почему они должны быть < 0 (кроме -1)?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1243
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.05.19 08:54. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена поддержка макросов.
Добавлена возможность переопределения клавиш через ini-файл: опция keymap а [OPTIONS], например:
keymap=Ctrl-N=>Shift-F4,Ctrl-O=>Ctrl-F4

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2510
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.05.19 08:57. Заголовок: alkresin пишет bOnKe..


alkresin пишет
 цитата:
bOnKey должен возвращать расширенные коды.


Подскажите, как перевести реал. коды клавиш в расширенные, буду переводить

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1244
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.05.19 09:40. Заголовок: Для себя написал мал..


Для себя написал маленькую программку:
#include "hbgtinfo.ch" 
#include "inkey.ch"

FUNCTION main
LOCAL nkey, nkeyExt

? hb_gtVersion( 1 ), "GT" + hb_gtVersion()
? "Host codpage: " + hb_cdpSelect()
DO WHILE .T.
nKeyExt := Inkey( 0, HB_INKEY_ALL + HB_INKEY_EXT )
nkey := hb_keyStd( nKeyExt )
? nKey, " ext: 0x" + hb_numToHex( nkeyExt, 8 ), hb_keyVal( nKeyExt )
IF nKey == 27
EXIT
ENDIF
ENDDO

RETURN Nil

Жму клавишу и смотрю код.
Другого способа нет. Расширенный код на то и расширенный, что там содержится информация, которой нет в простых кодах.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2511
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.05.19 10:17. Заголовок: alkresin пишет Для с..


alkresin пишет
 цитата:
Для себя написал маленькую программку:


Может можно так обыграть, добавив
 
DATA lAlt INIT .F.
DATA lCtrl INIT .F.
DATA lShift INIT .F.
...
METHOD onKey( nKeyExt ) CLASS TEdit
...
IF !Empty( ::bOnKey )
::lAlt := ::lCtrl := lShift := .F.
i := Eval( ::bOnKey, Self, nKeyExt )
IF ::lAlt .or. ::lCtrl .or. lShift
nKey := i
ELSEIF i == - 1

RETURN Nil
ELSEIF i > 0
nKeyExt := i
nKey := hb_keyStd(nKeyExt)
ENDIF
ENDIF
...
IF !lSkip
lShift := ( hb_BitAnd( nKeyExt, SHIFT_PRESSED ) != 0 .AND. Ascan( aKeysMove, nkey ) != 0 ) .or. ::lShift
IF lShift
...
IF hb_BitAnd( nKeyExt, ALT_PRESSED ) != 0 .or. ::lAlt
...
IF hb_BitAnd( nKeyExt, CTRL_PRESSED ) != 0 .or. ::lCtrl
...
И в блоке кода ставить
bBlk := {|o,n|
Local k := 0
If n == 30101; k := K_CTRL_F4; o:lCtrl := .T.
ElseIf n == 30102; k := K_CTRL_F7; o:lCtrl := .T.
ElseIf n == 30103; k := K_SH_F2; o:lShift := .T.
ElseIf n == 30104; k := K_SH_F8; o:lShift := .T.
EndIf
Return k
}


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2512
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.05.19 10:23. Заголовок: PS В блок кода правк..


PS
В блок кода правку, наверно, надо
 
bBlk := {|o,n|
Local k := n

или n использовать без k переменной

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2513
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.05.19 10:26. Заголовок: PPS Правка ::lAl..


PPS
Правка
 
::lAlt := ::lCtrl := lShift := .F.
IF !Empty( ::bOnKey )
// ::lAlt := ::lCtrl := lShift := .F.


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1245
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.05.19 10:45. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может можно так обыграть, добавив


Зачем? Почему просто не передать расширенный код клавиши? Их в вашем меню всего ничего.
К тому же, :lctrl не спасет - не отделит, например, Ctrl-Left arrow от Ctrl-Z.
Если так трудно поставить несколько кодов, можете использовать новую функцию edi_KeyCToN( cKey ) - я добавил вчера спец.модуль для возможности переопределения клавиш, записи макросов и пр.:
edi_KeyCToN( "Ctrl-N" ), например.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2514
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.05.19 11:01. Заголовок: alkresin пишет Зачем..


alkresin пишет
 цитата:
Зачем? Почему просто не передать расширенный код клавиши? Их в вашем меню всего ничего.


В планах заменить + добавить все меню существующие, с учетом языковых текстов (англ., рус., латв.) перенеся на main menu по горизонтали и popup на них, а так же организовать меню на правый клик мыши + заменить окна консоли на окна windows варианта, которые в нашем варианте gtwvt есть (open file, save file, ...).
Выискивать соответствия кодов - отвык работать с консолью\wvt, где то 2011 г. когда "брал в руки шашки"
Функцию попробую, спасибо

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2515
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.05.19 14:23. Заголовок: alkresin С функцией..


alkresin
С функцией получилось заменить коды клавиш в блоке кода
 
bBlk := {|o,n|
If n == 30101; n := edi_KeyCToN( "Ctrl-F4" ) // K_CTRL_F4
ElseIf n == 30102; n := edi_KeyCToN( "Ctrl-F7" ) // K_CTRL_F7
ElseIf n == 30103; n := edi_KeyCToN( "Shift-F2" ) // K_SH_F2
ElseIf n == 30104; n := edi_KeyCToN( "Shift-F8" ) // K_SH_F8
EndIf
Return n
}

Для вывода в StatusBar добавил
DATA bWriteTopPane
...
METHOD WriteTopPane( lClear ) CLASS TEdit

LOCAL y := ::y1 - 1, nCol := ::nCol, nRow := ::nRow
LOCAL cLen := Ltrim(Str(Len(::aText))), nchars := Len(cLen)

IF Valtype( ::bWriteTopPane ) == 'B'
Eval( ::bWriteTopPane, Self, lClear )
ENDIF

IF ::lTopPane
...
и в hbedit.prg
...
FOR i := 1 TO Len( aFiles )
TEdit():New( Iif(!Empty(aFiles),Memoread(aFiles),""), aFiles, 0, 0, nScreenH-1, nScreenW-1, , .F. )
ATail(TEdit():aWindows):bOnKey := bBlk
ATail(TEdit():aWindows):bWriteTopPane := {|o,c| STBsay(o, c) }

IF lRO
ATail(TEdit():aWindows):lReadOnly := .T.
ENDIF
NEXT

IF Empty( TEdit():aWindows )
TEdit():New( "", "", 0, 0, nScreenH-1, nScreenW-1, , .F. )
ATail(TEdit():aWindows):bOnKey := bBlk
ATail(TEdit():aWindows):bWriteTopPane := {|o,c| STBsay(o, c) }

IF lRO
ATail(TEdit():aWindows):lReadOnly := .T.
ENDIF
ENDIF
...

Получил вывод данных по Statusbar item-ам

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2516
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.05.19 18:50. Заголовок: alkresin Как застав..


alkresin
Как заставить автоматом выполнить первую строку меню плагинов, т.е. клавишами
F11 -> меню -> 0 -> список функций файла prg
 
CASE K_F11
mnu_Plugins( Self )
::lTextOut := .T.
EXIT

т.е. создать команду меню
ElseIf n == 30105; n := <что то тут> // edi_KeyCToN( "Ctrl-F7" )

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1246
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.05.19 21:28. Заголовок: Я добавил функцию ed..


Я добавил функцию edi_RunPlugin( xPlugin ) - можно непосредственно запустить нужный плагин из списка в ini.
xPlugin - имя плагина или его номер в списке.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2517
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.05.19 21:46. Заголовок: alkresin пишет Я доб..


alkresin пишет
 цитата:
Я добавил функцию edi_RunPlugin( xPlugin )


т.е. делать так (в тек. версии функции нет)
ElseIf n == 30105; edi_RunPlugin( xName ); n := -1
Как узнать имя или номер плагина ?
Номер это из общего списка или списка на LANG_... тип ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2518
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.05.19 21:52. Заголовок: PS Понял, номер бере..


PS
Понял, номер берем из общего списка.
Что является именем ключ ini p1 = ... или элемент значения до первой запятой ?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1247
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.05.19 22:29. Заголовок: SergKis пишет: Что ..


SergKis пишет:

 цитата:
Что является именем ключ ini p1 = ... или элемент значения до первой запятой ?


Второе. Например, plug_prg_spis.hrb

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2519
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.05.19 22:51. Заголовок: Спасибо. Еще вопрос...


Спасибо.
Еще вопрос. Кол-во окон определяем Len( oEdit:aWindows )
Как получить номер текущего окна ?
Думаю подсветить в Statusbar, может и в строку с F9-Menu это надо сделать, что бы понимать где находимся при Ctrl+TAB

При поиске, на окне в поле текст selected, вставляю из clipboard, что искать и текст вставляется перед текстом, который selected, т.е. имеем оба текста

При выбора загружаемого, при пустом поле, по Enter получаем работу в новом пустом окне - типа режим new file, лучше открыть список файлов для выбора

Заметил, при повторном выборе того же файла для загрузки, загрузка не производится, переключаемся на загруженный ранее. Мне думается, это не правильно. Лучше загрузить повторно, но вкл. режим readonly.
Повторные загрузки удобны тем, что можно работать в разных местах текста, используя во всех список функций, имея возможность править первый загруженный. То же можно делать при групповой загрузке одного и того же файла (такой режим сейчас работает)

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1248
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.05.19 08:51. Заголовок: SergKis пишет: Как ..


SergKis пишет:

 цитата:
Как получить номер текущего окна ?


oEdit:nCurr

 цитата:
Заметил, при повторном выборе того же файла для загрузки, загрузка не производится, переключаемся на загруженный ранее. Мне думается, это не правильно.


Наверное, здесь надо поставить вставить вопрос (edi_Alert) с выбором вариантов: переключиться на открытое окно, создать новое окно, создать новое в readonly.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2521
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.05.19 09:30. Заголовок: alkresin пишет oEdit..


alkresin пишет
 цитата:
oEdit:nCurr


Спасибо.
Уже нашел и вывел в item к режиму как Wiin. Nr [ Max ]

 цитата:
Наверное, здесь надо поставить вставить вопрос (edi_Alert) с выбором вариантов: переключиться на открытое окно, создать новое окно, создать новое в readonly.


По мне, это лишнее, т.к. если произведена повторная загрузка, то она в view и не мешает, Заранее не знаю какие доп. файлы надо подгружать и сколько раз, определяется во время работы. К примеру, h_tbrowse.prg (~750 entity) беру в AkelPad для правки, по мере надобности загружаю 1 или 2 Far для просмотра в др. местах кода, если не хватает запускаю notepsd3, бывает еще доп. Far запускаю. Если переложить на hbedit, то лишние вопросы alert будут мешать. Вот цвет фона поменять для view режима, было бы хорошо

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2522
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.05.19 09:49. Заголовок: PS Пометить первый э..


PS
Пометить первый экземпляр загруженного файла в readony (edit->view) не с команды, а динамически - это надо, т.к. уже работаешь с каким то, а нужно с др. проекта подгрузить и закрыть от изменений

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2523
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.05.19 09:56. Заголовок: PPS Такие операции к..


PPS
Такие операции как переключить окно, поставить readonly, ... хорошо делать па правый клик повесив меню.
Не смотрел, есть в TEdit блок кода аналогичный :bOnKey

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1249
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.05.19 17:48. Заголовок: SergKis пишет: По м..


SergKis пишет:

 цитата:
По мне, это лишнее, т.к. если произведена повторная загрузка, то она в view и не мешает


Может случиться (со мной случается), что пользователь повторно открывает файл, просто забыв, что он уже открыт - в этом случае такой alert будет полезен.

 цитата:
Вот цвет фона поменять для view режима, было бы хорошо


Сейчас для readonly в панели статуса написано в правом углу View.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1250
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.05.19 17:51. Заголовок: Обновил hbedit (толь..


Обновил hbedit (только на github) - добавил сохранение макросов в his, bWriteTopPane и еще что-то по мелочи.
Сейчас придется переписать отдельные части для нормальной поддержки табуляции.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2526
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.05.19 21:03. Заголовок: alkresin Перенес на..


alkresin
Перенес назад вызов блока, т.к. у меня режим ::lTopPane := .F.
 
METHOD WriteTopPane( lClear ) CLASS TEdit

LOCAL y := ::y1 - 1, nCol := ::nCol, nRow := ::nRow
LOCAL cLen := Ltrim(Str(Len(::aText))), nchars := Len(cLen)

IF ::bWriteTopPane != Nil
Eval( ::bWriteTopPane, Self, y )
ENDIF

IF ::lTopPane
DispBegin()
SetColor( ::cColorPane )
Scroll( y, ::x1, y, ::x2 )
IF Empty( lClear )
// IF ::bWriteTopPane != Nil
// Eval( ::bWriteTopPane, Self, y )
// ELSE
...


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2527
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.05.19 10:10. Заголовок: alkresin Как узнать..


alkresin
Как узнать, какой LANG_... (тип синтаксиса) у конкретного oEdit ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2528
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.05.19 10:29. Заголовок: PS Как получить спис..


PS
Как получить список плагинов на конкретный oEdit, т.е. LANG_... (тип синтаксиса) ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2529
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.05.19 17:35. Заголовок: SergKis пишет Как уз..


SergKis пишет
 цитата:
Как узнать, какой LANG_... (тип синтаксиса) у конкретного oEdit ?
Как получить список плагинов на конкретный oEdit, т.е. LANG_... (тип синтаксиса) ?


Разобрался:
1. oEdше:cSyntaxType, подсветил у режима
2. надо получать на базе ф-ии mnu_Plugins( oEdit )

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1251
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.05.19 09:14. Заголовок: SergKis пишет: т.к...


SergKis пишет:

 цитата:
т.к. у меня режим ::lTopPane := .F.


А смысл?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2530
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.05.19 10:36. Заголовок: alkresin пишет А смы..


alkresin пишет
 цитата:
А смысл?


Нет строки отображения по :lTopPane == .T.
Есть Main menu и StatusBar
Пример тут https://TransFiles.ru/esw5h

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2531
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.05.19 10:47. Заголовок: PS Еще, по возможнос..


PS
Еще, по возможности максимально переведутся режимы hbedit на меню по правой кнопке мыши

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2532
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.05.19 10:51. Заголовок: PPS Имеется ввиду ме..


PPS
Имеется ввиду меню виндосовское по wvt_TrackPopupMenu( hMnu )

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2533
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.05.19 12:16. Заголовок: alkresin пишет А смы..


alkresin пишет
 цитата:
А смысл?


1. Что бы линии с F9-Menu не было никогда, сейчас она появляется после загрузки Open file
2. Кол-во строк на экране можно было сделать на строку меньше, т.е. MaxRow()-1, т.к. StatusBar съедает от клиентской области 1 строку

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2534
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.05.19 10:12. Заголовок: alkresin 1. Постави..


alkresin
1. Поставил значение
DATA lTopPane INIT .F. // .T.
строка с F9-Menu не прорисовывается, в параметрах для :New(..., .F.) указывать не надо. Все как хотелось. Осталось найти, как\где уменьшить кол-во строк на экране. Подозреваю, что это oEdit:y2, пока не проверял.

2. Ctrl+Y удаляет строку но перескакивает на несколько строк ниже, к примеру, удаляем 59, перескок на 62 и т.д.
3. Ставлю на входе в hbedit.prg
 
IF Empty( TEdit():aWindows )
TEdit():New( "", "", 0, 0, nScreenH-1, nScreenW-1, , lTopPane )
IF lRO
ATail(TEdit():aWindows):lReadOnly := .T.
ENDIF
ENDIF

FOR i := 1 TO Len( TEdit():aWindows )
TEdit():aWindows[ i ]:bOnKey := {|o,n| EdOnKey(o, n) }
TEdit():aWindows[ i ]:bWriteTopPane := {|o,n| StBline(o, n) }
NEXT

IF nStartLine != Nil

С загруженными все работает.
Делаю Open file или New file для них, новых, не работает, нет установки этих блоков.
Т.е. переключаю (Crtl+TAB) на загруженный ранее при входе - работают блоки, на новые переключаю - не работают, блоков кода у них нет. Это видно в представленном примере hbedit выше.
Думаю поставить значения блоков в DATA bOnKey, bWriteTopPane т.е.
DATA bOnKey INIT {|o,n| EdOnKey(o, n) }
DATA bWriteTopPane INIT {|o,n| StBline(o, n) }
Или не стоит так делать ?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1252
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.05.19 12:06. Заголовок: Есть еще кодоблок :b..


Есть еще кодоблок :bNew - это CLASS VAR, отрабатывает при открытии каждого файла. Можно (и лучше) устанавливать bonkey и bWriteTopPane там.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2536
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.05.19 13:09. Заголовок: alkresin пишет Есть ..


alkresin пишет
 цитата:
Есть еще кодоблок :bNew - это CLASS VAR, отрабатывает при открытии каждого файла. Можно (и лучше) устанавливать bonkey и bWriteTopPane там.


Это верно для 2го oEdi и далееt, для первого bNew не установить, т.к. выполняется он в :New(...) и больше нигде.
Если выделить установки и расчет координат в др. метод, к примеру :Def(), то тогда да
oE :=TEdit():New(...)
oE:bOnKey := ...
oE:bWriteTopPane := ...
oE:lTopPane := .F.
oE:Def()

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1253
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.05.19 15:21. Заголовок: SergKis пишет: Это ..


SergKis пишет:

 цитата:
Это верно для 2го oEdi и далееt, для первого bNew не установить,


Почему?
Это же CLASS VAR, я специально отметил. Просто пишете до появления первых объектов редактора:
TEdit():bNew := ...

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2537
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.05.19 18:34. Заголовок: alkresin пишет Прост..


alkresin пишет
 цитата:
Просто пишете до появления первых объектов редактора


Спасибо, почти все получилось
 
DATA lTopPane INIT .T.
hbedit.prg
...
TEdit():bNew := {|oe| oe:lTopPane := .F., ;
oe:bOnKey := {|o,n| EdOnKey(o, n) }, ;
oe:bWriteTopPane := {|o,n| StBline(o, n) } }
nScreenH -= 1

FOR i := 1 TO Len( aFiles )
TEdit():New( Iif(!Empty(aFiles),Memoread(aFiles),""), aFiles, 0, 0, nScreenH-1, nScreenW-1, , .F. )
IF lRO
ATail(TEdit():aWindows):lReadOnly := .T.
ENDIF
NEXT

IF Empty( TEdit():aWindows )
TEdit():New( "", "", 0, 0, nScreenH-1, nScreenW-1, , .F. )
IF lRO
ATail(TEdit():aWindows):lReadOnly := .T.
ENDIF
ENDIF
...

Загруженные сразу при запуске hbedit.exe 3и файла перемещение курсора вверх\вниз - все ok
New file + добавляем строки, перемещение курсора вверх\вниз до 1ой строки, т.е курсор во 2ой
Open file перемещение курсора вверх\вниз до 1ой строки, т.е курсор во 2ой
Ctrl+TAB на загруженные при старте,New file + добавляем строки, перемещение курсора вверх\вниз - все ok
Ставлю
DATA lTopPane INIT .F.
Все ok во всех режимах выше

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2538
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.05.19 18:38. Заголовок: PS читать Ctrl+TAB ..


PS
читать
Ctrl+TAB на загруженные при старте,New file + добавляем строки, перемещение курсора вверх\вниз - все ok

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2539
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.05.19 19:06. Заголовок: PPS сделал так T..


PPS
сделал так
 
TEdit():bNew := {|oe| oe:lTopPane := .F., oe:y2 := MaxRow()-1, oe:y1 := 0, ;
oe:bOnKey := {|o,n| EdOnKey(o, n) }, ;
oe:bWriteTopPane := {|o,n| StBline(o, n) } }

his удалил.
На сразу загруженных файлах - все ok.
New file, Open file ставят курсор во 2ую строку, причем New file при стрелке вверх ставит в 1ю строку курсор и больше не перемещается - строка 1, позиция 1

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1254
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.05.19 09:15. Заголовок: Обновлен hbedit. Реа..


Обновлен hbedit.
Реализована поддержка табуляции.
Оптимизирован движок подсветки.
Кое-что исправлено.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2540
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.05.19 15:51. Заголовок: alkresin 1. Заменяю..


alkresin
1.
Заменяю на "свои" окна (из MiniGui.lib подошло подключением) Скрытый текст

Можно ли в этом месте поставить переменную с блоком кода, если задана, то выполнять блок кода из переменной, иначе код функции ? Что бы не лазить для правки каждый раз в текст edi_Alert()

2.
Загружаю текст prg hbedit.exe fedit.prg , курсор на строке, к примеру 2153
 
RETURN Nil

FUNCTION mnu_F3( oEdit )

между RETURN Nil и FUNCTION ... на пустой строке
Смещаем курсор вправо стрелкой на n позиций, т.е. Col > 1
Делаем Backspace, строка пустая пропадает и имеем
 
RETURN Nil
FUNCTION mnu_F3( oEdit )

Это не правильно.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2541
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.05.19 16:11. Заголовок: PS К пункту 1. Хотел..


PS
К пункту 1.
Хотел edi_Alert() перевести на #translate, но т.к. нет файла hbedit.ch с #include "hbedit.ch" в каждом *.prg, а заводить свой, это править все файлы prg, что по мне, хуже, то предложил переменную с блоком кода.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1255
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.05.19 09:39. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно ли в этом месте поставить переменную с блоком кода, если задана, то выполнять блок кода из переменной


Не понял. А откуда предполагается брать кодоблок, как он будет задан?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1256
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.05.19 09:40. Заголовок: Обновил hbedit. Расш..


Обновил hbedit.
Расширена поддержка макросов (см. help).
Всякие мелкие правки.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2544
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.05.19 10:38. Заголовок: alkresin пишет Не п..


alkresin пишет
 цитата:
Не понял. А откуда предполагается брать кодоблок, как он будет задан?


К примеру так
 
FUNCTION edi_Alert( cText, cAns1, cAns2, cAns3 )
...
STATIC b_Alert

IF Valtype(cText) == 'B'
b_Alert := cText
RETURN Nil
ENDIF
IF empty( b_Alert )
... как сейчас
ELSE
i := EVal( b_Alert, cText, cAns1, cAns2, cAns3 )
ENDIF

RETURN i
тогда в своем prg делаю установку блока и происходит подмена кода выполнения.
Хорошо бы в oEdit добавить пару переменных CLASS VAR ... для блоков кода подмены запроса Open file и Save as ...
Т.к. используем (у себя в работе) в gtwvt windows варианты запросов.
Конечно и для окон запроса Search и Search&Replace такой механизм не помешал бы, но пока не так актуально.


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2545
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.05.19 10:48. Заголовок: PS И совсем замечате..


PS
И совсем замечательно, если в oEdit добавить установку своего HB_GTI_PALETTE для каждого экземпляра окна.
К примеру через блок кода CLASS VAR ... и вызовом его при смене\установки окна редактирования.
Можно отработать разноцветность режимов, как минимум

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1257
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.05.19 12:39. Заголовок: SergKis пишет: К пр..


SergKis пишет:

 цитата:
К примеру так


Лучше я просто выделю edi_Alert() в отдельный файл.

 цитата:
Хорошо бы в oEdit добавить пару переменных CLASS VAR ... для блоков кода подмены запроса Open file и Save as ...


Вы же их все-равно вызываете из своего меню. Так вызывайте свои процедуры вместо них.

 цитата:
И совсем замечательно, если в oEdit добавить установку своего HB_GTI_PALETTE для каждого экземпляра окна.


Это вы можете сделать в кодоблоке bStartEdit, который вызывается каждый раз при вызове :Edit().

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2547
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.05.19 13:10. Заголовок: alkresin пишет Лучше..


alkresin пишет
 цитата:
Лучше я просто выделю edi_Alert() в отдельный файл.


Очень хорошо.

 цитата:
Так вызывайте свои процедуры вместо них.


Так и буду делать

 цитата:
Это вы можете сделать в кодоблоке bStartEdit


Увидел, что есть bStartEdit и bEndEdit - замечательно



Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2558
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.05.19 10:59. Заголовок: alkresin Запуск hbe..


alkresin
Запуск hbedit.exe
New file
Ставлю кодировку Utf8
что то набираю
Save as ...
Esc
смотрим файл в Far F3, F4 -> у файла нет BOM

Наверно, нужна галочка\пункт меню, сохранять с BOM или нет.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1259
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.05.19 15:10. Заголовок: SergKis пишет: Наве..


SergKis пишет:

 цитата:
Наверно, нужна галочка\пункт меню, сохранять с BOM или нет.


Согласен, надо будет добавить в диалог по Save as. Плюс eol и, может быть, кодовую страницу.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2559
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.05.19 15:15. Заголовок: alkresin пишет и, мо..


alkresin пишет
 цитата:
и, может быть, кодовую страницу.


Желательно, иметь режим, сменить кодировку текста, к примеру, RU866 -> Utf8 и т.д.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1260
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.05.19 16:22. Заголовок: Ну, кодировка менятс..


Ну, кодировка менятся просто как и в Far'е:
Выделяем все (Ctrl-A), вырезаем, меняем кодировку и вставляем.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2561
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.05.19 16:32. Заголовок: alkresin пишет Выдел..


alkresin пишет
 цитата:
Выделяем все (Ctrl-A), вырезаем, меняем кодировку и вставляем.


Не самый удобный механизм. В Notepad3.exe есть режим переоткрыть в кодировке, кл. F8 (меню есть) -> табличка кодировок.
Т.е. в файле Utf8, в работе RU1251, или RU866, или LV866.
Просто и удобно

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1261
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.05.19 08:55. Заголовок: Обновлен hbedit. В д..


Обновлен hbedit.
В диалог Save as добавлены опции eol и bom.
В диалог Search&Replace добавлена кнопка для выбора replace.
В диалог Search добавлены опции Whole word и Regular expression.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2565
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.05.19 11:47. Заголовок: alkresin пишет В диа..


alkresin пишет
 цитата:
В диалог Save as добавлены опции eol и bom.


Не смог попасть на [ ] ...BOM .. ( ) ....,
ни TAB, ни стрелкой вниз, ни мышкой

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2566
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.05.19 12:11. Заголовок: PS hbedit.exe F9, 7,..


PS
hbedit.exe
F9, 7, 3 // Utf8 поставили
ввожу текст
Esc
edi_Alert с сообщением, отвечаю Save
окно Save, ввожу имя, перемещаюсь по галочкам, жму
Esc
полный выход из hbedit, отказался только от режима Save as, вернуться должен на текст oEdit и выходить через edi_Alert

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2567
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.05.19 12:20. Заголовок: alkresin Может гало..


alkresin
Может галочку для BOM Utf8 в ini завести.
Если работа с текстовыми файлами BOM чаще нужен, чем нет, при html и xml BOM не нужен

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1262
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.05.19 14:27. Заголовок: SergKis пишет: Не с..


SergKis пишет:

 цитата:
Не смог попасть на [ ] ...BOM .. ( ) ....,
...
Esc
полный выход из hbedit


Исправил.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1263
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.05.19 12:01. Заголовок: Обновлен hbedit (ког..


Обновлен hbedit (когда я это пишу, то имею ввиду бинарники у меня на сайте, исходники на github обновляются чаще).
Добавлены vim-команды r, R, ~.
Исправлены кое-какие ошибки.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1264
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.05.19 13:20. Заголовок: Обновлен hbedit. Теп..


Обновлен hbedit.
Теперь можно расщепить текущее окно на две части по горизонтали или по вертикали, при этом в новом "субокне" откроется тот же файл, что и в текущем, но в readonly режиме:
Ctrl-w, s - расщепить по горизонтали
Ctrl-w, v - расщепить по вертикали
Ctrl-w, w - переключение между "субокнами".
Сочетания клавиш, если кого удивляют, взяты из vim.
Добавлены новые vim-команды: ciw, ci", di"

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1265
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.05.19 13:54. Заголовок: Обновлен hbedit. Сде..


Обновлен hbedit.
Сделан выбор нескольких файлов (нужные отмечаются пробелом) из списка в диалоге Open File и в списке файлов проекта hbp-плагина.
В диалог Open File добавлены опции ReadOnly и In a current window (т.е., вместо текущего файла).
Добавлена возможность искать по содержимому файлов:
в списке файлов в нижней строчке, где мы можем ввести фрагмент имени файла для поиска, после прямой косой теперь можно ввести строку для поска по содержанию, которая должна завершаться двумя косыми. Например, нам надо найти prg-файлы каталога, где есть строка "AddWindow":
prg/AddWindow//
Между двумя завершающими косыми можно ввести 'c' - поиск без учета регистра:
prg/addwindow/c/

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2572
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.05.19 11:54. Заголовок: alkresin 1. Выбор ф..


alkresin
1.
Выбор файлов окно, TAB, фокус на [^] жму Enter (только пробел, "маловато будет") -> уходим на oEdit как New file
2.
Выбор файлов окно на списке, ищем по содержимому
/prg/method/пытаюсь ввести / не дает, Enter -> валит dbedit
3.
Деление окна Ctrl+w любое. На разделенном (правом или нижнем) окне F11 или F4, возможно др. меню не восстанавливают экран после меню при возврате в режим Edit

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2573
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.05.19 12:38. Заголовок: PS При вертикальном ..


PS
При вертикальном разделении окна, в левом окне, счетчик колонок наезжает на режим работы - пропадают правые значения и ]

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2574
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.05.19 13:03. Заголовок: PPS Прикольно разбив..


PPS
Прикольно разбивать окна на подокна, но когда, разбив все окно на 4 части, продолжить разбиение, кроме искажения строки меню, выход по Esc с подокна уходит на главное окно, а ожидается на предыдущее подокно, как создавались и переключаются по Ctrl+w, w. Т.е. Esc убирает подокно и ставит на предыдущее, иначе нажатие Esc скидывает всю работу по окнам с подокнами, убирая\завершая hbedit, что становится неожиданным

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1267
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.05.19 13:15. Заголовок: SergKis пишет: Выбо..


SergKis пишет:

 цитата:
Выбор файлов окно, TAB, фокус на [^] жму Enter (только пробел, "маловато будет") -> уходим на oEdit как New file


Не удалось воспроизвести и не понял, при чем тут пробел.

 цитата:
/prg/method/пытаюсь ввести / не дает


Поиск по умолчанию - с учетом регистра (потому что без учета - медленнее) - второй слэш не вводится, потому что поиск не дал результатов.
А валиться не должен, конечно, исправлю.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2575
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.05.19 13:31. Заголовок: alkresin пишет Не уд..


alkresin пишет
 цитата:
Не удалось воспроизвести и не понял, при чем тут пробел.


По пробелу (в фокусе [^]) вызывается список файлов, а по Enter улетаем сразу в oEdit.
Точно так ведут себя и др. элементы окна ReadOnly, In a current ... -> улетают в oEdit при Enter.
Находясь в фокусе, по мне, они должны срабатывать, как при нажатии Space.
Если в фокусе поле ввода имени файла и оно пустое, а мы жмем Enter, должно срабатывать TAB+VK_SPACE, т.е. фокус на [^] и вызов списка, а не переход в oEdit, как при New file

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1268
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.05.19 13:50. Заголовок: SergKis пишет: По п..


SergKis пишет:

 цитата:
По пробелу (в фокусе [^]) вызывается список файлов, а по Enter улетаем сразу в oEdit.
Точно так ведут себя и др. элементы окна ReadOnly, In a current ... -> улетают в oEdit при Enter.
Находясь в фокусе, по мне, они должны срабатывать, как при нажатии Space.


Вопрос спорный. Я, когда это делал, ориентировался на Far - там именно так, как у меня сейчас.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2576
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.05.19 15:18. Заголовок: alkresin пишет Вопро..


alkresin пишет
 цитата:
Вопрос спорный. Я, когда это делал, ориентировался на Far - там именно так, как у меня сейчас.


Для пользователей console, wvt режимов это скорее аксиома. Все переделанные проги на windows hmg, по просьбам пользователей, доводятся именно до такой работы (хорошо в hmg есть команда). И это удобнее, по мне. Если бы фокус стоял на кнопке [Отменить], а сейчас получается именно так по default, я бы согласился. Far, правктически, не использую как редактор.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2577
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.05.19 15:23. Заголовок: PS Вызывая окно Open..


PS
Вызывая окно Open file, хочется выбрать именно файл и хотелось, что бы окно было сфокусировано на это, а не режим [Отменить]

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2578
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.05.19 15:53. Заголовок: SergKis пишет При ве..


SergKis пишет
 цитата:
При вертикальном разделении окна, в левом окне, счетчик колонок наезжает на режим работы - пропадают правые значения и ]


По мне, для подокон имя файла и режим работы можно не показывать в строке состояния - все видно в окне с режимом Edit. Достаточно счетчиков строк, колонок.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1269
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.05.19 16:01. Заголовок: SergKis пишет: Если..


SergKis пишет:

 цитата:
Если бы фокус стоял на кнопке [Отменить], а сейчас получается именно так по default, я бы согласился


Нажатие ENTER в любой позиции, кроме кнопки CANCEL - это подтверждение операции, а не отмена. Если бы у вас в строке для имени файла что-то было, то указанный файл открылся бы. Ну а раз там пусто, то соответствующее действие не производится.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2579
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.05.19 16:12. Заголовок: alkresin пишет Если ..


alkresin пишет
 цитата:
Если бы у вас в строке для имени файла что-то было, то указанный файл открылся бы. Ну а раз там пусто, то соответствующее действие не производится.


В своих программах, на полях со справочником (вызов списка файлов - аналог) Enter на пустом поле, проделывает операцию вызова справочника. Это удобно для пользователя, как удобно и нажатие Enter на элементе в фокусе - проделывается операция в "фокусе". Esc - отказ от операции.
Но это Ваша программа и Ваше видение. Я только излагаю мысли вслух

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2580
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.05.19 16:23. Заголовок: PS - это кнопка и к..


PS
[^] - это кнопка и когда она в фокусе, то Space и Enter исполнители операции в "фокусе". Сейчас срабатывает только Space, что несколько не логично.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1270
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.05.19 16:32. Заголовок: Логика может быть ра..


Логика может быть разная. Я, повторяю, ориентировался на Far и Midnight Commander. Если авторам и пользователям этих двух популярных инструментов такая организация интерфейса кажется нормальной - значит, эта логика не такая уж ущербная).

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1271
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.05.19 10:04. Заголовок: Обновлен hbedit. Исп..


Обновлен hbedit.
Исправлены ошибки, о которых здесь говорилось.
В командном режиме добавлена возможность запускать консольные команды с перенаправлением вывода в новое окно редактора:
!harbour

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3839
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.05.19 10:13. Заголовок: Чтобы не создавать н..


Чтобы не создавать новую тему, напишу сюда.
В редакторе фара сборку я сделал таким образом:
Записал в фаре макрос (по Ctrl+.):
Нажатие Shift+F10 (сохранение файла без подтверждения)
затем нажатие клавиш _build
В папке есть файл _Build.bat, по которому запускается сборка. При ошибках или предупреждениях в текущую папку кидается протокол компилятора с проблемными строками
Повесил макрос на Ctrl+F12
В редакторе фара нажимаю волшебную клавишу, жду несколько сек, и анализирую результат.
Кто как вызывает компиляцию из редактора, может есть способ получше ?
Как это делается в hbedit ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2581
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 10:49. Заголовок: Pasha пишет Кто как ..


Pasha пишет
 цитата:
Кто как вызывает компиляцию из редактора


В Notpad3 меню File => Запустить => Команда => окно с заданным именем (в ini) cmd\bat файла с кнопками
<OK>, <Cancel>, <обзор выбора др.файла>
Быстрый вызов окна Ctrl+R
На экране отрабатывает cmd окно, выполняющее файл.
В cmd, при ошибке сборки, ставлю вызов hmg программы с browse показом файла ошибок, пи выборе строки с ошибкой, запускаю редактор с установкой на строку ошибки.
Из своей оболочки ведения проектов использую два редактора (по указанию в ini) AkelPad или Notepad3 (оба с расцветкой текста). cmd\bat сборки работает везде одинаково, только в оболочке можно задать список исп. файлов cmd, для сборки exe, lib разных, dll и выбрать нужный для исполнения. Файлы prg в основном в Utf8, под оболочкой перекодируются в однобайтовый файл в др.каталоге и они участвуют в сборке, причем только изменненые.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3840
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.05.19 11:05. Заголовок: Спасибо. т.е. файл о..


Спасибо.
т.е. файл ошибок компилятора, который создается переадресацией вывода компилятора >>,
анализируются своей программой, которая вытаскивает из него строки с траблами, для дальнейшего анализа ? Неплохо.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1272
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.05.19 11:50. Заголовок: Pasha пишет: Кто ка..


Pasha пишет:

 цитата:
Кто как вызывает компиляцию из редактора, может есть способ получше ?
Как это делается в hbedit ?


В hbedit есть готовый плагин для hbp файлов. Открывается hbp, по Ctrl-F можно посмотреть список файлов проекта и открыть нужные, по Ctrl-L - сборка проекта, при этом результаты выводятся в отдельное окно, в котором можно, нажав Enter на строке с сообщением об ошибке, перейти к соответствующему файлу исходников в соответствующей строке.
В принципе, аналогичный плагин можно было и для bat написать, но я выбрал hbp, поскольку он - кроссплатформенный.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2582
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 12:14. Заголовок: alkresin пишет Испра..


alkresin пишет
 цитата:
Исправлены ошибки, о которых здесь говорилось.


Не совсем:
1.
При делении окна на подокна в окне Edit счетчик колонка теряет правый символ при позиции > 9 и 2а символа при > 99
2.
hbedit.exe fedit.prg
F9
a // если работал в русской кодировке, то меню не понимает ни а ни б, надо переключать для команды в EN потом
обратно, лишние телодвижения
2
F9
a
1
Ctrl+w, w
Ctrl+w, w // на окне с Edit
F9
a
1
имеем четыре подокна, фокус на 4ом последнем
Esc
осталось три подокна, фокус на 1ом с Edit
Esc
переход фокуса на 3е подокно
Esc
hbedit с 3мя подокнами завершил работу, что не ожидано, т.к. хотелось убрать 3е подокно и работать дальше

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1273
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.05.19 12:58. Заголовок: SergKis пишет: При ..


SergKis пишет:

 цитата:
При делении окна на подокна в окне Edit счетчик колонка теряет правый символ при позиции > 9 и 2а символа при > 99
2.


Странно, я это исправлял - у меня все нормально. Сколько колонок у вас задано в ini (screen_width)?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2583
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 13:07. Заголовок: alkresin пишет Стран..


alkresin пишет
 цитата:
Странно, я это исправлял - у меня все нормально. Сколько колонок у вас задано в ini (screen_width)?


screen_width=120
screen_height=30

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2584
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 13:09. Заголовок: PS на 100, действите..


PS
на 100, действительно, нормально.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2585
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 13:12. Заголовок: PPS Даже при делении..


PPS
Даже при делении окна на 2е части и фокус на Edit, Esc - завершает работу hbedit

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1274
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.05.19 13:32. Заголовок: SergKis пишет: Даже..


SergKis пишет:

 цитата:
Даже при делении окна на 2е части и фокус на Edit, Esc - завершает работу hbedit


Ну это так и было предусмотрено. Второе окно - как бы дочернее, readonly, поэтому при закрытии основного окна и это закрывается автоматически.
А какой смысл расщеплять экран и потом закрывать основное редактируемое окно и оставлять такое же readonly?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2586
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 14:05. Заголовок: alkresin пишет А как..


alkresin пишет
 цитата:
А какой смысл расщеплять экран и потом закрывать основное редактируемое окно и оставлять такое же readonly?


Процесс работы с подокнами предполагает, перенос текста в окно Edit и нажатие Esc чисто рефлекторное или специально нажатое Esc (в примере с 4мя подокнами переход по Esc на последнее дочернее - хорошее решение, понравилось). Работа по Ctrl+w, w абсолютно не привычна. Наличие подокон похоже на работу с директорией, пока файлы в ней есть, удалить затруднительно. Т.е. убираем подокна, потом можно думать о закрытии hbedit, а могут быть и child окна с др. файлами. Получается подготовленная оконная среда для работы закроется по случайному Esc

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1276
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.05.19 09:53. Заголовок: SergKis пишет: в пр..


SergKis пишет:

 цитата:
в примере с 4мя подокнами переход по Esc на последнее дочернее - хорошее решение, понравилось


Вообще-то это случайный побочный эффект ошибки. Возможность иметь больше двух окон я еще не рассматривал.

 цитата:
Работа по Ctrl+w, w абсолютно не привычна


Можно и мышкой.

 цитата:
Получается подготовленная оконная среда для работы закроется по случайному Esc


Нажатому в основном окне.
Впрочем, можно alert поставить - если ESC нажат в основном окне при наличии дочерних.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1277
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.05.19 09:56. Заголовок: Обновил hbedit. Испр..


Обновил hbedit.
Исправлено несколько ошибок.
Временно запрещено открытие дочернего окна из дочернего.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1278
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.05.19 09:16. Заголовок: Обновил hbedit. Упор..


Обновил hbedit.
Упорядочено управление окнами - вроде бы нормально теперь.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2587
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.05.19 12:44. Заголовок: alkresin Нет времен..


alkresin
Нет времени модификации TimeStamp в oEdit, что бы при Save отслеживать изменение файла внешней программой с сообщением.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1279
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.05.19 08:59. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена проверка времени модификации перед сохранением.
Добавлена команда V в Vim-режиме.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2588
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.19 09:53. Заголовок: alkresin hbedit.exe..


alkresin
hbedit.exe fedit.prg (выравниваем подмассив на одинаковое смещение слева по 1ой строке)
 
FUNCTION mnu_Windows( oEdit, aXY, n )

LOCAL aMenu := { {"Switch window",Nil,Nil,"Ctrl-w,w"}, ;
{"Add window horizontally",Nil,Nil,"Ctrl-w,s"}, ;
{"Add window vertically",Nil,Nil,"Ctrl-w,v"} }
курсор в первой позиции строки {"Add window horizontally",Nil,Nil,"Ctrl-w,s"}, ;
жмем 3и раза VK_TAB + 2а раза VK_SPACE - строки 1, 2 выровняли
жмем стрелку вниз - курсор отпрыгивает влево, а не вниз в той же колонке
жмем стрелку вверх - курсор отпрыгивает вправо, опять не в той же колонке
для строки {"Add window vertically",Nil,Nil,"Ctrl-w,v"} } добавим пробелы слева, выравнивая по 2ой сир. левый край
перескоки остаются при перемещении.
Наверно, так не должно быть ?


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1280
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.05.19 13:07. Заголовок: SergKis пишет: жмем..


SergKis пишет:

 цитата:
жмем 3и раза VK_TAB...


Поставьте в ini опцию (а я добавлю ее в ini закомментированную)
tabtospaces=On
тогда tab будет преобразовываться в определенное tablen количество пробелов. А по умолчанию tab - это именно tab.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2589
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.19 13:19. Заголовок: alkresin пишет А по..


alkresin пишет
 цитата:
А по умолчанию tab - это именно tab.


Претензий к TAB нет, думается колонка на экране, в любом случае, должна сохранятся (tabtospace=On или Off не важно).
Т.е. если она 40, то при движении вверх вниз, должна оставаться 40, не перепрыгивая.
Именно такое поведение (прыгание курсора) Notepad3 мешает использовать его на 100%

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1281
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.05.19 13:40. Заголовок: SergKis пишет: Т.е...


SergKis пишет:

 цитата:
Т.е. если она 40, то при движении вверх вниз, должна оставаться 40, не перепрыгивая.


Если 40, то - да. Надо будет подправить это дело.
А вот если, скажем, 37, и в следующей строке здесь как раз tab, то курсор скакнет на 36.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2590
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.19 13:48. Заголовок: alkresin пишет А вот..


alkresin пишет
 цитата:
А вот если, скажем, 37, и в следующей строке здесь как раз tab, то курсор скакнет на 36.


Не должен курсор менять самопроизвольно позицию, т.е. был на 37 и остался на ней же, не зависимо есть или нет в строке TAB

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1282
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.05.19 14:19. Заголовок: SergKis пишет: Не д..


SergKis пишет:

 цитата:
Не должен курсор менять самопроизвольно позицию, т.е. был на 37 и остался на ней же, не зависимо есть или нет в строке TAB


Если перед 37 стоит tab, то на 38 (так будет точнее) курсор никак не может встать - там ничего нет, следующая позиция - 41 (при tablen=4). Это стандартное и естественное поведение для всех редакторов - хоть Far, хоть vscode, ...

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2591
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.19 15:02. Заголовок: alkresin пишет Это ..


alkresin пишет
 цитата:
Это стандартное и естественное поведение для всех редакторов - хоть Far, хоть vscode, ...


Проделанное выравнивание массива (схема выше), в Far, AkelPad и даже Notepad3 позицию курсора после TAB не меняют, т.е. после TAB + 2 SPACE, полученная позиция курсора при движении вверх вниз не меняется (нет перескоков).
В Notepad3 перескок идет по концу строки, при условии предыдущая позиция больше конца строки.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1283
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 31.05.19 10:58. Заголовок: SergKis пишет: посл..


SergKis пишет:

 цитата:
после TAB + 2 SPACE, полученная позиция курсора при движении вверх вниз не меняется


Возможно, мы не вполне понимаем друг друга. Я сделал кое-какие правки - теперь курсор движется как в Far.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1284
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 31.05.19 11:00. Заголовок: Обновлен hbedit. Поп..


Обновлен hbedit.
Поправлено вертикальное перемещение в тексте с tab'ами.
Добавлен плагин CharTable - таблица символов.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1285
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.06.19 11:39. Заголовок: Обновил hbedit. Доба..


Обновил hbedit.
Добавлены команды Vim ZZ и ZQ.
Добавлен плагин "Калькулятор" - открывается отдельное субокно, там можно проводить вычисления (F5 вычисляет значене выражения в текущей строке) и копировать результаты, если надо.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1286
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 07.06.19 15:34. Заголовок: Обновил hbedit. Доба..


Обновил hbedit.
Добавлена поддержка вертикальных блоков: Ctrl-F3 в режиме редактирования и Ctrl-v в режиме Vim (Ctrl-F3 здесь тоже работает).
Небольшие исправления.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1287
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.06.19 10:51. Заголовок: Обновлен hbedit. Неб..


Обновлен hbedit.
Небольшие исправления.
В ini в секции [LANG_...], где это надо, добавлены строки brackets=On - включение подсветки парных скобок (по умолчанию - выключено).
В Ini добавлена секция [LANG_1C].
Добавлен плагин plug_prg_run1c.prg, который позволяет запускать на исполнение Harbour-программы, подключающиеся к 1с через соответствующий COM-объект. Если кого интересует, можно обсудить в разделе "Для флейма". У меня есть еще один плагин - для запуска из редактора программ на языке 1с через веб-сервис. Я не стал его включать в hbedit, т.к. он требует дополнительных телодвижений на стороне 1с.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1288
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.06.19 09:22. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена команда o в режиме выделения ( чтобы менять направление выделения, как в vim).
Добавлена группа команд vim - в hbedit.help все есть.
Исправления.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1289
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.06.19 10:40. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена группа команд vim - см. hbedit.help
Добавлен плагин "Тетрис" - игра открывается в отдельном окне, можно выходить оттуда / возвращаться туда через Ctrl-Tab - как и с обычными окнами.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2595
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.06.19 10:27. Заголовок: alkresin Имеем demo..


alkresin
Имеем demo.hbp
 
# Keys compile
-prgflag=-w2 -es1

# Enable multi/single-thread Harbour VM
-mt

# Incremental-compilation mode
-inc

# folder where are all * .obj
-workdir=OBJ

# Name EXE-module
-odemo.exe

# to list all * .prg
demo.prg
demo_misc.prg
MsgEdit.prg
util_fonts.prg

# project Resources
demo.rc

# paths to the main and extension *.Lib
-lminigui

1. Ctrl+F -> приводит к ошибке apps.err
06/24/19 10:14:35
Error BASE/1132 Bound error: array access
Called from _HBP_GET_FILES(156)
Called from _HBP_INIT_FILES(119)
Called from _HBP_INIT_ONKEY(60)
Called from (b)PLUG_HBP_INIT(33)
Called from TEDIT:ONKEY(524)
Called from TEDIT:EDIT(348)
Called from MAIN(144)

2. Как запустить на исполнение этот hbp, если в Far запускается по ассоциации
C:\MiniGui\BATCH\hbmk2.bat !.!
?


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1293
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.06.19 11:10. Заголовок: SergKis пишет: 1. C..


SergKis пишет:

 цитата:
1. Ctrl+F -> приводит к ошибке apps.err


Была там маленькая ошибка, исправил.

 цитата:
2. Как запустить на исполнение этот hbp, если в Far запускается по ассоциации
C:\MiniGui\BATCH\hbmk2.bat !.!


Можно будет ini-файл для плагина сделать с командной строкой запуска hbmk.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1294
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.06.19 11:14. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена поддержка разных цветовых схем, добавлены новые цветовые схемы. Менять текущую можно через меню (Palette).
Основная схема устанавливается в ini [OPTIONS]:
palette=...
Можно также установить отдельные схемы для разных языков (palette= в соответствующем [LANG_...]
Небольшие правки.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2596
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.06.19 13:03. Заголовок: alkresin Ctrl-F3 ..


alkresin

 цитата:
Ctrl-F3 выделение вертикального блока


Привычнее Shift+Alt+стрелки

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1295
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.06.19 16:17. Заголовок: SergKis пишет: Прив..


SergKis пишет:

 цитата:
Привычнее Shift+Alt+стрелки


Добавил и такой вариант.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2597
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.06.19 16:40. Заголовок: alkresin пишет Добав..


alkresin пишет
 цитата:
Добавил и такой вариант.


Будут ли режимы (в выделенном верт. блоке):
- замена первого символа на upper\lower
- сортировка строк в блоке
Для prg авто завершение строк ?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1296
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.06.19 21:13. Заголовок: SergKis пишет: - за..


SergKis пишет:

 цитата:
- замена первого символа на upper\lower
- сортировка строк в блоке


С выделением много чего можно интересного еще сделать - сумму посчитать, например, или, как в vim, добавить подстроку слева или справа к каждой выделенной строке. Думаю об интерфейсе. Можно повесить каждое действие на клавишу. Можно сделать меню, вызывая его, например, буквой m, ...
Стоит, наверное, сделать возможность подключать плагин для дополнительных вариантах обработки выделенного текста.


 цитата:
Для prg авто завершение строк ?


Может быть. Ничего против не имею, но и большой пользы не вижу. Что завершать-то, if / endif ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2600
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.06.19 22:45. Заголовок: alkresin пишет Что з..


alkresin пишет
 цитата:
Что завершать-то, if / endif ?


В notepad3 набираю de или DE и получаю список
default
DEFAULT
define
DEFINE
defined
DELETEALLITEMS
DELETECOLUMN
DeletedCount
DELETAIMAGE
DeleteItem
DELETEITEM
DeleteObject
DELETEPAGE
DelteRow
DeltaCol
details
Determine
...
набираю hb
получаю список ф-ий использованных ранее
При if
IFARRAY
ifdef
IFEMPTY
ifndef
IFNUMERIC
и т.д.
по мере добавления букв список уменьшается

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 393
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет