On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
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 
ПрофильЦитата Ответить
Ответов - 184 , стр: 1 2 3 4 5 6 7 8 9 10 All [только новые]


moderator


Пост N: 1297
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 25.06.19 09:18. Заголовок: SergKis пишет: DELE..


SergKis пишет:

 цитата:
DELETEALLITEMS
DELETECOLUMN
DeletedCount
DELETAIMAGE
DeleteItem
DELETEITEM
DeleteObject
DELETEPAGE
DelteRow
DeltaCol
details
Determine
...


Я большую часть этих слов и не знаю. Это точно Harbour) ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2601
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.06.19 11:16. Заголовок: alkresin пишет Я бол..


alkresin пишет
 цитата:
Я большую часть этих слов и не знаю. Это точно Harbour) ?


Как я понял notepad3, при включенном режиме авто завершения, набирает словарь исп. слов (слово применялось > 1 раза). К примеру, набираю nR получаю список
nRetVal
nRGB2Arr
nRow

при nC
nCell
nCol
nColumn
nControlWidth

при cf
cFileNoExt
cFileNoPath
cFilePath
cFooter
cFormat
CFORMAT
cFormName

т.е. по 2м символам (и более) получаем список ранее использованных слов, это как имена ф-ий, так и имена переменных. В целом удобно.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2602
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.06.19 11:25. Заголовок: PS Не знаю (не интер..


PS
Не знаю (не интересовался), где словарь хранится, но он не связан с ini и как его сбросить\очистить\изменить (с ошибками набранные слова пару раз появляются в списке, что мешает).
Включается режим по галочке в меню настроек

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1298
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 25.06.19 14:15. Заголовок: Подумаю на эту тему...


Подумаю на эту тему.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1299
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.06.19 11:41. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена пара vim-команд.
В режиме выделения теперь вызывается меню ( по F9 или 'm' ), там 4 существовавших пункта (конверсия регистра и сдвиг) и три новых - добавление введенной подстроки слева или справа от каждой строки выделенного текста и сортировка текста по выделенному вертикальному блоку.
В это меню можно добавлять свои пункты, написав специальный плагин (образец - добавленный plug_selection.prg) И поместив строчку
sele_plugin=plug_selection.hrb
в секцию [OPTIONS] ini-файла.
Исправлено кое-что.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2607
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.06.19 12:32. Заголовок: alkresin Выделяем б..


alkresin
Выделяем блок по Shift+Alt+... текст 2е строки LOCAL
 
METHOD WriteTopPane( lClear ) CLASS TEdit

LOCAL y := ::y1 - 1, nCol := Col(), nRow := Row(), nF9 := 0
LOCAL cLen := Ltrim(Str(Len(::aText))), nchars := Len(cLen)


IF ::bWriteTopPane != Nil

Shift+Alt+->
Shift+Alt+стрелка вниз
Shift+Alt+End и держим Shift+Alt, закраска ok,
отпускаем, закраска выделенного перемещается на блок до LOCAL в строках

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1300
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.06.19 12:41. Заголовок: У меня никуда не пер..


У меня никуда не перемещается.

Shift+Alt+стрелка вправо
Shift+Alt+стрелка вниз
Shift+Alt+End

- закрашены две строки. Отпускаем Shift+Alt - закраска остается на месте.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2608
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.06.19 14:36. Заголовок: alkresin пишет - зак..


alkresin пишет
 цитата:
- закрашены две строки. Отпускаем Shift+Alt - закраска остается на месте.


Закрашены две строки, отпускаю, закраска пробелов до LOCAL у этих строк.
Ситуация стабильна, т.е. всегда. Закрасить данные от LOCAL и до конца строк не получается.
Win 8.1
hbedit.ini
screen_width=121
screen_height=30

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2609
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.06.19 14:38. Заголовок: PS Если красить толь..


PS
Если красить только стрелками, без End, то все ok

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1301
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.06.19 15:40. Заголовок: А End какой нажимает..


А End какой нажимаете, на основной клавиатуре, или на numpad?
Я сейчас попробовал на numpad (обычно ее не использую) - там происходит вами описанный эффект. Почему - еще не разбирался.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2610
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.06.19 16:12. Заголовок: alkresin пишет А End..


alkresin пишет
 цитата:
А End какой нажимаете, на основной клавиатуре, или на numpad?


Это ноутбук, клавиши совмещены, но Num Lock не включен

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1302
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.06.19 12:57. Заголовок: Это проблема gtwvt. ..


Это проблема gtwvt. Он почему-то после нажатия End на numpad и отпускания Shift+Alt генерирует дополнительное событие с кодом клавиши 1 - K_HOME.
Поэтому рекомендую при использовании Shift-Alt не нажимать End, или, что лучше, пользоваться Ctrl-F3. а еще лучше - Ctrl-v в Vim-режиме).

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2611
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.06.19 16:04. Заголовок: alkresin пишет Это п..


alkresin пишет
 цитата:
Это проблема gtwvt


Пробую на hbedit.exe с вашего сайта, готовую сборку.
Переучиваться на др. клавиши - это вряд ли, таких сочетаний в исп. редакторе нет.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1303
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.06.19 18:04. Заголовок: SergKis пишет: Проб..


SergKis пишет:

 цитата:
Пробую на hbedit.exe с вашего сайта, готовую сборку.


Она собрана с gtwvt - отсюда и проблема. Это какой-то косяк в gtwvt, а, может быть, и фича). Собирал с gtwin - такого не наблюдается.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1304
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.06.19 13:33. Заголовок: Обновлена страница h..


Обновлена страница hbedit
Добавлено описание опций командной строки и подробное описание опций ini-файла.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


Обновлен hbedit.
Добавлены операции над выделенным блоком (плагин plug_selection): подсчет суммы для вертикального блока - это было когда-то в Дос Навигаторе и мне до сих пор иногда недостает, и Surround - заключить выделенный текст в кавычки, скобки или html-тэг.
Исправлено кое-что.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1308
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.07.19 15:01. Заголовок: Обновлен Hbedit. Доб..


Обновлен Hbedit.
Добавлена команда .(точка) для Vim-режима и для режима выделения - она выполняет последнюю операцию редактирования еще раз. Так, например, если вы в режиме выделения выбрали из меню операцию Surround и в ответ на приглашение ввели символ i (в результате выделенная область будет заключена в тэги <i>,</i>), вы можете выделить другой фрагмент текста, нажать "." - и этот фрагмент будет заключен в те же тэги.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2613
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.07.19 15:58. Заголовок: alkresin пишет Добав..


alkresin пишет
 цитата:
Добавлена команда .(точка) для Vim-режима и для режима выделения


В режиме выделенного блока удобно попасть в начало блока выделения (в hbedit этого нет)
В notepad3 после выделения (любого) нажатие <- или Home сбрасывает выделение (Ctrl+C не важно было\нет) и ставит курсор в начало выделения, а -> в конец выделения. Что часто удобно, особенно, при больших блоках

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2614
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.07.19 16:06. Заголовок: PS Может мелочь, кон..


PS
Может мелочь, конечно, но не привычно.
Выделение верт. блока при разной ширине концовок строк, закрашивается только содержимое, у более коротких строк (курсор правее) пустые места не закрашены. Ощущение, что Alt к Shift не добавил

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1309
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.07.19 19:42. Заголовок: SergKis пишет: В ре..


SergKis пишет:

 цитата:
В режиме выделенного блока удобно попасть в начало блока выделения (в hbedit этого нет)


Есть. Если выделение делается с F3, Ctrl-F3 или в Vim-режиме (v, V, Ctrl-v), то клавиша 'o' переводит курсор в начало выделения и обратно - и можно продолжить выделение в другом направлении.

Спасибо: 0 
ПрофильЦитата Ответить



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


alkresin пишет
 цитата:
Есть. Если выделение делается с F3, Ctrl-F3 или в Vim-режиме


Понятно. Это не windows штуки.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1310
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.07.19 20:48. Заголовок: SergKis пишет: Поня..


SergKis пишет:

 цитата:
Понятно. Это не windows штуки.


Непонятно, при чем тут Windows?
Можно это же реализовать и для Shift-Alt - пару строчек добавить, а то и меньше. Просто 'o' - это команда Vim.

Спасибо: 0 
ПрофильЦитата Ответить



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


alkresin пишет
 цитата:
Можно это же реализовать и для Shift-Alt - пару строчек добавить, а то и меньше. Просто 'o' - это команда Vim.


Ставлю defmode=-1, т.е. без Vim
Менять, наверно, можно, но столько "лишнего" текста, что желание пропадает.

 цитата:
Непонятно, при чем тут Windows?


Помню dos редактор, замечательный, 46К весил, работал в в похожей схеме (F3, Ctrl+F3).
Клавиши переназначались, но ...
Осталось все там ... в dos

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1311
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.07.19 08:55. Заголовок: SergKis пишет: Меня..


SergKis пишет:

 цитата:
Менять, наверно, можно, но столько "лишнего" текста, что желание пропадает.


Не понял, о чем вы.


 цитата:
Помню dos редактор, замечательный, 46К весил, работал в в похожей схеме (F3, Ctrl+F3).
Клавиши переназначались, но ...
Осталось все там ... в dos


Каким образом используемые клавиши связаны с Dos или Windows? Почему в Windows F3 можно использовать как продолжение поиска, но нельзя как начало выделения текста? А F7 и Shift-А7 тоже нельзя использовать в Windows для поиска?
F3, кстати, я взял из линуксового Midnight Commander, Ctrl-F3 добавил сам по аналогии с Vim'овским v и Ctrl-v.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2618
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.07.19 10:20. Заголовок: alkresin пишет Не по..


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


Надо визуально вычленять из кода prg, строки относящиеся к Vim (с выпуском новой модификации), т.к. нет скобок, к примеру,
#ifdef VIM_MODE
...
#endif

 цитата:
Почему в Windows F3 можно использовать как продолжение поиска, но нельзя как начало выделения текста? А F7 и Shift-А7 тоже нельзя использовать в Windows для поиска?


Можно, но это ломать человеку привычки (переучивать). На лучшее ли ?
В windows редакторах, чаще используют
Ctrl+F - поиск
Ctrl+R - замена
Ctrl+O - open
Ctrl+N - New
...

 цитата:
F3, кстати, я взял из линуксового Midnight Commander, Ctrl-F3 добавил сам по аналогии с Vim'овским v и Ctrl-v.


Я и сказал
 цитата:
Это не windows штуки.



Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1312
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.07.19 13:22. Заголовок: SergKis пишет: Надо..


SergKis пишет:

 цитата:
Надо визуально вычленять из кода prg, строки относящиеся к Vim


Для чего? Чтобы 'o' заработало и при Shift-Alt, или вы о чем-то другом?

 цитата:
В windows редакторах, чаще используют...


Hbedit позволяет настроить это под себя - вы знаете.
Ну а что где чаще используют... Для меня, например, единственный Windows редактор - это Far, теперь еще hbedit), другими не пользовался, разве что для ознакомления.
Я о другом. У меня сложилось впечатление, что у части наших коллег выработался комплекс по отношению к консольным приложениям, может, потому что долго приходилось писать для консоли , когда вокруг все перешли на GUI. Дескать, это Дос, это безнадежно устарело и пр. Но Дос тут ни при чем. Консоль - это вид интерфейса, не зависящий от ОС. Консоль не устарела и не устареет, она очень удобна во многих случаях - в частности, когда много ввода с клавиатуры и желателен "слепой набор", которому мышка только мешает. Ну а при удаленном доступе по ssh это часто единственный вариант интерфейса. В IT есть немало сообществ, занимающихся современной разработкой, где вас нехорошими тряпками погонят, если вы заикнетесь о том, что GUI было бы удобнее - это я к тому, что разговоры о том, что консоль устарела, просто нелепы.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2620
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.07.19 14:45. Заголовок: alkresin пишет У ме..


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


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

 цитата:
Для чего? Чтобы 'o' заработало и при Shift-Alt, или вы о чем-то другом?


Об этом. Что бы добавить
#ifndef VIM_MODE
...
#endif

 цитата:
Для меня, например, единственный Windows редактор - это Far, теперь еще hbedit), другими не пользовался, разве что для ознакомления


Если используется RU1251, RU866, Utf8, то Far годится. В нашей деревне LV866 (EN, латышский LV, RU) и Far отдыхает (Для просмотра используется в основном). В работе Akelpad для Utf8 (основной режим), Notpad3 своей сборки для LV866 (у клиентов ставится) и пробую hbedit на предмет замены Far и возможно остальных. Возможно, у клиентов hbedit использовать на текстовых данных с подсветкой слов, т.е. надо походить на GUI приложение.

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


Сами используем сервисные проги с VWT - проще режимы делать чем с GUI

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2621
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.07.19 14:56. Заголовок: PS Консоль не устаре..


PS

 цитата:
Консоль не устарела и не устареет, она очень удобна во многих случаях - в частности, когда много ввода с клавиатуры и желателен "слепой набор", которому мышка только мешает.


В GUI программах для клиентов приходится все операции раскладывать по клавишам (это была убедительная просьба клиентов, поработавших на приложениях clipper), мышка это доп. вспомогательный атрибут, для кого то наоборот, конечно.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


SergKis пишет:

 цитата:
Об этом. Что бы добавить
#ifndef VIM_MODE
...
#endif


Тогда все гораздо проще, я уже сделал - там реально одну строчку поменять пришлось, чтобы нажатие 'o' не сбрасывало :lShiftKey - флаг, указывающий на использование Shift+клавиши перемещения.

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


Пост N: 360
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 05.07.19 10:06. Заголовок: alkresin пишет: эт..


alkresin пишет:

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



Не уговаривайте себя :) Наличие специфических задач и мир пользователей сравнивать нет смысла

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1314
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.07.19 13:08. Заголовок: ММК пишет: Наличие ..


ММК пишет:

 цитата:
Наличие специфических задач и мир пользователей сравнивать нет смысла


Пользователи - они разные, это не только менеджеры с бухгалтерами. В научной среде, например, активно пользуются TeX - и соответствующими текстовыми редакторами (Vim, в том числе). Мы, программисты, чем только не пользуемся. С xml и его многочисленными производными тоже не в Word'е работают. И еще есть немало сфер, о которых мы даже не знаем. Вы скажете, что это все специфические задачи, но из таких вот специфических задач и состоит мир.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1315
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.07.19 09:21. Заголовок: Обновлен hbedit. Ком..


Обновлен hbedit.
Команда 'o' теперь работает и при Shift, Shift-Alt выделении.
Реализован режим переноса строк (wrap mode) - меню/View/Set wrap on - очень полезно при редактировании, например, книг в txt или fb2 формате.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2625
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.07.19 12:02. Заголовок: alkresin пишет Коман..


alkresin пишет
 цитата:
Команда 'o' теперь работает и при Shift, Shift-Alt выделении.


Как заменить 'o' на -> и <- (закраску можно сбрасывать при этом, главное переместить в конец или начало выделения) ?
Др. людям трудно понять, почему надо нажимать 'o', а не стрелки ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1316
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.07.19 13:52. Заголовок: SergKis пишет: Как ..


SergKis пишет:

 цитата:
Как заменить 'o' на -> и <- ?


Только если написать свой плагин, обрабатывающий нажатия клавиш.

 цитата:
Др. людям трудно понять, почему надо нажимать 'o', а не стрелки ?


А почему надо нажимать стрелки? Др.люди настолько привыкли именно к notepad3?

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


Пост N: 1534
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 08.07.19 14:28. Заголовок: alkresin пишет: Др...


alkresin пишет:

 цитата:
Др.люди настолько привыкли именно к notepad3?


Выделение Shift+стрелки (а еще Shift-Home/End/PgUp/PgDn/...) на мой взгляд для Windows-оообщества (а это - большинство) - стандарт де-факто, выработанный годами. Это используется в всех windows-based текстовых редакторах, а не только notepad3.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1317
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.07.19 14:55. Заголовок: PSP пишет: Выделени..


PSP пишет:

 цитата:
Выделение Shift+стрелки...


Речь не об этом. Hbedit поддерживает выделение с помощью Shift+клавиши перемещения (стрелки, Home, End и пр.).
Мы здесь говорим о редко встречающейся возможности переместить курсор в процессе выделения с одного конца в другой и продолжить выделение в другом направлении. В Vim и hbedit это делается нажатием 'o'.

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


Пост N: 1535
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 08.07.19 15:08. Заголовок: alkresin пишет: Мы ..


alkresin пишет:

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


Понятно. Поспешил я с комментарием))

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2626
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.07.19 15:23. Заголовок: alkresin пишет:Мы зд..


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


Продолжать выделение не требуется. Говорил, сбрасывать выделение и перемещать курсор в точку.
Знаю 2а редактора, которые перемещения не делают - это notepad и Far.
Akelpad, Notepad3, Notepad++ и др. (правда пробовал их давно) делают такие операции (при выделенном блоке перемещают курсор в начало\в конец блока) и это не "редко встречающейся возможности переместить курсор", а удобный механизм, особенно при работе с вертикальными блоками.
Просто hbedit заточен на Vim операции.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1318
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.07.19 16:31. Заголовок: SergKis пишет: Прод..


SergKis пишет:

 цитата:
Продолжать выделение не требуется


Ок, сделаю.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


Обновлен hbedit.
Добавлена стрелочка при выделении (см. предыдущие посты).
Изменена логика работы с clipboard: в vim-режиме реализовано использование регистров, в режиме редактирования вставка из дополнительных буферов clipboard (регистров) теперь производится с помощью Ctrl-p.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2628
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.07.19 10:52. Заголовок: alkresin пишет Добав..


alkresin пишет
 цитата:
Добавлена стрелочка при выделении


Спасибо. Работает.
А закраска, при блочном выделении, что бы была прямоугольником (до курсора), а не по убранным правым пробелам (только содержимое) ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1320
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 09.07.19 11:55. Заголовок: SergKis пишет: А за..


SergKis пишет:

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


Честно говоря, лень этим заниматься - меня устраивает так, как есть, да и в Vim так). А как лучше - вопрос спорный. Прямоугольник, конечно, красивее, но может ввести в заблуждение о границах текста - вставлены-то пробелы не будут, если их нет.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2629
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.07.19 12:24. Заголовок: alkresin пишет Прям..


alkresin пишет
 цитата:
Прямоугольник, конечно, красивее


Скорее нагляднее, по тем ли символам идет курсор (курсор хуже видно, надо приглядываться)

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1321
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.07.19 11:36. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена группа Vim-команд yy, yiw, ...
Небольшие исправления.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2631
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.07.19 13:13. Заголовок: alkresin перестала ..


alkresin
перестала реагировать установка :y2 (на экране последняя строка не доступна)
 
TEdit():bNew := {|oe| oe:lTopPane := .F., ;
oe:y1 := 0, ;
oe:y2 := MaxRow()-1, ;

oe:bOnKey := {|o,n| EdOnKey(o, n) }, ;
oe:bWriteTopPane := {|o,n| StbLine(o, n) } }

Можно ставить MaxRow()+10 или - 10, на экране, всегда, последняя строка не доступна (пусто в ней).

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2632
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.07.19 13:18. Заголовок: PS ini fontname=Lib..


PS
ini
 
fontname=Liberation Mono
fontheight=24
fontwidth=12
screen_width=121
screen_height=30
cp=LV866
...
[OPTIONS]
defmode=-1
;incsearch=off
autoindent=on
;syntax=On
; savehis: 0 - don't save the history, 1 (default) - save in hbedit directory,
; 2 - save in a current directory.
;savehis=1
;cmdhismax=20
;seahismax=20
edithismax=30
; eol: 0 - auto, 1 - Linux, 2 - Dos
;eol=0
trimspaces=on
palette=solarized light
...


Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1322
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.07.19 17:03. Заголовок: SergKis пишет: пере..


SergKis пишет:

 цитата:
перестала реагировать установка :y2 (на экране последняя строка не доступна)


Если у вас :y2 - Maxrow()-1, то это как раз исключает последнюю строку.
Поставьте oEdit:bNew := oe:y2 := MaxRow()

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2634
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.07.19 19:45. Заголовок: Спасибо, получилось...


Спасибо, получилось.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1323
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.07.19 10:12. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена возможность устанавливать в ini-файле сочетания клавиш на плагины, в Ini поставлен Alt-L на список функций и Alt-R на запуск на исполнение.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1324
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.07.19 11:02. Заголовок: Обновлен hbedit. Нек..


Обновлен hbedit.
Некоторые исправления и улучшения.
Добавлен плагин WebServices для получения данных с некоторых публичных веб сервисов. Сейчас их там 3 - определение своего внешнего ip (он копируется в clipboard), получение справки по слову под курсором (русские, увы, не поддеоживаются) и поучение уникального текста типа 'lorem ipsum.
Для работы этого плагина необходимо наличие curl.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


Обновлен hbedit.
Добавлена команда Ctrl-w,o - делает из дочернего окна полноценное.
Добавлен init плагин для prg - он прописан в [LANG_PRG] и запускается при открытии каждого prg. В настоящее время он выводит по Alt-D список функций HwGUI и при выборе любой из них открывает дочернее окно с информацией о функции. Тип информации (описание, записи из Changelog, исходники) задаются в открывающемся диалоговом окне. Ту же информацию можно получить по Alt-I над функцией в редактируемом тексте.
Информация берется из моего web-сервиса, так что для того, чтобы это работало, нужен curl.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


Обновлен hbedit.
Теперь prg init плагин дает информацию и по всем Harbour функциям - тем, что входят в ядро (не contrib), их чуть больше полутора тысяч. Описания есть для части из них. Если нет описания, можно составить представление о функции, просмотрев соответствующие записи в Changelog и исходники - я обычно так и делаю, когда нужно с чем-то разобраться. Теперь это можно посмотреть быстро в одном месте, используя hbedit.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2703
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.08.19 07:51. Заголовок: alkresin 1. имеем ..


alkresin
1.
имеем
 
SET EPOCH TO 2000
SET DATE TO GERMAN
SET CENTURY ON
ставлю курсор в самую первую позицию SET DATE TO GERMAN и жму Enter (новую строку вставляю перед)
получаю
SET EPOCH TO 2000

SET DATE TO GERMAN
SET CENTURY ON

2.
имеем
 
SET EPOCH TO 2000
SET DATE TO GERMAN
SET CENTURY ON
SET DELETED ON
SET AUTOPEN OFF


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2704
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.08.19 07:59. Заголовок: PS не ту кнопку нажа..


PS
не ту кнопку нажал, отвлекли
1.помечаю вертикальный блок перед 3ими словами всех строк, состоящий из одной позиции (один пробел)
2.делаю Ctrl+C, стрелку влево
встал курсор перед TO 2000
делаю Ctrl+V (хочу увеличить кол-во пробелов)
вставляется из буфера, что было в нем до пункта 1,2
Если взять верт. блок из 2х позиций, то все ок

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2705
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.08.19 08:05. Заголовок: PPS В ini screen_wid..


PPS
В ini
screen_width=121
screen_height=30
palette=solarized light
При завершении работы, т.е. выхода из hbedit происходит закраска всего окна с hbedit цветом детской неожиданности и потом окно уходит. Очень бросается в глаза. Может можно поправить ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1329
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.08.19 13:15. Заголовок: Действительно, стран..


Действительно, странно. Поправлю.
Кстати, чтобы сдвинуть тест влевл/вправо, можно выделить его и затем Shift->, Shift-<.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2708
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.08.19 14:42. Заголовок: alkresin пишет Кстат..


alkresin пишет
 цитата:
Кстати, чтобы сдвинуть тест влевл/вправо, можно выделить его и затем Shift->, Shift-<


Это не привычно + закраска окончания строк выделенния (ранее писал), затрудняет понимание окончания блока.
Проще, по мне, действовать, как описал выше

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


Обновлен hbedit.
Исправления всякие.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2726
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.08.19 21:07. Заголовок: alkresin Тут https:..


alkresin
Тут https://TransFiles.ru/2xcy7
файл txt, hbedit.ini, файл err
1
С такой настройкой ini нет выравнивания колонки (рус. название) с исп. кл. TAB (было сделано в Far).
Попытка выровнять первые строки рус. колонки (добавлением пробелов в строках до Кирибати) и потом выровнять верт. блоком из пробела до начала рус. колонки, на уровень позиции Китай, привело к снятию. Файл прилагается

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1335
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.08.19 08:55. Заголовок: Воспроизвести не уда..


Воспроизвести не удалось, но добавил проверку в месте возникновения ошибки.
Обновил hbedit.
В plug_selection добаввил новые возможности - теперь выделенный вертикальный блок можно выровнять по левой или правой границе.
Shift-> и Shifn-<, если делаются с вертикальным блоком, перемещают теперь не строки целиком, а только выделенный блок.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2733
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.08.19 10:10. Заголовок: alkresin текстовый ..


alkresin
текстовый файл из архива
hbedit.ini
tablen=3
tabtospaces=Off
последняя колонка все ровненько, как и в Far (выравнивание сделано TAB символом)

tabtospaces=On
последняя колонка "скачет" начало слов, нет выравнивания при замене TAB пробелами.
Если выровнять последнюю колонку (несколько строк), добавлением пробелов и посмотреть полученное в Far, то колонка скачет в нем.
Может добавить еще режим физической замены TAB на пробелы (не сохраняя TAB) ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2734
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.08.19 10:34. Заголовок: PS Если верт. выделе..


PS
Если верт. выделенный блок больше, чем строк окна hbedit и нажимаем <- (переход в начало выделения), курсор уходит в начало выд. блока, а отображение остается прежним и курсора не видно - "потеряли". Перемещения стрелками покажет курсор только, когда он "вернется" по координатам на тек. отображение. Notepad3 возвращает курсор в начало выделенного блока и отображает окно как было при начале выделения.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1337
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.08.19 10:37. Заголовок: SergKis пишет: tabt..


SergKis пишет:

 цитата:
tabtospaces=Off
...
tabtospaces=On
...


У меня там не вполне корректно сделано преобразование tab to spaces и обратно - я просто заменяю tab на tablen пробелов. Это правильно работает для начала строки, а середине надо менять на значение щт 1 до tablen, в зависимости от положения tab. Надо будет поправить как-нибудь.

 цитата:
Может добавить еще режим физической замены TAB на пробелы (не сохраняя TAB) ?


Добавил опцию в диалог сохранения.

 цитата:
Если верт. выделенный блок больше, чем строк окна hbedit и нажимаем <


Исправил.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2735
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.08.19 12:57. Заголовок: alkresin hbedit от ..


alkresin
hbedit от 12.08.2019
Список по Alt+L получается в 2х вариантах
1. Типа "маленький", кол-во функций от 0- t (есть второй экран списка) нумерация слева и нет возможности поиска по имени, надо высматривать листая нужную функцию
2. Нормальный вариант с поиском по имени
Что сделать, что бы всегда был 2ой вариант ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2736
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.08.19 13:26. Заголовок: PS Странно работает ..


PS
Странно работает подсветка многострочного, создаваемого блока
/*
...
*/
иногда засвечивает сразу после /*, но чаще нет
после */ не засвечивает блок, надо сделать новые строки.
иногда после ввода новой строки засветка срабатывает, иногда только после второй новой строки

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1339
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.08.19 10:07. Заголовок: Обновлен hbedit. Кое..


Обновлен hbedit.
Кое-какие исправления, в т.ч. - подсветка многострочных комментариев.
Список функций теперь выводится с опцией поиска при количестве ф-й больше трех.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2748
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.08.19 07:23. Заголовок: alkresin Если строк..


alkresin
Если строка длинная и выходит за пределы окна, к примеру, на 10 символов и жмем Enter (new line), то курсор убегает в первые позиции и "теряется" из показа, т.к. мы остались на отображении конца строки. Надо, наверно, переместить показ.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2751
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.08.19 13:15. Заголовок: PS Можно сделать уст..


PS
Можно сделать установку в ini для показа в заголовке окна (где hbedit) рабочий каталог (путь) загрузки 1го файла ?
Что бы различать версии (по каталогам) одного и того же файла.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1344
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.08.19 10:21. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно сделать установку в ini для показа в заголовке окна (где hbedit) рабочий каталог (путь) загрузки 1го файла ?


Может, лучше менять режим отображения имени файла по щелчку по нему - тогда он будет изменен в конкретном окне и тогда, когда это надо?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1345
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.08.19 10:30. Заголовок: Обновлен Hbedit. Кое..


Обновлен Hbedit.
Кое-какие исправления.
Добавлен плагин для интеграции Git и Fossil - можно смотреть историю изменения файла, извлечь любую его версию, посмотреть изменения (diff) в специальном окне.
Добавлен режим сравнения файлов. Это можно сделать двумя способами:
1) Открыть первый файл, потом при открытии второго указать опцию Diff.
2) hbedit -d file1 file2
В этом режиме можно переключать способ отображения во втором окне - только diff, full (весь текст с - и +), Version From (исходная версия файла).

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2754
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.08.19 11:02. Заголовок: alkresin пишет Может..


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


Не совсем удобно, имя файла одинаковое, разные пути и в полске где F9-Menu ... надо высматривать. В title окна удобнее смотреть. Повесил в Far hbedit на Alt+F4 и к примеру, смотрю TsBrowse.prg в 3х каталогах (версиях) одновременно в разных окнах
1 - C:MiniGui\SOURCE\TsBrowse\TsBrowse.prg // тек. версия
2 - C:MiniGui_1906_2\SOURCE\TsBrowse\TsBrowse.prg // предыдущая
3 - C:MiniGui_207\SOURCE\TsBrowse\TsBrowse.prg // рабочая версия
т.е. есть в каждом окне текущий каталог, вот его бы и видеть в Title, т.к. взятые др. файлы в это окно так же будут из тек. каталога.
Можно в команду запуска добавить параметр, не в ini.
hbedit.exe -dir
к примеру

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2755
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.08.19 11:21. Заголовок: PS А щелкнуть по реж..


PS
А щелкнуть по режиму <Edit> и сделать его <ReadOnly> (комбинация клавиш), было бы хорошо, т.к. из 3х править один надо, как правило.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2756
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.08.19 11:35. Заголовок: alkresin Вопрос по ..


alkresin
Вопрос по переназначению клавиш.
Как переназначить для окна ?
Ctrl-w, w=>Ctrl-1
Ctrl-w, s=>Ctrl-2
Ctrl-w, v=>Ctrl-3
в ini стоит
keymap=Ctrl-N=>Shift-F4,Ctrl-O=>Ctrl-F4,Ctrl-F=>F7,Ctrl-G=>Alt-F8,Ctrl-R=>Ctrl-F7
и дописать в keymap

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1346
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.08.19 13:01. Заголовок: Ok, сделаю в ini. А ..


Ok, сделаю в ini.

 цитата:
А щелкнуть по режиму <Edit> и сделать его <ReadOnly>


Что-то не нравится мне такой вариант.

 цитата:
Вопрос по переназначению клавиш.


Сейчас на клавишу можно повесить только одну клавишу, но можно будет сделать и для сочетания клавиш.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2757
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.08.19 13:23. Заголовок: alkresin пишет Что-т..


alkresin пишет
 цитата:
Что-то не нравится мне такой вариант.


Это, скорее, образно " щелкнуть по режиму <Edit> и сделать его <ReadOnly>", лучше клавиши и меню.
Сейчас перевести из Edit в ReadOnly загруженный текст нет возможности и попадался, что начинаешь править не тот текст.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2758
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.08.19 14:00. Заголовок: PS Команды можно доб..


PS
Команды можно добавить в меню "Windows" с клавишами, например
Ctrl-w, r - ReadOnly
Ctrl-w, e - Edit

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2759
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 09:33. Заголовок: alkresin При вставк..


alkresin
При вставке блока строк Ctrl+V в нижнюю часть окна hbedit, происходит передергивание показа после операции - курсор и строки показа перепрыгивают в верхнюю часть окна. Можно оставить показ в тех же координатах, как было перед вставкой (rкак в Far, к примеру) ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1347
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.08.19 11:18. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно оставить показ в тех же координатах


Если курсор после вставки остается в пределах экрана - посмотрю.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1348
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.08.19 11:23. Заголовок: Обновлен hbedit. Поп..


Обновлен hbedit.
Поправлены ошибки.
Изменен заголовок в окне сравнения.
Добавлена возможность сравнивать фрагменты файлов. Для этого надо выделить и поместить в clipboard первый фрагмент, затем выделить второй, вызвать меню (F9 или m) и выбрать опцию "Compare" - появятся два новых окна с результатом сравнения.
В ini добавлена опция pathinhead - если On, то в заголовке отображается полный путь к файлу. Как и некоторые др. опции, это можно поменять в командном режиме с помощью set pathinhead.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2760
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 14:01. Заголовок: alkresin До этой ве..


alkresin
До этой версии не собирал свою, использовал текущую hbedit.exe сp=RU1251
Пересобрал и у себя сделал для vwt так
 
hbedit.prg
------------
#include "hbgtinfo.ch"

REQUEST HB_CODEPAGE_LV866
REQUEST MSGBOX, MSGINFO, MSGYESNO, MSGYESNOCANCEL, MESSAGEBOXINDIRECT
#define GTWVT 1
...
#ifdef GTWVT
ANNOUNCE HB_GTSYS
REQUEST HB_GT_WVT
REQUEST HB_GT_WVT_DEFAULT
* ------------------------------------
hb_gtInfo( HB_GTI_CODEPAGE, 866 )
hb_cdpSelect( "LV866" )
* ------------------------------------
bkInit( cIniName )
#endif
...
bkInit.prg
-----------
#include "hbgtinfo.ch"

FUNCTION bkInit( cIniName )
Local cPath := hb_curDrive() + ":\" + Curdir() + '\'
Local cName := hb_ProgName(), cTmp
Local cExe := Lower(hb_fnameName(cName))
LOCAL cCapt := cExe

cTmp := Lower(gIniC7(cIniName, [OPTIONS], 'PathInHead', 'off'))

If 'off' $ cTmp
cCapt := cPath + '...' + space(2) + '-' + space(2) + cExe
EndIf

CLS

hb_gtInfo( HB_GTI_WINTITLE, cCapt )

RETURN Nil

Вроде нормальненько.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2761
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 15:24. Заголовок: alkresin Что нужно ..


alkresin
Что нужно сделать, что бы при заданном :bWriteTopPane работало разделение окна на части (хотя бы 2а, по горизонтали или вертикали) без отображения данных на горизонтальной полоске.
Т.е. при
 
IF ::bWriteTopPane != Nil
Eval( ::bWriteTopPane, Self, lClear, y )
ELSE
...

Была просто полоска и работа в разделенном окне.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2762
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 15:53. Заголовок: PS В 0 ой строке пол..


PS
В 0 ой строке полоски нет, весь вывод данных на StatusBar из нее и при разделении окна на части тоже

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1349
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.08.19 16:29. Заголовок: Была просто полоска ..



 цитата:
Была просто полоска и работа в разделенном окне.


:bWriteTopPane := {|o,l,y|
LOCAL nCol := Col(), nRow := Row()
SetColor( o:cColorPane )
Scroll( y, o:x1, y, o:x2 )
IF o:oParent != Nil .AND. o:x1 == o:oParent:x2 + 2
Scroll( o:y1, o:x1-1, o:y2, o:x1-1 )
ENDIF
SetColor( o:cColor )
DevPos( nRow, nCol )
RETURN Nil
}


 цитата:
В 0 ой строке полоски нет, весь вывод данных на StatusBar из нее и при разделении окна на части тоже


Ничего не понял.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2763
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 18:08. Заголовок: alkresin пишет Ничег..


alkresin пишет
 цитата:
Ничего не понял.


Имеется ввиду, что нет строки 0 с F9-Menu ...
Данные из этой строки перенесутся в StatusBar, который будет организован в дальнейшем.
Вопрос разделения работы по разделенному на части окну hbedit и вывода данных на строку горизонтальную разделения.

 цитата:
:bWriteTopPane := {|o,l,y|
LOCAL nCol := Col(), nRow := Row()
SetColor( o:cColorPane )
Scroll( y, o:x1, y, o:x2 )
IF o:oParent != Nil .AND. o:x1 == o:oParent:x2 + 2
Scroll( o:y1, o:x1-1, o:y2, o:x1-1 )
ENDIF
SetColor( o:cColor )
DevPos( nRow, nCol )
RETURN Nil
}


Не решило задачу разделения окна командами Ctrl-w, s или Ctrl-w, v
Тут пример сборки https://TransFiles.ru/my9x2

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2764
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 18:25. Заголовок: PS При перемещении в..


PS
При перемещении в окне hbedit примера, появляется 0 строка с закраской, что не должно было бы быть.
Такая строка уместна была бы по команде Ctrl-w, s , но только без вывода на нее данных. Вывод с нее перенаправить в StatusBar.
По команде Ctrl-w, v окно делится верт. полосой, но без полосы в 0 строке. Вывод с нее, так же, перенаправить в StatusBar.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1350
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.08.19 12:20. Заголовок: Никак не мог взять в..


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

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2765
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.08.19 13:00. Заголовок: alkresin пишет Для э..


alkresin пишет
 цитата:
Для этого надо включить панель статуса в дочерних горизонтальных окнах и использовать только в них тот bWriteTopPane.


Не понял где и что надо делать, что бы перехватывать вывод в статусную строку окна в фокусе, что бы перенаправить у себя индикацию в StatusBar., т.е. в работе вся клиентская область окна, включая 0 ую
Понимал так, что bWriteTopPane это вывод данных на статусную строку (окна в фокусе), а горизонтальные\вертикальные разделители окон это свойство\метод механизма разделения окон не связанная с bWriteTopPane

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1351
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.08.19 13:45. Заголовок: перехватывать вывод ..



 цитата:
перехватывать вывод в статусную строку окна в фокусе


Это в bWriteTopPane. Параметр lClear указывает, что надо только очистить строку панели (это когда соответствующее окно теряет фокус).
Горизонтальный разделитель окон - это и есть панель статуса. Вертикальный рисуется тоже в :WriteTopPane().

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2766
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.08.19 14:33. Заголовок: alkresin пишет Гориз..


alkresin пишет
 цитата:
Горизонтальный разделитель окон - это и есть панель статуса. Вертикальный рисуется тоже в :WriteTopPane()


Может прорисовку их вынести до выполнения bWriteTopPane, что бы разделение на окна было в любом случае, с учетом исключения 0-ой строки (oe:y1 := 0 в :bNew). Тогда в блоке кода останется чистый вывод в статусную строку, в моем случае в StatusBar

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2767
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.08.19 14:58. Заголовок: PS Если сделаю пусто..


PS
Если сделаю пустой блок
 
TEdit():bNew := {|oe| oe:lTopPane := .F., ;
oe:y1 := 0, ;
oe:y2 := MaxRow(), ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y) } }

FUNCTION StbLine( o, l, y )
LOCAL nCol := Col(), nRow := Row()
/*
SetColor( o:cColorPane )
Scroll( y, o:x1, y, o:x2 )
IF o:oParent != Nil .AND. o:x1 == o:oParent:x2 + 2
Scroll( o:y1, o:x1-1, o:y2, o:x1-1 )
ENDIF
SetColor( o:cColor )
DevPos( nRow, nCol )
*/

RETURN Nil

то работы с разделенным окном (Ctrl-w, s или v) совсем не будет. а мы только вывод в статусную строку отключили, а координаты работы в окне\окнах должны были остаться и по Ctrl+TAB (переключение фокуса) окна (позиция курсора) переключаться, а этого нет совсем. Т.е. нет разделения окна на части, а похоже есть 2а полноэкранных окна, т.к. передвинув курсор в одном и сделав Ctrl+TAB видим разницу позиций курсора.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1353
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.08.19 17:23. Заголовок: SergKis пишет: ..


SergKis пишет:

 цитата:
oe:y1 := 0, ;
oe:y2 := MaxRow(), ;
...
мы только вывод в статусную строку отключили, а координаты работы в окне\окнах должны были остаться


Как же они могли остаться, если вы их установили самостоятельно в полный размер?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2768
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.08.19 17:54. Заголовок: alkresin пишет Как ж..


alkresin пишет
 цитата:
Как же они могли остаться, если вы их установили самостоятельно в полный размер?


Тогда не понятно, как установить всю клиентскую область для основного окна (с 0-ой строкой), а подокна работали разбивая окно на части (как сейчас с 0-ой статусной строкой) и перехватывать данные для статусной строки для вывода в др. месте.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1354
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 28.08.19 13:20. Заголовок: Если есть подокна, т..


Если есть подокна, то основное окно занимает уже не все пространство, а только то, что осталось от подокон. И устанавливать для него координаты не надо - это делается автоматически.
:bWriteTopPane - самое подходящее место для вывода какой-то информации в др.место, он вызывается независимо от того, имеется статусная строка (::lTopPane := .T.) или нет.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1355
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 28.08.19 13:23. Заголовок: Обновлен hbedit. Рас..


Обновлен hbedit.
Расширено меню Windows.
В keymap из hbedit.ini теперь можно задавать сочетания клавиш, разделяя клавиши символом |
Например, Alt-1=>Ctrl-W|s

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2775
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.08.19 17:03. Заголовок: alkresin пишет Если ..


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


Вопрос остался, как убрать строку с F9-Menu и на месте этой строки была строка текста, т.е как убрать статусную строку ?
В windows редакторах в меню "Настройки" есть опции
- показывать панель инструментов
- показывать строку статуса
- показывать колонку нумерации строк текста
Если панель инструментов нету, то остальные пункты интересны в работе.

 цитата:
:bWriteTopPane - самое подходящее место для вывода какой-то информации в др.место


Это как раз понятно, более менее

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1356
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 28.08.19 18:18. Заголовок: SergKis пишет: Вопр..


SergKis пишет:

 цитата:
Вопрос остался, как убрать строку с F9-Menu и на месте этой строки была строка текста, т.е как убрать статусную строку ?


Самый простой способ - при вызове TEdit():New(cText, cFileName, y1, x1, y2, x2, cColor, lTopPane) установить 8-й параметр lTopPane в .F.
Другой - прописать в :bNew
o:lTopPane := .F.
o:y1 --

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2776
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.08.19 18:48. Заголовок: alkresin пишет Друго..


alkresin пишет
 цитата:
Другой - прописать в :bNew
o:lTopPane := .F.
o:y1 --


Это сработало. Спасибо.
Работает даже Ctrl-w,v , есть разделитель вертикальный.
При Ctrl-w,s нет горизонтального разделителя, но окно\подокно работает

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1357
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 28.08.19 19:05. Заголовок: При Ctrl-w,s нет гор..



 цитата:
При Ctrl-w,s нет горизонтального разделителя, но окно\подокно работает


Значит, для этих подокон lTopPane должно быть .T., это можно сделать в bNew, например, так:

if o:oParent == nil
o:lTopPane := .F.
o:y1 --
endif

т.е., не убирать панель статуса для дочерних окон. Или:

if o:y1 == o:aRectFull[1]+1
...

чтобы панели статуса не было у верхних окон.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2777
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.08.19 19:27. Заголовок: alkresin делал так ..


alkresin
делал так
 
TEdit():bNew := {|oe| iif( oe:oParent == Nil, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y) } }

не изменило от пред. поста, т.е. нет горизонтальной полосы-разделителя

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2778
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.08.19 22:41. Заголовок: alkresin пишет В key..


alkresin пишет
 цитата:
В keymap из hbedit.ini теперь можно задавать сочетания клавиш, разделяя клавиши символом |
Например, Alt-1=>Ctrl-W|s


Такое сочетание работает, а через Ctrl-1 или Ctrl-~ нет.
keymap=Ctrl-N=>Shift-F4,Ctrl-O=>Ctrl-F4,Ctrl-F=>F7,Ctrl-G=>Alt-F8,Ctrl-R=>Ctrl-F7,Alt-1=>Ctrl-w|v,Ctrl-1=>Ctrl-w|v,Ctrl-~=>Ctrl-w|s
Ctrl+<клавиша> рядом и "роднее" и удобнее, чем Alt+<клавиша>
Ctrl+TAB -переключить окна
Ctrl+~ - горизонтальное разделение
Ctrl+1 - вертикальное

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1358
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.08.19 08:53. Заголовок: не изменило от пред...



 цитата:
не изменило от пред. поста, т.е. нет горизонтальной полосы-разделителя


Точно, oParent устанавливается после вызова TEdit():New(), по нему нельзя проверить. Значит, сработает другое условие: o:y1 == o:aRectFull[1]+1


 цитата:
Такое сочетание работает, а через Ctrl-1 или Ctrl-~ нет.


Ctrl-1, Ctrl-2,... в Harbour в консоли вообще не работают - нет реакции на эти нажатия, не генерируется событие.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2780
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.08.19 21:03. Заголовок: alkresin пишет Ctrl-..


alkresin пишет
 цитата:
Ctrl-1, Ctrl-2,... в Harbour в консоли вообще не работают - нет реакции на эти нажатия, не генерируется событие.


Понятно.
А в WVT ?

 цитата:
Значит, сработает другое условие: o:y1 == o:aRectFull[1]+1


Горизонтальная строка появляется со смещением (где должно, в обычном режиме, находится "F9-Menu" ) и лишней информацией "Harbour plugins: Alt-D ...". Хотелось бы пустую полосу в ширину окна

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1361
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.08.19 09:00. Заголовок: А в WVT ? Да. Моя ..



 цитата:
А в WVT ?


Да. Моя сборка hbedit в нем построена.
Сделаю gt hwgui - там будет работать).


 цитата:
Горизонтальная строка появляется со смещением (где должно, в обычном режиме, находится "F9-Menu" ) и лишней информацией "Harbour plugins: Alt-D ...".


Горизонтальная разделительная строка появляется на месте строки статуса, потому что это она и есть. Какое это смещение?
"Harbour plugins: Alt-D ..." появляется только вначале, потом там пусто - это предупреждение, что для открытого в окне файла подключен Harbour плагин. Вы можете это отключить, если в :bNew пропишете o:bStartEdit := Nil или установите свой bStartEdit.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2781
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 11:08. Заголовок: alkresin пишет Вы м..


alkresin пишет
 цитата:
Вы можете это отключить, если в :bNew пропишете o:bStartEdit := Nil или установите свой bStartEdit.


Сделал
 
TEdit():bNew := {|oe| iif( oe:y1 == oe:aRectFull[1]+1, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bStartEdit := Nil , ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y) } }

результат такой же, как был описан ранее.
Пример, своя сборка, тут (смещение вправо линии на длину "F9-Menu", так понимаю) https://my-files.ru/zn3jdl
Если убираю в ini
;plugin=plug_prg_init.hrb
то горизонтальная линия разделения окна пропадает совсем
А можно сделать, что то типа oEdit:lStatusLine := .T.\.F. ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2782
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 11:19. Заголовок: PS Разговор о команд..


PS
Разговор о командах
Ctrl-w,v - нормальное разделение
Ctrl-w,s - не нормальное разделение

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1363
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.08.19 13:11. Заголовок: SergKis пишет: Прим..


SergKis пишет:

 цитата:
Пример, своя сборка, тут (смещение вправо линии на длину "F9-Menu", так понимаю) https://my-files.ru/zn3jdl


Файл по ссылке удален - пишут, вредоносное ПО)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2783
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 13:35. Заголовок: alkresin пишет Файл ..


alkresin пишет
 цитата:
Файл по ссылке удален - пишут, вредоносное ПО)


Да, удалили, но не сразу, я сначала проверил ссылку.
Тут https://TransFiles.ru/pzqj9

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2784
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 13:42. Заголовок: PS в bkInit я убрал ..


PS
в bkInit я убрал oe:bStartEdit := Nil, т.к. с ним при Ctrl-w,s совсем нет горизонтальной разд. строки, а так она есть, но из plugin init. Если комментируем в ini (как выше), то опять совсем нет горизонтальной разд. строки

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2785
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 13:47. Заголовок: PPS И как для меня, ..


PPS
И как для меня, plugin=plug_prg_init.hrb в таком виде, нужен как пример, т.е. в работе ( Far Alt+F4 ) он отключен

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1364
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.08.19 14:04. Заголовок: Ну так вы же сами уб..


Ну так вы же сами убрали из :bWriteTopPane отрисовку разделительной линии.
Надо, чтоб было:
 
IF ::lTopPane
DispBegin()
SetColor( ::cColorPane )
Scroll( y, ::x1, y, ::x2 )
IF ::oParent != Nil .AND. ::x1 == ::oParent:x2 + 2
Scroll( ::y1, ::x1-1, ::y2, ::x1-1 )
ENDIF
DispEnd()
ENDIF


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2786
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 14:56. Заголовок: alkresin пишет Ну та..


alkresin пишет
 цитата:
Ну так вы же сами убрали из :bWriteTopPane отрисовку разделительной линии.


Да, убрал, т.к. если делать прорисовку в :bWriteTopPane (в том виде как в StbLine(...), была ваша рекомендация), то начинает появляться и жить закраска в 0ой строке, при вертикальном разделении Ctrl-w,v
Если сделать по последней рекомендации, то все хорошо, как хотелось и при ;plugin=plug_prg_init.hrb
Спасибо.
Может тогда вынести прорисовку вертикальной\горизонтальной строки разделения до :bWriteTopPane
 
< сюда, к примеру >
IF ::bWriteTopPane != Nil
Eval( ::bWriteTopPane, Self, lClear, y )
ELSE
IF ::lTopPane
DispBegin()
SetColor( ::cColorPane )
Scroll( y, ::x1, y, ::x2 )
IF ::oParent != Nil .AND. ::x1 == ::oParent:x2 + 2
Scroll( ::y1, ::x1-1, ::y2, ::x1-1 )
ENDIF


Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


SergKis пишет:

 цитата:
Может тогда вынести прорисовку вертикальной\горизонтальной строки разделения до :bWriteTopPane


Можно.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2805
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.09.19 16:32. Заголовок: alkresin Можно доба..


alkresin
Можно добавить в hbedit ?
- если имя плагина (без расширения .hrb) есть как функция, выполнить ее (плагин перенесен в тело hbedit), что бы не править базовый текст при смене модификации hbedit
- в плагин plug_prg_spis.prg включить определения INIT WINDOW ... и DEFINE WINDOW ..., что бы не править плагин базовый, т.к. до этих определений, после FUNCTION, может находится достаточно строк

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


SergKis пишет:

 цитата:
если имя плагина (без расширения .hrb) есть как функция, выполнить ее (плагин перенесен в тело hbedit),


Проблематично. Надо менять логику работы в нескольких местах - многое заточено под номер плагина в массиве, сформированном из секции [PLUGINS], в т.ч. - назначение горячих клавиш. И, честно говоря, не вижу смысла в переносе плагина в тело основной программы - впрочем, мы об этом уже говорили.

 цитата:
в плагин plug_prg_spis.prg включить определения INIT WINDOW ... и DEFINE WINDOW


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

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2811
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.09.19 11:12. Заголовок: alkresin пишет Надо ..


alkresin пишет
 цитата:
Надо менять логику работы в нескольких местах - многое заточено под номер плагина в массиве, сформированном из секции [PLUGINS], в т.ч. - назначение горячих клавиш


Потому и поднял вопрос, т.к. придется каждый раз менять свой код при смене версии hbedit. Из всех плагинов нужно максимум 3 и без изменений, каталог plugins, как бы, лишний, а иногда мешающий, при уст. на разных местах (pc)

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


Это хорошее решение, но уже несколько лет в своем проекте работает набор определений как у вас и плюс 2а про которые написал. Есть ли смысл усложнять с доп. ini ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2812
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.09.19 11:27. Заголовок: PS FUNCTION edi_Run..


PS

 цитата:
 
FUNCTION edi_RunPlugin( oEdit, xPlugin )

LOCAL i, cPlugin, cFullPath

IF Valtype( xPlugin ) == "N"
i := xPlugin
ELSEIF Valtype( xPlugin ) == "C"
i := Ascan( TEdit():aPlugins, {|a|a[1]==xPlugin} )
ENDIF
IF i > 0
IF Empty( TEdit():aPlugins[i,4] )
cPlugin := TEdit():aPlugins[i,1]
IF !Empty( cFullPath := edi_FindPath( "plugins" + hb_ps() + cPlugin ) )
TEdit():aPlugins[i,4] := hb_hrbLoad( cFullPath )
TEdit():aPlugins[i,5] := cFullPath
ENDIF
ENDIF
IF !Empty( TEdit():aPlugins[i,4] )
hb_hrbDo( TEdit():aPlugins[i,4], oEdit, hb_fnameDir( TEdit():aPlugins[i,5] ) )
ENDIF

ENDIF

RETURN Nil


Может достаточно изменить выделенное цветом, остальное не трогать, т.к. в ini список плагинов будет и нужно перед выполнением проверть наличие ф-ии и выполнить, если есть. И работа с номером плагина в др. местах останется

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1372
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.09.19 13:08. Заголовок: Недостаточно. В масс..


Недостаточно. В массив TEdit():aPlugins добавляются не все плагины, перечисленные в ini, а только те, для которых найдены соответствующие hrb - иначе в меню по F11 могут попасть несуществующие плагины.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2813
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.09.19 13:30. Заголовок: alkresin пишет Недос..


alkresin пишет
 цитата:
Недостаточно. В массив TEdit():aPlugins добавляются не все плагины...


Понял.
Тогда можно перенести edi_RunPlugins() к edi_Alert() в falert.prg.
В реальной работе нет F11 (меню плагинов, будет блокирована или исп. для другого), т.к. используется только 1 плагин (мах будет 3) и все на клавишах.
Каталог Plugins с фиктивными hrb можно оставить.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1373
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.09.19 14:49. Заголовок: Что-то запутали вы м..


Что-то запутали вы меня). Проблема для вас была в наличии каталога plugins, который "как бы, лишний, а иногда мешающий" - из-за этого вы хотели перенести плагин в основной текст. А теперь пишете, что для обеспечения работы схемы "каталог Plugins с фиктивными hrb можно оставить"...
Впрочем, если перенос edi_RunPlugins() в falert.prg вас выручит, я не сильно против.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2814
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.09.19 20:10. Заголовок: alkresin пишет Что-т..


alkresin пишет
 цитата:
Что-то запутали вы меня)


Совершенно не хотел этого делать. Если плагины уходят в текст hbedit, то каталог plugins, как бы лишний, но если отсутствие каталога мешает нормальной работе hbedit в др. кусках кода, то пусть каталог остается для меню, индекса и т.д., а hrb плагинов пусть лежат. Если текст плагина включен в код hbedit выполнится он, нет - выполнится плагин, если назначен в ini. У себя в работе с prg, надолго, нужен только 1 плагин, возможно, в дальнейшем еще +2а и все. С последней сборки (вашими рекомендациями) на Alt+F4 в Far повесил hbedit и практически перестал использовать Notepad3 на Enter и F4 (фаровский edit). Работа вся на клавишах, никакое меню (кроме уст. кодовой страницы) не вызывал не разу. При смене версии правится только hbedit.prg и очень немного. Как бы все устаканивается с исп. LV866 и др. кодовых страниц. Спасибо.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2825
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.09.19 09:10. Заголовок: alkresin Можно вызо..


alkresin
Можно вызов меню выбора кодовых страниц, сделать на клавиши и комбинацию их задавать в ini ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2827
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.09.19 11:37. Заголовок: alkresin В параметр..


alkresin
В параметры командной строки можно добавить кодовую страницу для файла (из списка ini указанные)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2828
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.09.19 18:07. Заголовок: alkresin Добавил в ..


alkresin
Добавил в параметры командной строки (своя сборка)
-cp=<кодовая страница>
-his=<режим savehis = 0>
Это понадобилось при подключении hbedit в проектах вместо Akelpad, дополнительно к Far Alt+F4 режиму.
Возможно, похожее надо в вашей сборке hbedit.exe ?
К примеру, когда prg файлы в кодировках RU866, RU1251, Utf8

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2829
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.09.19 18:11. Заголовок: PS Far Alt+F4 режим ..


PS
Far Alt+F4 режим работает с savehis=1 и cp=RU1251, а запуски из проекта savehis=0 и cp=LV866, при этом prg Utf8 с bom отлично понимаются.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2830
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.09.19 20:40. Заголовок: alkresin Можно ли у..


alkresin
Можно ли уст. palette из параметра командной строки ?
Например в ini
palette=solarized light
из командной строки поставить far или notepad

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


SergKis пишет:

 цитата:
отсутствие каталога мешает нормальной работе hbedit в др. кусках кода


Отсутствие каталога plugins/ мешает только работе плагинов. В обсуждаемом случае это вызов плагина по горячей клавише.

 цитата:
Можно вызов меню выбора кодовых страниц, сделать на клавиши и комбинацию их задавать в ini ?


Так ведь Shift-F8 для этого предназначен - в help'е и на сайте про это написано. Ну а комбинацию эту можно переназначить в ini, если надо.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2831
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.09.19 09:30. Заголовок: alkresin пишет Так в..


alkresin пишет
 цитата:
Так ведь Shift-F8 для этого предназначен - в help'е и на сайте про это написано


Пропустил, не увидел. Все работает.
Спасибо.
 цитата:
Отсутствие каталога plugins/ мешает только работе плагинов


Понятно

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1375
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.09.19 09:33. Заголовок: По поводу добавления..


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

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2832
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.09.19 09:45. Заголовок: alkresin пишет По по..


alkresin пишет
 цитата:
По поводу добавления новых параметров командной строки:
сделать-то можно, но, по моему, более универсальным решением было бы просто указать в командной строке другой ini - так можно задать любую комбинацию нужных параметров.


В проектах свои ini и в них все есть. Размножать доп. ini не очень хочется.
Попробовал 2а каталога с hbedit и запуски в Far с одного, в проектах с другого. Уже не очень удобно, т.к. чувствую где то понадобится savehis=2.
Смотрел на замену Palete, вроде, на уровне TEdit сложновато получается. Если не делать в вашей сборке (может кроме меня никому не нужно), то перекиньте FUNCTION edi_IniRead( cFileName ) в файл falert.prg. Буду делать подмену на этом уровне (разбор строк в секциях)

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1376
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.09.19 13:00. Заголовок: Хорошо, добавлю. Смо..


Хорошо, добавлю.

 цитата:
Смотрел на замену Palete, вроде, на уровне TEdit сложновато получается. Если не делать в вашей сборке (может кроме меня никому не нужно), то перекиньте FUNCTION edi_IniRead( cFileName ) в файл falert.prg.


Я пока не вижу проблемы с объявлением в комадной строке palette (вы ведь об этом?). А вот edi_IniRead() нельзя - она пользуется статическими переменными.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2836
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.09.19 14:04. Заголовок: alkresin пишет edi_..


alkresin пишет
 цитата:
edi_IniRead() нельзя - она пользуется статическими переменными.


Нельзя edi_ReadIni( xIni ) из fedit.prg, edi_iniRead() из ffiles.prg там нет статик переменных

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2837
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.09.19 14:28. Заголовок: PS Для Palette парам..


PS
Для Palette параметра начал набирать (не доделал пока) так, сам параметр -clr=0\1\2\3\4
по именам секций [PALETTE_0], ..., [PALETTE_4], что бы не привязываться к длинным именам
Значение palette=far секции [OPTIONS] брать из name=... [PALETTE_?]

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1377
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.09.19 15:21. Заголовок: Зачем так сложно-то?..


Зачем так сложно-то?
Добавил я три параметра (залил на github):
-cp=
-his=
-pal=

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2838
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.09.19 16:09. Заголовок: alkresin пишет Зачем..


alkresin пишет
 цитата:
Зачем так сложно-то?


По мне, наоборот, просто. Не надо помнить длинные названия.
Тут текст мой (сделал как у вас -pal=<только тут число>) Скрытый текст


 цитата:
Добавил я три параметра (залил на github):


Спасибо, буду использовать.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2845
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.09.19 08:33. Заголовок: alkresin Нарушилась..


alkresin
Нарушилась прорисовка разделения окна по Ctrl-w,s, Ctrl-w,v (вся клиентская область в работе edit)
Добавка из пред. версии в METHOD WriteTopPane( lClear ) Скрытый текст

восстановила прорисовку только горизонтальное разделения
при вертикальном, прорисовка делается и убирается, видно мелькание

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1378
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.09.19 09:54. Заголовок: Там просто вертикаль..


Там просто вертикальный разделитель не прорисовывался . Поправил.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2848
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.09.19 10:54. Заголовок: alkresin пишет Там п..


alkresin пишет
 цитата:
Там просто вертикальный разделитель не прорисовывался . Поправил.


Вертикальный разделитель прорисовался, а горизонтальный нет, пропал
Моих правок нет. :New такой и StbLine() - пустышка пока
 
TEdit():bNew := {|oe| iif( oe:y1 == oe:aRectFull[1]+1, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y) } }


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2849
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.09.19 12:12. Заголовок: PS добавил, вроде, с..


PS
добавил, вроде, стало прорисовывать как надо
 
SetColor( ::cColorPane )
IF ::lTopPane
Scroll( y, ::x1, y, ::x2 )
ENDIF

IF ::oParent != Nil .AND. ::x1 == ::oParent:x2 + 2
Scroll( ::y1, ::x1-1, ::y2, ::x1-1 )
ENDIF

IF ::bWriteTopPane != Nil


Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1379
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.09.19 12:32. Заголовок: SergKis пишет: TEdi..


SergKis пишет:

 цитата:
TEdit():bNew := {|oe| iif( oe:y1 == oe:aRectFull[1]+1, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y) } }


Вы берете прорисовку панели статуса на себя, но функция соответствующая у вас пустая...
Вставьте в нее хотя бы
IF ::lTopPane  
Scroll( y, ::x1, y, ::x2 )
ENDIF


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2850
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.09.19 12:57. Заголовок: alkresin пишет Вы бе..


alkresin пишет
 цитата:
Вы берете прорисовку панели статуса на себя, но функция соответствующая у вас пустая...


В функции будет вывод в windows StatusBar по item-ам, а прорисовка разделителей экрана (полос) - как бы свойство TEdit.
Что выводить в StatusBar и сколько item-ов не определился пока, т.к. нет загрузок нескольких файлов (всегда 1) для работы и переключения между окнами по Ctrl+TAB (исп. только при разделении окна на части для работы в др. местах загруженного текста). Сейчас пробую вывод полного имени и cdp в Title окна - вроде неплохо
Строки
 
IF ::lTopPane
Scroll( y, ::x1, y, ::x2 )

повторяться будут и в блоке кода и без блока, потому вынес эти строки к вашим

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2851
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 09:43. Заголовок: alkresin При savehi..


alkresin
При savehis=1 и первый экран отображения (ничего не делали) отображение row, col не совпадает с позицией курсора (правильно стоит). Стоит сделать перемещение и все ok

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2852
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 10:41. Заголовок: PS Возможно, будет и..


PS
Возможно, будет интересно, сборка hbedit с cdp LV866 и StatusBar https://TransFiles.ru/87bmx
LV866 и RU866 практически одинаковые, лат. буквы в псевдографике

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2853
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 14:15. Заголовок: alkresin Можно ли, ..


alkresin
Можно ли, например, строке keywords4 присвоить цвет подсветки quotes (подсветка текста в кавычках) ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1380
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.09.19 14:55. Заголовок: SergKis пишет: При ..


SergKis пишет:

 цитата:
При savehis=1 и первый экран отображения (ничего не делали) отображение row, col не совпадает с позицией курсора (правильно стоит).


Отображение координат в панели статуса? У меня вроде все правильно.

 цитата:
Можно ли, например, строке keywords4 присвоить цвет подсветки quotes (подсветка текста в кавычках) ?


А почему нельзя? Любой цвет присваивайте. Или я что-то недопонял?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2854
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 15:10. Заголовок: alkresin пишет Любой..


alkresin пишет
 цитата:
Любой цвет присваивайте. Или я что-то недопонял?


Скорее я не очень понимаю, как присвоить цвет строке keywords4=...
Цвет keywords1 отличается от keywords2\3, но как поменять, что то не найду, т.е. ключевым словам в keywords4 назначить цвет другой, чем keywords2\3, к примеру как quotes.

 цитата:
У меня вроде все правильно


В вашей сборке идет сообщение из плагина и нажав что то, все становится ok.
В моей сборке видно, значения row,col при первом входе одни, при нажатии перемещения - другие.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2855
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 15:52. Заголовок: PS при организации п..


PS
при организации подокон (Ctrlw-w,s \ Ctrlw-w,v ) происходит то же самое при Ctrl-TAB (переключение по окнам)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2856
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 16:43. Заголовок: SergKis пишет Скорее..


SergKis пишет
 цитата:
Скорее я не очень понимаю, как присвоить цвет строке keywords4=...


Обыскался в исходниках, а оказалось совсем просто в ini [PALETTE_?] секции

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




Пост N: 6436
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.09.19 18:30. Заголовок: А в редактор можно д..


А в редактор можно добавить кнопки для сборки проекта ?
Чтобы править и собирать и запускать проект без Far'a ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2857
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 18:31. Заголовок: alkresin Можно доба..


alkresin
Можно добавить keywords5 с цветом startline ?
Просится некоторые слова выделить поярче.
Попробовал добавить
LOCAL aHiliOpt := { "keywords1","keywords2","keywords3","keywords4","keywords5","quotes","scomm","startline","mcomm","block" }
В ini секции
[PALETTE_?] добавил keywords5=B+/GR (значения из startline=B+/GR)
[LANG_PRG] добавил keywords5=modal child main activate center mdi
но что то не срослось, что не понимаю ?
Или так нельзя ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2858
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 18:38. Заголовок: Andrey пишет А в ред..


Andrey пишет
 цитата:
А в редактор можно добавить кнопки для сборки проекта ?
Чтобы править и собирать и запускать проект без Far'a ?


Раньше было окошечко для запуск bat\cmd файла, что то сейчас его не вижу ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2859
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 18:44. Заголовок: Andrey пишет Чтобы п..


Andrey пишет
 цитата:
Чтобы править и собирать и запускать проект без Far'a ?


Прочитай http://www.kresin.ru/hbedit.html#Plug
есть plug_hbp_init.prg - init плагин для hbp-файлов (hbmk2), обеспечивающий навигацию по файлам проекта и сборку проекта. Т.е. загружаешь hbp файл и можешь загружать\работать собирать Alt+R

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




Пост N: 6437
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.09.19 22:20. Заголовок: Запустил HBEDIT.EXE,..


Запустил HBEDIT.EXE, нажал F1, вижу такое:


SergKis пишет:

 цитата:
Прочитай http://www.kresin.ru/hbedit.html#Plug
есть plug_hbp_init.prg - init плагин для hbp-файлов (hbmk2), обеспечивающий навигацию по файлам проекта и сборку проекта. Т.е. загружаешь hbp файл и можешь загружать\работать собирать Alt+R


Понял. Буду смотреть.

А для старых терминальных проектов в DOC кодировке (866) сборку можно будет настроить для хХарбора ?
И чтобы псевдографика использовалась.
Там проект собирается через родную сборку проекта:
z:\xHarbour\bin\hbmake MyPrj4.bc
Сам проект правиться до сих пор в ME 7.01. Терминал хХарбора GTWVT 1.2
А ME 7.01 дружит только с 32бит виндой + раздел винта маленький должен быть, иначе он не запускается.

Пытаюсь прекратить поддержку терминалки - юзера не дают !
Видать до самой пенсии придётся сопровождать.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2864
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 22:49. Заголовок: Andrey пишет А для с..


Andrey пишет
 цитата:
А для старых терминальных проектов в DOC кодировке (866) сборку можно будет настроить для хХарбора ?


У тебя внизу справа кодировка RU1251, переключи Shift+F8 или F9-Menu
В ini по умолчанию стоит
[SCREEN]
cp=RU1251
можешь поставить
cp=RU866
почитай сайт с описанием и посмотри ini

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2865
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 23:10. Заголовок: PS Help не использов..


PS
Help не использовал, переименовал hbedit.help -> hbedit_ru.help
hbedit_en.help -> hbedit.help

скачай с сайта родной hbedit (данные ini из моего можно перенести в родной)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2866
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 23:21. Заголовок: PPS разобрался. Для ..


PPS
разобрался.
Для просмотра help ставится кодировка по умолчанию, она в моем ini cp=RU1251
Если гружу prg, кодировка RU1251, меняю кодировку на RU866, на prg установилась и показывает
Нажимаю F1, окно help на экране, видно, что это 2ое окно и кодировка RU1251
Потому и кракозяблики при русском hbedit.help
Лучше было бы hbedit.help иметь в Utf8 c bom.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1381
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.09.19 14:15. Заголовок: SergKis пишет: В ва..


SergKis пишет:

 цитата:
В вашей сборке идет сообщение из плагина и нажав что то, все становится ok.
В моей сборке видно, значения row,col при первом входе одни, при нажатии перемещения - другие.


Проверял без плагина (просто переместил его временно из plugins/) - все нормально.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1382
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.09.19 14:24. Заголовок: Andrey пишет: А в р..


Andrey пишет:

 цитата:
А в редактор можно добавить кнопки для сборки проекта ?
Чтобы править и собирать и запускать проект без Far'a ?


Как Сергей уже сказал, если открыть редактором соответствующий .hbp, его можно исполнить (построить проект) по Ctrl-L.
Если у вас не .hbp, а .bat, его можно запустить на выполнение из командного режима. Переключаетесь в командный режим, нажав два раза Ctrl-Q (при этом курсор должен перейти в нижнюю строчку - она очистится), введите ! и имя bat-файла и жмите Enter:
!bld.bat
Кстати, из командного режима можно с помощью ! исполнить любую консольную программу, результат будет выведен в отдельное подокно.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1383
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.09.19 14:25. Заголовок: SergKis пишет: Рань..


SergKis пишет:

 цитата:
Раньше было окошечко для запуск bat\cmd файла, что то сейчас его не вижу ?


Не помню такого окошечка. Внешние программы запускаются из командного режима, как в Vim).

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


SergKis пишет:

 цитата:
Можно добавить keywords5 с цветом startline ?


Надо менять hilight.prg, класс Hili - там определены 4 набора keywords.

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




Пост N: 6438
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.09.19 16:25. Заголовок: alkresin пишет: Есл..


alkresin пишет:

 цитата:
Если у вас не .hbp, а .bat, его можно запустить на выполнение из командного режима. Переключаетесь в командный режим, нажав два раза Ctrl-Q (при этом курсор должен перейти в нижнюю строчку - она очистится), введите ! и имя bat-файла и жмите Enter:



Andrey пишет:

 цитата:
Там проект собирается через родную сборку проекта:
z:\xHarbour\bin\hbmake MyPrj4.bc



Файлы проекта в хХарборе имеют расширение .bc
Насчёт батника понял. Спасибо !

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2867
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.09.19 17:03. Заголовок: alkresin пишет: Пере..


alkresin пишет:

 цитата:
Переключаетесь в командный режим, нажав два раза Ctrl-Q


defmode=-1
Vim режим отключен и не будет командной строки

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

.
"Хорошо бы пива", что бы окошечко было, т.к. консоли нет, есть wvt совсем чуть-чуть и hmg

 цитата:
Надо менять hilight.prg, класс Hili - там определены 4 набора keywords.


Можно добавить, п о ж а л у й с т а ?
Раскрасил hmg команды (получилось хорошо), но не хватает цвета поярче от #define ..., #include ..., т.е. startline для некоторых слов

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2868
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.09.19 17:54. Заголовок: alkresin пишет Прове..


alkresin пишет
 цитата:
Проверял без плагина (просто переместил его временно из plugins/) - все нормально.


У меня убран из ini (убирал hrb), результат одинаков.
Вот сборка моя https://TransFiles.ru/50low
на ней видно разные значения row, col после загруженного (через параметры командной строки) файла и при организации под окон Ctrl-w,s\v
Подскажите, как правильно исправить ситуацию ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2869
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 10:15. Заголовок: alkresin Еще просьб..


alkresin
Еще просьба
- сделать список his по F4 с поиском, а не с ключом слева
- добавить в edi_SeleFile() маску для файлов, тогда без доп. окна можно организовать запуск bat\cmd файлов не только
компиляции (hbp у меня нет, кроме hmg, есть местами), но и др. вариантов, например, запуск notepad3 в режиме сбора
инф. буфера клавиатуры
- вынести меню с текстами и тексты с запросов окон в hbedit.prg для языковых вариантов, сейчас для своей сборки меняется только hbedit.prg, хотелось бы сохранить эту традицию

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2870
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 10:23. Заголовок: PSдобавить в edi_Sel..


PS
 цитата:
добавить в edi_SeleFile() маску для файлов


Просмотрел, параметр маски есть в функции. Снимается вопрос.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2871
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 11:06. Заголовок: PS Можно сделать при..


PS
Можно сделать при выделении текста F3 и блоковом по Ctrl+F3 при повторном нажатии (конец выделения) не выбрасывать меню с предложением выбрать буфер клавиатуры (к примеру, по переменной в TEdit .T.\.F.) ?
Режим удобен при работе одной рукой

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2872
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 11:12. Заголовок: PPS даже если ставлю..


PPS
даже если ставлю
#define MAX_CBOARDS 1
#define MAX_EDIT_CBOARDS 1
#define CBOARD_MINUS 1
меню с одной строкой вываливается

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2873
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 11:44. Заголовок: alkresin SergKis пи..


alkresin
SergKis пишет
 цитата:
на ней видно разные значения row, col после загруженного (через параметры командной строки) файла и при организации под окон Ctrl-w,s\v
Подскажите, как правильно исправить ситуацию ?


Исправил так
 
TEdit():bNew := {|oe| iif( oe:y1 == oe:aRectFull[1]+1, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bOnKey := {|o,n| EdOnKey(o, n) }, ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y,cExe) }, ;
__KeyBoard( chr(K_RIGHT)+chr(K_LEFT) )
}

Может не очень красиво, но работает.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2874
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 13:36. Заголовок: alkresin При создан..


alkresin
При создании под окна Ctrl-w,s и Ctrl-w,o (полное окно) меняется поведение клавиши Esc и не переключаются окна по Ctrl-w,w.
Так должно быть ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2875
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 14:56. Заголовок: alkresin Как вызват..


alkresin
Как вызвать из подключаемого блока кода плагин, вызываемый по Alt-L (Function list) ?
TEdit():bNew := ... постом выше. Исходный текст обработки тут Скрытый текст

Цветом выделена попытка вернуть Alt+L в обработчик, не срабатывает
попытка через __Keyboard(chr(K_ALT_L)) и возврат -1 в обработчик, не срабатывает
Как правильно надо ?

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




Пост N: 6439
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.09.19 17:56. Заголовок: SergKis пишет: Раск..


SergKis пишет:

 цитата:
Раскрасил hmg команды (получилось хорошо), но не хватает цвета поярче от #define ..., #include ..., т.е. startline для некоторых слов


Я посмотрел раскраску под МиниГуи. Что то блеклая она какая то ... А поярче нельзя ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2876
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 17:59. Заголовок: alkresin При работе..


alkresin
При работе с xml, html файлами, возможно, надо читать кодировку и при Utf-8 включать автоматом utf8 в hbedit

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




Пост N: 6440
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.09.19 18:20. Заголовок: https://i.imgur.com/..




Можно сделать переход на редактирование сразу в меню ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2877
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 18:22. Заголовок: Andrey пишет Я посмо..


Andrey пишет
 цитата:
Я посмотрел раскраску под МиниГуи. Что то блеклая она какая то ... А поярче нельзя ?


В ini Александр уже подготовил несколько вариантов раскраски секции [PALETTE_0],[PALETTE_1],[PALETTE_2],[PALETTE_3],[PALETTE_4]. Я взял готовый [PALETTE_4] (для моих глаз хорошо), про добавку еще цвета, который поярче и есть, я просил выше. В hbedit можно создать палитру цветов свою и применить к keywords1-4 самостоятельно и довольно не трудно.

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




Пост N: 6441
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.09.19 18:25. Заголовок: Ещё по умолчанию хот..


Ещё по умолчанию хотелось бы иметь выход из редактора по Alt+X и Alt+Q (с сохранением всех файлов) как в ME7.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2878
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 18:25. Заголовок: Andrey пишет Можно с..


Andrey пишет
 цитата:
Можно сделать переход на редактирование сразу в меню ?


Стремлюсь к мах возможному переносу в меню windows режимов hbedit. То что кидал теме и выкладывал тут выше - состояние на сегодня

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




Пост N: 6442
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.09.19 18:52. Заголовок: В ME7 очень удобное ..


В ME7 очень удобное меню по правому Ctrl+Enter
В нём можно сделать свои настройки по компиляции и запуску проекта.
Всё сразу сохраняется в настройках и при переносе ничего заново настраивать не надо.
Вот такое меню по по правому Ctrl+Enter:

Можно ли сделать такое же меню запуска ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2879
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 23:00. Заголовок: alkresin Можно сдел..


alkresin
Можно сделать, чтобы edi_SeleFile() понимала массив на входе ?
К примеру
 
FUNCTION edi_SeleFile( oEdit, cPath, y1, x1, y2, x2 )

LOCAL aMenu := iif( HB_ISARRAY( cPath ), AClone( cPath ), edi_Directory( cPath ) ), i, nPos, arr

для формирования массива из нескольких масок ф-ей edi_Directory( cPath ) в цикле

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2880
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.09.19 08:42. Заголовок: alkresin SergKis пи..


alkresin
SergKis пишет
 цитата:
Исправил так
TEdit():bNew := {|oe| iif( oe:y1 == oe:aRectFull[1]+1, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bOnKey := {|o,n| EdOnKey(o, n) }, ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y,cExe) }, ;
__KeyBoard( chr(K_RIGHT)+chr(K_LEFT) ) }

Может не очень красиво, но работает.


Оказалось не везде работает. Обработка сообщений меню Скрытый текст

Как это побороть ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2881
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.09.19 11:09. Заголовок: PS Показ неверных ко..


PS
Показ неверных координат по колонке ошибка.
Row = 184, Col = 4 . Создаем под окно Ctrl-w,s, значение Row = 184, Col = 4 в под окне. Переходим в позицию
Row = 192, Col = 7
Переключение по Ctrl-w,w пошаговое
- жмем Ctrl-w => Row = 192, Col = 7 добавляем w, Row = 184, Col = 8 жмем -> Row = 184, Col = 5 жмем <- Row = 184, Col = 4
- жмем Ctrl-w => Row = 184, Col = 4 (правильно) добавляем w, Row = 192, Col = 29 (должна быть Col = 7)
- жмем Ctrl-w => Row = 192, Col = 7 (правильно) добавляем w, Row = 184, Col = 8 (должна быть Col = 4)
- жмем Ctrl-w => Row = 184, Col = 4 (правильно) добавляем w, Row = 192, Col = 29 (должна быть Col = 7)
и т.д.
При нажатии Ctrl-Tab получаем сразу конечные значения
Row = 192, Col = 29 (должна быть Col = 7) и
Row = 184, Col = 8 (должна быть Col = 4)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2882
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.09.19 12:09. Заголовок: SergKis пишет Как эт..


SergKis пишет
 цитата:
Как это побороть ?


Ларчик просто открывался
Поменялись способы добычи Row, Col в :WriteTopPane() (еле высмотрел)
Перенес в свою процедуру. Убрал добавки с __keyBoard() тоже, все заработало
Блин столько времени ...
УРА!


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2883
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: Вчера 07:00. Заголовок: alkresin При выделе..


alkresin
При выделенном блоке Shift+стрелки, Ctrl+C и вставка в Far этого блока, происходит искажение данных, при тех же действиях из Far в hbedit аналогично искажаются данные, т.е.
 
Far выделенный блок
kod provodki na pribilj LV
kod provodki na pribilj ES
kod provodki na pribilj OT
kod provodki Pvn

hbedit строки
LOCAL cProvPr := gProp( ProvPr ) //
LOCAL cProvPrE := gProp( ProvPrE ) //
LOCAL cProvPrO := gProp( ProvPrO ) //
LOCAL cProvPvn := gProp( ProvPvn ) //
блок из Far по Ctrl+V вставляем за первым // и получаем
LOCAL cProvPr := gProp( ProvPr ) // kod provodki na pribilj LV
kod provodki na pribilj ES
kod provodki na pribilj OT
kod provodki Pvn

LOCAL cProvPrE := gProp( ProvPrE ) //
LOCAL cProvPrO := gProp( ProvPrO ) //
LOCAL cProvPvn := gProp( ProvPvn ) //

из hbedit в Far аналогично
Между Akelpad, Notepad3 этого не происходит + из них и в Far переносится правильно

Можно ли привести к такому же поведению hbedit, как Akelpad и Notepad3 ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2885
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: Вчера 11:25. Заголовок: PS На окне "Open..


PS
На окне "Open file" может есть клавиши, для вызова списка файлов ?
Как то удобно хвататься за мышь. Если нет назначенной клавиши, может, сделать как у combobox кл. F4 - развертка списка

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2887
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: Вчера 11:48. Заголовок: PPS По F4 и через ме..


PPS
По F4 и через меню F9 вкл. режим списка файлов истории.
Пожелания:
- сделать, как где то уже делали, если длина массива <= 3, то список с ключом слева (как сейчас), при > 3 список с поиском.
- увеличить правую границу с 67 (стоит в некоторых местах кода) до MaxCol() - x1 - 1, тогда больше файлов (возможно все) пойдут с нормальным именем, а не с укороченным через функцию

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




Пост N: 6444
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: Вчера 12:11. Заголовок: alkresin Большое по..


alkresin
Большое пожелание сделать удобное меню по правому Ctrl+Enter.
Как писал в Пост N: 6442
Заранее большое спасибо !

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 184 , стр: 1 2 3 4 5 6 7 8 9 10 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 10
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет