Автор | Сообщение |
alkresin
|
| moderator
|
Пост N: 1174
Зарегистрирован: 06.07.06
|
|
Отправлено: 04.04.19 14:37. Заголовок: Hbedit - текстовый редактор (продолжение)
Довел, наконец, свой текстовый редактор до того состояния, когда можно показать его общественности. Я начал писать его сначала как замену Memoedit(), но потом увлекся) и решил сделать что-то помощнее, как нормальный редактор для повседневного использования. Мне приходится в течение дня работать и под виндами, и под Линуксом - использую Far и mc, соответственно. Иногда Vim - но к некоторым вещам в нем так и не привык. Но хочется иметь что-то одно для всех платформ - не слишком навороченный, но чтоб было все что надо. Сегодня выложил на github: https://github.com/alkresin/hbedit. F9 (или мышкой по соответствующей надписи) - главное меню. В ближайших планах: - Lower/Upper для utf8 - новые режимы подсветки ( директивы препроцессора и пр. ) - скобки - подсветка парных и переход на парные - undo - решить проблемы с табуляцие - сохранение истории открытых файлов, поиска - написать help (hbedit.help) Если есть идеи для реализации - буду рад услышать.
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
alkresin
|
| 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) ?
|
|
|
SergKis
|
| постоянный участник
|
Пост 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м символам (и более) получаем список ранее использованных слов, это как имена ф-ий, так и имена переменных. В целом удобно.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2602
Зарегистрирован: 17.02.12
|
|
Отправлено: 25.06.19 11:25. Заголовок: PS Не знаю (не интер..
PS Не знаю (не интересовался), где словарь хранится, но он не связан с ini и как его сбросить\очистить\изменить (с ошибками набранные слова пару раз появляются в списке, что мешает). Включается режим по галочке в меню настроек
|
|
|
alkresin
|
| moderator
|
Пост N: 1298
Зарегистрирован: 06.07.06
|
|
Отправлено: 25.06.19 14:15. Заголовок: Подумаю на эту тему...
Подумаю на эту тему.
|
|
|
alkresin
|
| 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-файла. Исправлено кое-что.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 в строках
|
|
|
alkresin
|
| moderator
|
Пост N: 1300
Зарегистрирован: 06.07.06
|
|
Отправлено: 26.06.19 12:41. Заголовок: У меня никуда не пер..
У меня никуда не перемещается. Shift+Alt+стрелка вправо Shift+Alt+стрелка вниз Shift+Alt+End - закрашены две строки. Отпускаем Shift+Alt - закраска остается на месте.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2609
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.06.19 14:38. Заголовок: PS Если красить толь..
PS Если красить только стрелками, без End, то все ok
|
|
|
alkresin
|
| moderator
|
Пост N: 1301
Зарегистрирован: 06.07.06
|
|
Отправлено: 26.06.19 15:40. Заголовок: А End какой нажимает..
А End какой нажимаете, на основной клавиатуре, или на numpad? Я сейчас попробовал на numpad (обычно ее не использую) - там происходит вами описанный эффект. Почему - еще не разбирался.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2610
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.06.19 16:12. Заголовок: alkresin пишет А End..
alkresin пишет цитата: | А End какой нажимаете, на основной клавиатуре, или на numpad? |
| Это ноутбук, клавиши совмещены, но Num Lock не включен
|
|
|
|
alkresin
|
| 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-режиме).
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2611
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.06.19 16:04. Заголовок: alkresin пишет Это п..
alkresin пишет Пробую на hbedit.exe с вашего сайта, готовую сборку. Переучиваться на др. клавиши - это вряд ли, таких сочетаний в исп. редакторе нет.
|
|
|
alkresin
|
| moderator
|
Пост N: 1303
Зарегистрирован: 06.07.06
|
|
Отправлено: 27.06.19 18:04. Заголовок: SergKis пишет: Проб..
SergKis пишет: цитата: | Пробую на hbedit.exe с вашего сайта, готовую сборку. |
| Она собрана с gtwvt - отсюда и проблема. Это какой-то косяк в gtwvt, а, может быть, и фича). Собирал с gtwin - такого не наблюдается.
|
|
|
alkresin
|
| moderator
|
Пост N: 1304
Зарегистрирован: 06.07.06
|
|
Отправлено: 29.06.19 13:33. Заголовок: Обновлена страница h..
Обновлена страница hbedit Добавлено описание опций командной строки и подробное описание опций ini-файла.
|
|
|
alkresin
|
| moderator
|
Пост N: 1306
Зарегистрирован: 06.07.06
|
|
Отправлено: 02.07.19 09:55. Заголовок: Обновлен hbedit. Доб..
Обновлен hbedit. Добавлены операции над выделенным блоком (плагин plug_selection): подсчет суммы для вертикального блока - это было когда-то в Дос Навигаторе и мне до сих пор иногда недостает, и Surround - заключить выделенный текст в кавычки, скобки или html-тэг. Исправлено кое-что.
|
|
|
alkresin
|
| moderator
|
Пост N: 1308
Зарегистрирован: 06.07.06
|
|
Отправлено: 03.07.19 15:01. Заголовок: Обновлен Hbedit. Доб..
Обновлен Hbedit. Добавлена команда .(точка) для Vim-режима и для режима выделения - она выполняет последнюю операцию редактирования еще раз. Так, например, если вы в режиме выделения выбрали из меню операцию Surround и в ответ на приглашение ввели символ i (в результате выделенная область будет заключена в тэги <i>,</i>), вы можете выделить другой фрагмент текста, нажать "." - и этот фрагмент будет заключен в те же тэги.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2613
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.07.19 15:58. Заголовок: alkresin пишет Добав..
alkresin пишет цитата: | Добавлена команда .(точка) для Vim-режима и для режима выделения |
| В режиме выделенного блока удобно попасть в начало блока выделения (в hbedit этого нет) В notepad3 после выделения (любого) нажатие <- или Home сбрасывает выделение (Ctrl+C не важно было\нет) и ставит курсор в начало выделения, а -> в конец выделения. Что часто удобно, особенно, при больших блоках
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2614
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.07.19 16:06. Заголовок: PS Может мелочь, кон..
PS Может мелочь, конечно, но не привычно. Выделение верт. блока при разной ширине концовок строк, закрашивается только содержимое, у более коротких строк (курсор правее) пустые места не закрашены. Ощущение, что Alt к Shift не добавил
|
|
|
alkresin
|
| moderator
|
Пост N: 1309
Зарегистрирован: 06.07.06
|
|
Отправлено: 03.07.19 19:42. Заголовок: SergKis пишет: В ре..
SergKis пишет: цитата: | В режиме выделенного блока удобно попасть в начало блока выделения (в hbedit этого нет) |
| Есть. Если выделение делается с F3, Ctrl-F3 или в Vim-режиме (v, V, Ctrl-v), то клавиша 'o' переводит курсор в начало выделения и обратно - и можно продолжить выделение в другом направлении.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2616
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.07.19 20:20. Заголовок: alkresin пишет Есть...
alkresin пишет цитата: | Есть. Если выделение делается с F3, Ctrl-F3 или в Vim-режиме |
| Понятно. Это не windows штуки.
|
|
|
|
alkresin
|
| moderator
|
Пост N: 1310
Зарегистрирован: 06.07.06
|
|
Отправлено: 03.07.19 20:48. Заголовок: SergKis пишет: Поня..
SergKis пишет: цитата: | Понятно. Это не windows штуки. |
| Непонятно, при чем тут Windows? Можно это же реализовать и для Shift-Alt - пару строчек добавить, а то и меньше. Просто 'o' - это команда Vim.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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
|
|
|
alkresin
|
| 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.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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. |
| Я и сказал
|
|
|
alkresin
|
| 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 было бы удобнее - это я к тому, что разговоры о том, что консоль устарела, просто нелепы.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2621
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.07.19 14:56. Заголовок: PS Консоль не устаре..
PS цитата: | Консоль не устарела и не устареет, она очень удобна во многих случаях - в частности, когда много ввода с клавиатуры и желателен "слепой набор", которому мышка только мешает. |
| В GUI программах для клиентов приходится все операции раскладывать по клавишам (это была убедительная просьба клиентов, поработавших на приложениях clipper), мышка это доп. вспомогательный атрибут, для кого то наоборот, конечно.
|
|
|
alkresin
|
| moderator
|
Пост N: 1313
Зарегистрирован: 06.07.06
|
|
Отправлено: 04.07.19 15:09. Заголовок: SergKis пишет: Об э..
SergKis пишет: цитата: | Об этом. Что бы добавить #ifndef VIM_MODE ... #endif |
| Тогда все гораздо проще, я уже сделал - там реально одну строчку поменять пришлось, чтобы нажатие 'o' не сбрасывало :lShiftKey - флаг, указывающий на использование Shift+клавиши перемещения.
|
|
|
ММК
|
| постоянный участник
|
Пост N: 360
Зарегистрирован: 29.05.10
|
|
Отправлено: 05.07.19 10:06. Заголовок: alkresin пишет: эт..
alkresin пишет: цитата: | это я к тому, что разговоры о том, что консоль устарела, просто нелепы. |
| Не уговаривайте себя :) Наличие специфических задач и мир пользователей сравнивать нет смысла
|
|
|
alkresin
|
| moderator
|
Пост N: 1314
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.07.19 13:08. Заголовок: ММК пишет: Наличие ..
ММК пишет: цитата: | Наличие специфических задач и мир пользователей сравнивать нет смысла |
| Пользователи - они разные, это не только менеджеры с бухгалтерами. В научной среде, например, активно пользуются TeX - и соответствующими текстовыми редакторами (Vim, в том числе). Мы, программисты, чем только не пользуемся. С xml и его многочисленными производными тоже не в Word'е работают. И еще есть немало сфер, о которых мы даже не знаем. Вы скажете, что это все специфические задачи, но из таких вот специфических задач и состоит мир.
|
|
|
|
alkresin
|
| 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 формате.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2625
Зарегистрирован: 17.02.12
|
|
Отправлено: 08.07.19 12:02. Заголовок: alkresin пишет Коман..
alkresin пишет цитата: | Команда 'o' теперь работает и при Shift, Shift-Alt выделении. |
| Как заменить 'o' на -> и <- (закраску можно сбрасывать при этом, главное переместить в конец или начало выделения) ? Др. людям трудно понять, почему надо нажимать 'o', а не стрелки ?
|
|
|
alkresin
|
| moderator
|
Пост N: 1316
Зарегистрирован: 06.07.06
|
|
Отправлено: 08.07.19 13:52. Заголовок: SergKis пишет: Как ..
SergKis пишет: цитата: | Как заменить 'o' на -> и <- ? |
| Только если написать свой плагин, обрабатывающий нажатия клавиш. цитата: | Др. людям трудно понять, почему надо нажимать 'o', а не стрелки ? |
| А почему надо нажимать стрелки? Др.люди настолько привыкли именно к notepad3?
|
|
|
PSP
|
| постоянный участник
|
Пост N: 1534
Зарегистрирован: 27.01.07
|
|
Отправлено: 08.07.19 14:28. Заголовок: alkresin пишет: Др...
alkresin пишет: цитата: | Др.люди настолько привыкли именно к notepad3? |
| Выделение Shift+стрелки (а еще Shift-Home/End/PgUp/PgDn/...) на мой взгляд для Windows-оообщества (а это - большинство) - стандарт де-факто, выработанный годами. Это используется в всех windows-based текстовых редакторах, а не только notepad3.
|
|
|
alkresin
|
| moderator
|
Пост N: 1317
Зарегистрирован: 06.07.06
|
|
Отправлено: 08.07.19 14:55. Заголовок: PSP пишет: Выделени..
PSP пишет: цитата: | Выделение Shift+стрелки... |
| Речь не об этом. Hbedit поддерживает выделение с помощью Shift+клавиши перемещения (стрелки, Home, End и пр.). Мы здесь говорим о редко встречающейся возможности переместить курсор в процессе выделения с одного конца в другой и продолжить выделение в другом направлении. В Vim и hbedit это делается нажатием 'o'.
|
|
|
PSP
|
| постоянный участник
|
Пост N: 1535
Зарегистрирован: 27.01.07
|
|
Отправлено: 08.07.19 15:08. Заголовок: alkresin пишет: Мы ..
alkresin пишет: цитата: | Мы здесь говорим о редко встречающейся возможности переместить курсор в процессе выделения с одного конца в другой и продолжить выделение в другом направлении |
| Понятно. Поспешил я с комментарием))
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2626
Зарегистрирован: 17.02.12
|
|
Отправлено: 08.07.19 15:23. Заголовок: alkresin пишет:Мы зд..
alkresin пишет: цитата: | Мы здесь говорим о редко встречающейся возможности переместить курсор в процессе выделения с одного конца в другой и продолжить выделение в другом направлении. |
| Продолжать выделение не требуется. Говорил, сбрасывать выделение и перемещать курсор в точку. Знаю 2а редактора, которые перемещения не делают - это notepad и Far. Akelpad, Notepad3, Notepad++ и др. (правда пробовал их давно) делают такие операции (при выделенном блоке перемещают курсор в начало\в конец блока) и это не "редко встречающейся возможности переместить курсор", а удобный механизм, особенно при работе с вертикальными блоками. Просто hbedit заточен на Vim операции.
|
|
|
alkresin
|
| moderator
|
Пост N: 1318
Зарегистрирован: 06.07.06
|
|
Отправлено: 08.07.19 16:31. Заголовок: SergKis пишет: Прод..
SergKis пишет: цитата: | Продолжать выделение не требуется |
| Ок, сделаю.
|
|
|
alkresin
|
| moderator
|
Пост N: 1319
Зарегистрирован: 06.07.06
|
|
Отправлено: 09.07.19 09:51. Заголовок: Обновлен hbedit. Доб..
Обновлен hbedit. Добавлена стрелочка при выделении (см. предыдущие посты). Изменена логика работы с clipboard: в vim-режиме реализовано использование регистров, в режиме редактирования вставка из дополнительных буферов clipboard (регистров) теперь производится с помощью Ctrl-p.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2628
Зарегистрирован: 17.02.12
|
|
Отправлено: 09.07.19 10:52. Заголовок: alkresin пишет Добав..
alkresin пишет цитата: | Добавлена стрелочка при выделении |
| Спасибо. Работает. А закраска, при блочном выделении, что бы была прямоугольником (до курсора), а не по убранным правым пробелам (только содержимое) ?
|
|
|
|
alkresin
|
| moderator
|
Пост N: 1320
Зарегистрирован: 06.07.06
|
|
Отправлено: 09.07.19 11:55. Заголовок: SergKis пишет: А за..
SergKis пишет: цитата: | А закраска, при блочном выделении, что бы была прямоугольником (до курсора), а не по убранным правым пробелам (только содержимое) ? |
| Честно говоря, лень этим заниматься - меня устраивает так, как есть, да и в Vim так). А как лучше - вопрос спорный. Прямоугольник, конечно, красивее, но может ввести в заблуждение о границах текста - вставлены-то пробелы не будут, если их нет.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2629
Зарегистрирован: 17.02.12
|
|
Отправлено: 09.07.19 12:24. Заголовок: alkresin пишет Прям..
alkresin пишет цитата: | Прямоугольник, конечно, красивее |
| Скорее нагляднее, по тем ли символам идет курсор (курсор хуже видно, надо приглядываться)
|
|
|
alkresin
|
| moderator
|
Пост N: 1321
Зарегистрирован: 06.07.06
|
|
Отправлено: 10.07.19 11:36. Заголовок: Обновлен hbedit. Доб..
Обновлен hbedit. Добавлена группа Vim-команд yy, yiw, ... Небольшие исправления.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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, на экране, всегда, последняя строка не доступна (пусто в ней).
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 ...
|
|
|
alkresin
|
| moderator
|
Пост N: 1322
Зарегистрирован: 06.07.06
|
|
Отправлено: 10.07.19 17:03. Заголовок: SergKis пишет: пере..
SergKis пишет: цитата: | перестала реагировать установка :y2 (на экране последняя строка не доступна) |
| Если у вас :y2 - Maxrow()-1, то это как раз исключает последнюю строку. Поставьте oEdit:bNew := oe:y2 := MaxRow()
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2634
Зарегистрирован: 17.02.12
|
|
Отправлено: 10.07.19 19:45. Заголовок: Спасибо, получилось...
Спасибо, получилось.
|
|
|
alkresin
|
| moderator
|
Пост N: 1323
Зарегистрирован: 06.07.06
|
|
Отправлено: 11.07.19 10:12. Заголовок: Обновлен hbedit. Доб..
Обновлен hbedit. Добавлена возможность устанавливать в ini-файле сочетания клавиш на плагины, в Ini поставлен Alt-L на список функций и Alt-R на запуск на исполнение.
|
|
|
alkresin
|
| moderator
|
Пост N: 1324
Зарегистрирован: 06.07.06
|
|
Отправлено: 16.07.19 11:02. Заголовок: Обновлен hbedit. Нек..
Обновлен hbedit. Некоторые исправления и улучшения. Добавлен плагин WebServices для получения данных с некоторых публичных веб сервисов. Сейчас их там 3 - определение своего внешнего ip (он копируется в clipboard), получение справки по слову под курсором (русские, увы, не поддеоживаются) и поучение уникального текста типа 'lorem ipsum. Для работы этого плагина необходимо наличие curl.
|
|
|
alkresin
|
| 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.
|
|
|
alkresin
|
| moderator
|
Пост N: 1327
Зарегистрирован: 06.07.06
|
|
Отправлено: 22.07.19 08:37. Заголовок: Обновлен hbedit. Теп..
Обновлен hbedit. Теперь prg init плагин дает информацию и по всем Harbour функциям - тем, что входят в ядро (не contrib), их чуть больше полутора тысяч. Описания есть для части из них. Если нет описания, можно составить представление о функции, просмотрев соответствующие записи в Changelog и исходники - я обычно так и делаю, когда нужно с чем-то разобраться. Теперь это можно посмотреть быстро в одном месте, используя hbedit.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2704
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.08.19 07:59. Заголовок: PS не ту кнопку нажа..
PS не ту кнопку нажал, отвлекли 1.помечаю вертикальный блок перед 3ими словами всех строк, состоящий из одной позиции (один пробел) 2.делаю Ctrl+C, стрелку влево встал курсор перед TO 2000 делаю Ctrl+V (хочу увеличить кол-во пробелов) вставляется из буфера, что было в нем до пункта 1,2 Если взять верт. блок из 2х позиций, то все ок
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 цветом детской неожиданности и потом окно уходит. Очень бросается в глаза. Может можно поправить ?
|
|
|
alkresin
|
| moderator
|
Пост N: 1329
Зарегистрирован: 06.07.06
|
|
Отправлено: 02.08.19 13:15. Заголовок: Действительно, стран..
Действительно, странно. Поправлю. Кстати, чтобы сдвинуть тест влевл/вправо, можно выделить его и затем Shift->, Shift-<.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2708
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.08.19 14:42. Заголовок: alkresin пишет Кстат..
alkresin пишет цитата: | Кстати, чтобы сдвинуть тест влевл/вправо, можно выделить его и затем Shift->, Shift-< |
| Это не привычно + закраска окончания строк выделенния (ранее писал), затрудняет понимание окончания блока. Проще, по мне, действовать, как описал выше
|
|
|
alkresin
|
| moderator
|
Пост N: 1330
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.08.19 09:28. Заголовок: Обновлен hbedit. Исп..
Обновлен hbedit. Исправления всякие.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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). Попытка выровнять первые строки рус. колонки (добавлением пробелов в строках до Кирибати) и потом выровнять верт. блоком из пробела до начала рус. колонки, на уровень позиции Китай, привело к снятию. Файл прилагается
|
|
|
alkresin
|
| moderator
|
Пост N: 1335
Зарегистрирован: 06.07.06
|
|
Отправлено: 12.08.19 08:55. Заголовок: Воспроизвести не уда..
Воспроизвести не удалось, но добавил проверку в месте возникновения ошибки. Обновил hbedit. В plug_selection добаввил новые возможности - теперь выделенный вертикальный блок можно выровнять по левой или правой границе. Shift-> и Shifn-<, если делаются с вертикальным блоком, перемещают теперь не строки целиком, а только выделенный блок.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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) ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2734
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.08.19 10:34. Заголовок: PS Если верт. выделе..
PS Если верт. выделенный блок больше, чем строк окна hbedit и нажимаем <- (переход в начало выделения), курсор уходит в начало выд. блока, а отображение остается прежним и курсора не видно - "потеряли". Перемещения стрелками покажет курсор только, когда он "вернется" по координатам на тек. отображение. Notepad3 возвращает курсор в начало выделенного блока и отображает окно как было при начале выделения.
|
|
|
alkresin
|
| 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 и нажимаем < |
| Исправил.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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ой вариант ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2736
Зарегистрирован: 17.02.12
|
|
Отправлено: 13.08.19 13:26. Заголовок: PS Странно работает ..
PS Странно работает подсветка многострочного, создаваемого блока /* ... */ иногда засвечивает сразу после /*, но чаще нет после */ не засвечивает блок, надо сделать новые строки. иногда после ввода новой строки засветка срабатывает, иногда только после второй новой строки
|
|
|
alkresin
|
| moderator
|
Пост N: 1339
Зарегистрирован: 06.07.06
|
|
Отправлено: 14.08.19 10:07. Заголовок: Обновлен hbedit. Кое..
Обновлен hbedit. Кое-какие исправления, в т.ч. - подсветка многострочных комментариев. Список функций теперь выводится с опцией поиска при количестве ф-й больше трех.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2748
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.08.19 07:23. Заголовок: alkresin Если строк..
alkresin Если строка длинная и выходит за пределы окна, к примеру, на 10 символов и жмем Enter (new line), то курсор убегает в первые позиции и "теряется" из показа, т.к. мы остались на отображении конца строки. Надо, наверно, переместить показ.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2751
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.08.19 13:15. Заголовок: PS Можно сделать уст..
PS Можно сделать установку в ini для показа в заголовке окна (где hbedit) рабочий каталог (путь) загрузки 1го файла ? Что бы различать версии (по каталогам) одного и того же файла.
|
|
|
alkresin
|
| moderator
|
Пост N: 1344
Зарегистрирован: 06.07.06
|
|
Отправлено: 21.08.19 10:21. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно сделать установку в ini для показа в заголовке окна (где hbedit) рабочий каталог (путь) загрузки 1го файла ? |
| Может, лучше менять режим отображения имени файла по щелчку по нему - тогда он будет изменен в конкретном окне и тогда, когда это надо?
|
|
|
alkresin
|
| 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 (исходная версия файла).
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 к примеру
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2755
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.08.19 11:21. Заголовок: PS А щелкнуть по реж..
PS А щелкнуть по режиму <Edit> и сделать его <ReadOnly> (комбинация клавиш), было бы хорошо, т.к. из 3х править один надо, как правило.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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
|
|
|
alkresin
|
| moderator
|
Пост N: 1346
Зарегистрирован: 06.07.06
|
|
Отправлено: 21.08.19 13:01. Заголовок: Ok, сделаю в ini. А ..
Ok, сделаю в ini. цитата: | А щелкнуть по режиму <Edit> и сделать его <ReadOnly> |
| Что-то не нравится мне такой вариант. цитата: | Вопрос по переназначению клавиш. |
| Сейчас на клавишу можно повесить только одну клавишу, но можно будет сделать и для сочетания клавиш.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2757
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.08.19 13:23. Заголовок: alkresin пишет Что-т..
alkresin пишет цитата: | Что-то не нравится мне такой вариант. |
| Это, скорее, образно " щелкнуть по режиму <Edit> и сделать его <ReadOnly>", лучше клавиши и меню. Сейчас перевести из Edit в ReadOnly загруженный текст нет возможности и попадался, что начинаешь править не тот текст.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2758
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.08.19 14:00. Заголовок: PS Команды можно доб..
PS Команды можно добавить в меню "Windows" с клавишами, например Ctrl-w, r - ReadOnly Ctrl-w, e - Edit
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2759
Зарегистрирован: 17.02.12
|
|
Отправлено: 22.08.19 09:33. Заголовок: alkresin При вставк..
alkresin При вставке блока строк Ctrl+V в нижнюю часть окна hbedit, происходит передергивание показа после операции - курсор и строки показа перепрыгивают в верхнюю часть окна. Можно оставить показ в тех же координатах, как было перед вставкой (rкак в Far, к примеру) ?
|
|
|
alkresin
|
| moderator
|
Пост N: 1347
Зарегистрирован: 06.07.06
|
|
Отправлено: 22.08.19 11:18. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно оставить показ в тех же координатах |
| Если курсор после вставки остается в пределах экрана - посмотрю.
|
|
|
alkresin
|
| moderator
|
Пост N: 1348
Зарегистрирован: 06.07.06
|
|
Отправлено: 22.08.19 11:23. Заголовок: Обновлен hbedit. Поп..
Обновлен hbedit. Поправлены ошибки. Изменен заголовок в окне сравнения. Добавлена возможность сравнивать фрагменты файлов. Для этого надо выделить и поместить в clipboard первый фрагмент, затем выделить второй, вызвать меню (F9 или m) и выбрать опцию "Compare" - появятся два новых окна с результатом сравнения. В ini добавлена опция pathinhead - если On, то в заголовке отображается полный путь к файлу. Как и некоторые др. опции, это можно поменять в командном режиме с помощью set pathinhead.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 Вроде нормальненько.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2761
Зарегистрирован: 17.02.12
|
|
Отправлено: 22.08.19 15:24. Заголовок: alkresin Что нужно ..
alkresin Что нужно сделать, что бы при заданном :bWriteTopPane работало разделение окна на части (хотя бы 2а, по горизонтали или вертикали) без отображения данных на горизонтальной полоске. Т.е. при IF ::bWriteTopPane != Nil Eval( ::bWriteTopPane, Self, lClear, y ) ELSE ... Была просто полоска и работа в разделенном окне.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2762
Зарегистрирован: 17.02.12
|
|
Отправлено: 22.08.19 15:53. Заголовок: PS В 0 ой строке пол..
PS В 0 ой строке полоски нет, весь вывод данных на StatusBar из нее и при разделении окна на части тоже
|
|
|
alkresin
|
| 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 из нее и при разделении окна на части тоже |
| Ничего не понял.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2764
Зарегистрирован: 17.02.12
|
|
Отправлено: 22.08.19 18:25. Заголовок: PS При перемещении в..
PS При перемещении в окне hbedit примера, появляется 0 строка с закраской, что не должно было бы быть. Такая строка уместна была бы по команде Ctrl-w, s , но только без вывода на нее данных. Вывод с нее перенаправить в StatusBar. По команде Ctrl-w, v окно делится верт. полосой, но без полосы в 0 строке. Вывод с нее, так же, перенаправить в StatusBar.
|
|
|
alkresin
|
| moderator
|
Пост N: 1350
Зарегистрирован: 06.07.06
|
|
Отправлено: 23.08.19 12:20. Заголовок: Никак не мог взять в..
Никак не мог взять в толк, что это за 0-ая строка и в чем, собственно, состоит проблема, пока не понял, что речь идет о вашей сборке, где вы отключили панель статуса, но хотите, чтобы при этом сохранились горизонтальные разделители окон. Для этого надо включить панель статуса в дочерних горизонтальных окнах и использовать только в них тот bWriteTopPane.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2765
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.08.19 13:00. Заголовок: alkresin пишет Для э..
alkresin пишет цитата: | Для этого надо включить панель статуса в дочерних горизонтальных окнах и использовать только в них тот bWriteTopPane. |
| Не понял где и что надо делать, что бы перехватывать вывод в статусную строку окна в фокусе, что бы перенаправить у себя индикацию в StatusBar., т.е. в работе вся клиентская область окна, включая 0 ую Понимал так, что bWriteTopPane это вывод данных на статусную строку (окна в фокусе), а горизонтальные\вертикальные разделители окон это свойство\метод механизма разделения окон не связанная с bWriteTopPane
|
|
|
alkresin
|
| moderator
|
Пост N: 1351
Зарегистрирован: 06.07.06
|
|
Отправлено: 23.08.19 13:45. Заголовок: перехватывать вывод ..
цитата: | перехватывать вывод в статусную строку окна в фокусе |
| Это в bWriteTopPane. Параметр lClear указывает, что надо только очистить строку панели (это когда соответствующее окно теряет фокус). Горизонтальный разделитель окон - это и есть панель статуса. Вертикальный рисуется тоже в :WriteTopPane().
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2766
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.08.19 14:33. Заголовок: alkresin пишет Гориз..
alkresin пишет цитата: | Горизонтальный разделитель окон - это и есть панель статуса. Вертикальный рисуется тоже в :WriteTopPane() |
| Может прорисовку их вынести до выполнения bWriteTopPane, что бы разделение на окна было в любом случае, с учетом исключения 0-ой строки (oe:y1 := 0 в :bNew). Тогда в блоке кода останется чистый вывод в статусную строку, в моем случае в StatusBar
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 видим разницу позиций курсора.
|
|
|
alkresin
|
| moderator
|
Пост N: 1353
Зарегистрирован: 06.07.06
|
|
Отправлено: 23.08.19 17:23. Заголовок: SergKis пишет: ..
SergKis пишет: цитата: | oe:y1 := 0, ; oe:y2 := MaxRow(), ; ... мы только вывод в статусную строку отключили, а координаты работы в окне\окнах должны были остаться |
| Как же они могли остаться, если вы их установили самостоятельно в полный размер?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2768
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.08.19 17:54. Заголовок: alkresin пишет Как ж..
alkresin пишет цитата: | Как же они могли остаться, если вы их установили самостоятельно в полный размер? |
| Тогда не понятно, как установить всю клиентскую область для основного окна (с 0-ой строкой), а подокна работали разбивая окно на части (как сейчас с 0-ой статусной строкой) и перехватывать данные для статусной строки для вывода в др. месте.
|
|
|
alkresin
|
| moderator
|
Пост N: 1354
Зарегистрирован: 06.07.06
|
|
Отправлено: 28.08.19 13:20. Заголовок: Если есть подокна, т..
Если есть подокна, то основное окно занимает уже не все пространство, а только то, что осталось от подокон. И устанавливать для него координаты не надо - это делается автоматически. :bWriteTopPane - самое подходящее место для вывода какой-то информации в др.место, он вызывается независимо от того, имеется статусная строка (::lTopPane := .T.) или нет.
|
|
|
alkresin
|
| moderator
|
Пост N: 1355
Зарегистрирован: 06.07.06
|
|
Отправлено: 28.08.19 13:23. Заголовок: Обновлен hbedit. Рас..
Обновлен hbedit. Расширено меню Windows. В keymap из hbedit.ini теперь можно задавать сочетания клавиш, разделяя клавиши символом | Например, Alt-1=>Ctrl-W|s
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2775
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.08.19 17:03. Заголовок: alkresin пишет Если ..
alkresin пишет цитата: | Если есть подокна, то основное окно занимает уже не все пространство, а только то, что осталось от подокон. И устанавливать для него координаты не надо - это делается автоматически. |
| Вопрос остался, как убрать строку с F9-Menu и на месте этой строки была строка текста, т.е как убрать статусную строку ? В windows редакторах в меню "Настройки" есть опции - показывать панель инструментов - показывать строку статуса - показывать колонку нумерации строк текста Если панель инструментов нету, то остальные пункты интересны в работе. цитата: | :bWriteTopPane - самое подходящее место для вывода какой-то информации в др.место |
| Это как раз понятно, более менее
|
|
|
alkresin
|
| 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 --
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2776
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.08.19 18:48. Заголовок: alkresin пишет Друго..
alkresin пишет цитата: | Другой - прописать в :bNew o:lTopPane := .F. o:y1 -- |
| Это сработало. Спасибо. Работает даже Ctrl-w,v , есть разделитель вертикальный. При Ctrl-w,s нет горизонтального разделителя, но окно\подокно работает
|
|
|
alkresin
|
| 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 ... чтобы панели статуса не было у верхних окон.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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) } } не изменило от пред. поста, т.е. нет горизонтальной полосы-разделителя
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 - вертикальное
|
|
|
alkresin
|
| 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 в консоли вообще не работают - нет реакции на эти нажатия, не генерируется событие.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 ...". Хотелось бы пустую полосу в ширину окна
|
|
|
alkresin
|
| moderator
|
Пост N: 1361
Зарегистрирован: 06.07.06
|
|
Отправлено: 30.08.19 09:00. Заголовок: А в WVT ? Да. Моя ..
Да. Моя сборка hbedit в нем построена. Сделаю gt hwgui - там будет работать). цитата: | Горизонтальная строка появляется со смещением (где должно, в обычном режиме, находится "F9-Menu" ) и лишней информацией "Harbour plugins: Alt-D ...". |
| Горизонтальная разделительная строка появляется на месте строки статуса, потому что это она и есть. Какое это смещение? "Harbour plugins: Alt-D ..." появляется только вначале, потом там пусто - это предупреждение, что для открытого в окне файла подключен Harbour плагин. Вы можете это отключить, если в :bNew пропишете o:bStartEdit := Nil или установите свой bStartEdit.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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. ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2782
Зарегистрирован: 17.02.12
|
|
Отправлено: 30.08.19 11:19. Заголовок: PS Разговор о команд..
PS Разговор о командах Ctrl-w,v - нормальное разделение Ctrl-w,s - не нормальное разделение
|
|
|
alkresin
|
| moderator
|
Пост N: 1363
Зарегистрирован: 06.07.06
|
|
Отправлено: 30.08.19 13:11. Заголовок: SergKis пишет: Прим..
SergKis пишет: Файл по ссылке удален - пишут, вредоносное ПО)
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2783
Зарегистрирован: 17.02.12
|
|
Отправлено: 30.08.19 13:35. Заголовок: alkresin пишет Файл ..
alkresin пишет цитата: | Файл по ссылке удален - пишут, вредоносное ПО) |
| Да, удалили, но не сразу, я сначала проверил ссылку. Тут https://TransFiles.ru/pzqj9
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2784
Зарегистрирован: 17.02.12
|
|
Отправлено: 30.08.19 13:42. Заголовок: PS в bkInit я убрал ..
PS в bkInit я убрал oe:bStartEdit := Nil, т.к. с ним при Ctrl-w,s совсем нет горизонтальной разд. строки, а так она есть, но из plugin init. Если комментируем в ini (как выше), то опять совсем нет горизонтальной разд. строки
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2785
Зарегистрирован: 17.02.12
|
|
Отправлено: 30.08.19 13:47. Заголовок: PPS И как для меня, ..
PPS И как для меня, plugin=plug_prg_init.hrb в таком виде, нужен как пример, т.е. в работе ( Far Alt+F4 ) он отключен
|
|
|
alkresin
|
| 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
|
|
|
SergKis
|
| постоянный участник
|
Пост 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
|
|
|
alkresin
|
| moderator
|
Пост N: 1365
Зарегистрирован: 06.07.06
|
|
Отправлено: 30.08.19 15:48. Заголовок: SergKis пишет: Може..
SergKis пишет: цитата: | Может тогда вынести прорисовку вертикальной\горизонтальной строки разделения до :bWriteTopPane |
| Можно.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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, может находится достаточно строк
|
|
|
alkresin
|
| 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 - чтобы там можно было определить все ключевые слова, которые вам захочется отловить для списка функций.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2811
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.09.19 11:12. Заголовок: alkresin пишет Надо ..
alkresin пишет цитата: | Надо менять логику работы в нескольких местах - многое заточено под номер плагина в массиве, сформированном из секции [PLUGINS], в т.ч. - назначение горячих клавиш |
| Потому и поднял вопрос, т.к. придется каждый раз менять свой код при смене версии hbedit. Из всех плагинов нужно максимум 3 и без изменений, каталог plugins, как бы, лишний, а иногда мешающий, при уст. на разных местах (pc) цитата: | Тогда уж лучше завести ini-файл для этого плагина, который будет располагаться рядом с hrb - чтобы там можно было определить все ключевые слова, которые вам захочется отловить для списка функций. |
| Это хорошее решение, но уже несколько лет в своем проекте работает набор определений как у вас и плюс 2а про которые написал. Есть ли смысл усложнять с доп. ini ?
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 список плагинов будет и нужно перед выполнением проверть наличие ф-ии и выполнить, если есть. И работа с номером плагина в др. местах останется
|
|
|
alkresin
|
| moderator
|
Пост N: 1372
Зарегистрирован: 06.07.06
|
|
Отправлено: 06.09.19 13:08. Заголовок: Недостаточно. В масс..
Недостаточно. В массив TEdit():aPlugins добавляются не все плагины, перечисленные в ini, а только те, для которых найдены соответствующие hrb - иначе в меню по F11 могут попасть несуществующие плагины.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 можно оставить.
|
|
|
alkresin
|
| moderator
|
Пост N: 1373
Зарегистрирован: 06.07.06
|
|
Отправлено: 06.09.19 14:49. Заголовок: Что-то запутали вы м..
Что-то запутали вы меня). Проблема для вас была в наличии каталога plugins, который "как бы, лишний, а иногда мешающий" - из-за этого вы хотели перенести плагин в основной текст. А теперь пишете, что для обеспечения работы схемы "каталог Plugins с фиктивными hrb можно оставить"... Впрочем, если перенос edi_RunPlugins() в falert.prg вас выручит, я не сильно против.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 и др. кодовых страниц. Спасибо.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2825
Зарегистрирован: 17.02.12
|
|
Отправлено: 08.09.19 09:10. Заголовок: alkresin Можно вызо..
alkresin Можно вызов меню выбора кодовых страниц, сделать на клавиши и комбинацию их задавать в ini ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2827
Зарегистрирован: 17.02.12
|
|
Отправлено: 09.09.19 11:37. Заголовок: alkresin В параметр..
alkresin В параметры командной строки можно добавить кодовую страницу для файла (из списка ini указанные)
|
|
|
SergKis
|
| постоянный участник
|
Пост 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
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 отлично понимаются.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2830
Зарегистрирован: 17.02.12
|
|
Отправлено: 09.09.19 20:40. Заголовок: alkresin Можно ли у..
alkresin Можно ли уст. palette из параметра командной строки ? Например в ini palette=solarized light из командной строки поставить far или notepad
|
|
|
alkresin
|
| moderator
|
Пост N: 1374
Зарегистрирован: 06.07.06
|
|
Отправлено: 10.09.19 09:20. Заголовок: SergKis пишет: отсу..
SergKis пишет: цитата: | отсутствие каталога мешает нормальной работе hbedit в др. кусках кода |
| Отсутствие каталога plugins/ мешает только работе плагинов. В обсуждаемом случае это вызов плагина по горячей клавише. цитата: | Можно вызов меню выбора кодовых страниц, сделать на клавиши и комбинацию их задавать в ini ? |
| Так ведь Shift-F8 для этого предназначен - в help'е и на сайте про это написано. Ну а комбинацию эту можно переназначить в ini, если надо.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2831
Зарегистрирован: 17.02.12
|
|
Отправлено: 10.09.19 09:30. Заголовок: alkresin пишет Так в..
alkresin пишет цитата: | Так ведь Shift-F8 для этого предназначен - в help'е и на сайте про это написано |
| Пропустил, не увидел. Все работает. Спасибо. цитата: | Отсутствие каталога plugins/ мешает только работе плагинов |
| Понятно
|
|
|
alkresin
|
| moderator
|
Пост N: 1375
Зарегистрирован: 06.07.06
|
|
Отправлено: 10.09.19 09:33. Заголовок: По поводу добавления..
По поводу добавления новых параметров командной строки: сделать-то можно, но, по моему, более универсальным решением было бы просто указать в командной строке другой ini - так можно задать любую комбинацию нужных параметров.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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. Буду делать подмену на этом уровне (разбор строк в секциях)
|
|
|
alkresin
|
| moderator
|
Пост N: 1376
Зарегистрирован: 06.07.06
|
|
Отправлено: 10.09.19 13:00. Заголовок: Хорошо, добавлю. Смо..
Хорошо, добавлю. цитата: | Смотрел на замену Palete, вроде, на уровне TEdit сложновато получается. Если не делать в вашей сборке (может кроме меня никому не нужно), то перекиньте FUNCTION edi_IniRead( cFileName ) в файл falert.prg. |
| Я пока не вижу проблемы с объявлением в комадной строке palette (вы ведь об этом?). А вот edi_IniRead() нельзя - она пользуется статическими переменными.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2836
Зарегистрирован: 17.02.12
|
|
Отправлено: 10.09.19 14:04. Заголовок: alkresin пишет edi_..
alkresin пишет цитата: | edi_IniRead() нельзя - она пользуется статическими переменными. |
| Нельзя edi_ReadIni( xIni ) из fedit.prg, edi_iniRead() из ffiles.prg там нет статик переменных
|
|
|
SergKis
|
| постоянный участник
|
Пост 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_?]
|
|
|
alkresin
|
| moderator
|
Пост N: 1377
Зарегистрирован: 06.07.06
|
|
Отправлено: 10.09.19 15:21. Заголовок: Зачем так сложно-то?..
Зачем так сложно-то? Добавил я три параметра (залил на github): -cp= -his= -pal=
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2838
Зарегистрирован: 17.02.12
|
|
Отправлено: 10.09.19 16:09. Заголовок: alkresin пишет Зачем..
alkresin пишет По мне, наоборот, просто. Не надо помнить длинные названия. Тут текст мой (сделал как у вас -pal=<только тут число>) Скрытый текст
#include "hbgtinfo.ch" FUNCTION bkInit( cIniName, aParams ) Local cPath := hb_curDrive() + ":\" + Curdir() + '\' Local cName := hb_ProgName(), cTmp, cCP, nHis Local cExe := Lower(hb_fnameName(cName)) LOCAL cCapt := cExe LOCAL aPal := {}, cPal, nPal FOR nPal := 0 TO 9 cTmp := Lower( gIniC7(cIniName, [PALETTE_]+hb_ntos(nPal), 'Name', '') ) IF Empty(cTmp) EXIT ENDIF AAdd(aPal, cTmp) NEXT FOR EACH cTmp IN aParams IF Left( cTmp,4 ) == "-cp=" cCP := Upper( Substr( cTmp, 5 ) ) ELSEIF Left( cTmp,4 ) == "-his=" nHis := Val( Substr( cTmp, 6 ) ) IF nHis < 0 .OR. nHis > 2 nHis := Nil ENDIF ELSEIF Left( cTmp,5 ) == "-pal=" nPal := Val( Substr( cTmp, 6 ) ) + 1 IF nPal > 0 nPal := iif( nPal > Len(aPal), Len(aPal), nPal ) cPal := aPal[ nPal ] ENDIF ENDIF NEXT IF !Empty(cCP) hb_cdpSelect( cCP ) ENDIF IF nHis != NIL TEdit():options["savehis"] := nHis ENDIF IF !Empty(cPal) TEdit():cDefPal := cPal ENDIF cTmp := Lower(gIniC7(cIniName, [OPTIONS], 'PathInHead', 'off')) If 'off' $ cTmp cCapt := cPath + Repl(' .', 3) + space(1) + '-' + space(1) + cExe EndIf CLS ; hb_gtInfo( HB_GTI_WINTITLE, cCapt ) TEdit():bNew := {|oe| iif( oe:y1 == oe:aRectFull[1]+1, ( oe:lTopPane := .F., oe:y1-- ), ), ; oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y) } } RETURN Nil
| цитата: | Добавил я три параметра (залил на github): |
| Спасибо, буду использовать.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2845
Зарегистрирован: 17.02.12
|
|
Отправлено: 11.09.19 08:33. Заголовок: alkresin Нарушилась..
alkresin Нарушилась прорисовка разделения окна по Ctrl-w,s, Ctrl-w,v (вся клиентская область в работе edit) Добавка из пред. версии в METHOD WriteTopPane( lClear ) Скрытый текст
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 ::oParent != Nil .AND. ::x1 == ::oParent:x2 + 2 Scroll( ::y1, ::x1-1, ::y2, ::x1-1 ) ENDIF 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 SetColor( ::cColor ) DevPos( nRow, nCol ) DispEnd() EndIf IF ::bWriteTopPane != Nil Eval( ::bWriteTopPane, Self, lClear, y ) ELSE IF ::lTopPane DispBegin() /* SetColor( ::cColorPane ) Scroll( y, ::x1, y, ::x2 ) */ IF Empty( lClear ) DevPos( y, ::x1 ) IF ::x2 - ::x1 > 54 DevOut( "F9-menu" ) DevPos( y, ::x1+8 ) nF9 := 8 ENDIF DevOut( Iif( hb_hGetDef(::options,"pathinhead",.F.), NameShortcut(::cFileName,::nTopName,'~'), ; cp_Left( ::lUtf8, hb_fnameNameExt(::cFileName), ::nTopName ) ) ) IF !Empty( cDopMode ) DevPos( y, ::x1 ) DevOut( Padr( cDopMode, 8 ) ) ENDIF DevPos( y, ::x1 + nF9 + ::nTopName + 2 ) DevOut( Iif( ::lUpdated, "* ", " " ) + Lower( ::cp ) ) DevPos( y, ::x1 + nF9 + ::nTopName + 12 ) DevOut( PAdl(Ltrim(Str(::nLine)),nchars) + "/" + cLen ) DevPos( y, ::x1 + nF9 + ::nTopName + 12 + nchars*2 + 3 ) DevOut( "[" + Ltrim(Str(::PosToCol()-::x1+::nxFirst)) + "]" ) SetColor( ::cColorWB ) DevPos( y, ::x2-3 ) IF ::lF3 .OR. (::nby1 >= 0 .AND. ::nby2 >= 0) DevOut( "Sele" ) ELSE DevOut( Iif( ::nMode == 0, Iif( ::lReadOnly, "View", "Edit" ), ; Iif( ::nMode == 1, " Vim", " Cmd" ) ) ) ENDIF ENDIF SetColor( ::cColor ) DevPos( nRow, nCol ) DispEnd() ENDIF ENDIF RETURN Nil
| восстановила прорисовку только горизонтальное разделения при вертикальном, прорисовка делается и убирается, видно мелькание
|
|
|
alkresin
|
| moderator
|
Пост N: 1378
Зарегистрирован: 06.07.06
|
|
Отправлено: 11.09.19 09:54. Заголовок: Там просто вертикаль..
Там просто вертикальный разделитель не прорисовывался . Поправил.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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) } }
|
|
|
SergKis
|
| постоянный участник
|
Пост 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
|
|
|
alkresin
|
| 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
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 ) повторяться будут и в блоке кода и без блока, потому вынес эти строки к вашим
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2851
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.09.19 09:43. Заголовок: alkresin При savehi..
alkresin При savehis=1 и первый экран отображения (ничего не делали) отображение row, col не совпадает с позицией курсора (правильно стоит). Стоит сделать перемещение и все ok
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2852
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.09.19 10:41. Заголовок: PS Возможно, будет и..
PS Возможно, будет интересно, сборка hbedit с cdp LV866 и StatusBar https://TransFiles.ru/87bmx LV866 и RU866 практически одинаковые, лат. буквы в псевдографике
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2853
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.09.19 14:15. Заголовок: alkresin Можно ли, ..
alkresin Можно ли, например, строке keywords4 присвоить цвет подсветки quotes (подсветка текста в кавычках) ?
|
|
|
alkresin
|
| moderator
|
Пост N: 1380
Зарегистрирован: 06.07.06
|
|
Отправлено: 12.09.19 14:55. Заголовок: SergKis пишет: При ..
SergKis пишет: цитата: | При savehis=1 и первый экран отображения (ничего не делали) отображение row, col не совпадает с позицией курсора (правильно стоит). |
| Отображение координат в панели статуса? У меня вроде все правильно. цитата: | Можно ли, например, строке keywords4 присвоить цвет подсветки quotes (подсветка текста в кавычках) ? |
| А почему нельзя? Любой цвет присваивайте. Или я что-то недопонял?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2854
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.09.19 15:10. Заголовок: alkresin пишет Любой..
alkresin пишет цитата: | Любой цвет присваивайте. Или я что-то недопонял? |
| Скорее я не очень понимаю, как присвоить цвет строке keywords4=... Цвет keywords1 отличается от keywords2\3, но как поменять, что то не найду, т.е. ключевым словам в keywords4 назначить цвет другой, чем keywords2\3, к примеру как quotes. цитата: | У меня вроде все правильно |
| В вашей сборке идет сообщение из плагина и нажав что то, все становится ok. В моей сборке видно, значения row,col при первом входе одни, при нажатии перемещения - другие.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2855
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.09.19 15:52. Заголовок: PS при организации п..
PS при организации подокон (Ctrlw-w,s \ Ctrlw-w,v ) происходит то же самое при Ctrl-TAB (переключение по окнам)
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2856
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.09.19 16:43. Заголовок: SergKis пишет Скорее..
SergKis пишет цитата: | Скорее я не очень понимаю, как присвоить цвет строке keywords4=... |
| Обыскался в исходниках, а оказалось совсем просто в ini [PALETTE_?] секции
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6436
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.09.19 18:30. Заголовок: А в редактор можно д..
А в редактор можно добавить кнопки для сборки проекта ? Чтобы править и собирать и запускать проект без Far'a ?
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 но что то не срослось, что не понимаю ? Или так нельзя ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2858
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.09.19 18:38. Заголовок: Andrey пишет А в ред..
Andrey пишет цитата: | А в редактор можно добавить кнопки для сборки проекта ? Чтобы править и собирать и запускать проект без Far'a ? |
| Раньше было окошечко для запуск bat\cmd файла, что то сейчас его не вижу ?
|
|
|
SergKis
|
| постоянный участник
|
Пост 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
|
|
|
Andrey
|
| постоянный участник
|
Пост 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бит виндой + раздел винта маленький должен быть, иначе он не запускается. Пытаюсь прекратить поддержку терминалки - юзера не дают ! Видать до самой пенсии придётся сопровождать.
|
|
|
SergKis
|
| постоянный участник
|
Пост 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
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 из моего можно перенести в родной)
|
|
|
SergKis
|
| постоянный участник
|
Пост 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.
|
|
|
alkresin
|
| moderator
|
Пост N: 1381
Зарегистрирован: 06.07.06
|
|
Отправлено: 13.09.19 14:15. Заголовок: SergKis пишет: В ва..
SergKis пишет: цитата: | В вашей сборке идет сообщение из плагина и нажав что то, все становится ok. В моей сборке видно, значения row,col при первом входе одни, при нажатии перемещения - другие. |
| Проверял без плагина (просто переместил его временно из plugins/) - все нормально.
|
|
|
alkresin
|
| 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 Кстати, из командного режима можно с помощью ! исполнить любую консольную программу, результат будет выведен в отдельное подокно.
|
|
|
alkresin
|
| moderator
|
Пост N: 1383
Зарегистрирован: 06.07.06
|
|
Отправлено: 13.09.19 14:25. Заголовок: SergKis пишет: Рань..
SergKis пишет: цитата: | Раньше было окошечко для запуск bat\cmd файла, что то сейчас его не вижу ? |
| Не помню такого окошечка. Внешние программы запускаются из командного режима, как в Vim).
|
|
|
alkresin
|
| moderator
|
Пост N: 1384
Зарегистрирован: 06.07.06
|
|
Отправлено: 13.09.19 14:35. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно добавить keywords5 с цветом startline ? |
| Надо менять hilight.prg, класс Hili - там определены 4 набора keywords.
|
|
|
Andrey
|
| постоянный участник
|
Пост 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 Насчёт батника понял. Спасибо !
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 для некоторых слов
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 Подскажите, как правильно исправить ситуацию ?
|
|
|
SergKis
|
| постоянный участник
|
Пост 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, хотелось бы сохранить эту традицию
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2870
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.09.19 10:23. Заголовок: PSдобавить в edi_Sel..
PS цитата: | добавить в edi_SeleFile() маску для файлов |
| Просмотрел, параметр маски есть в функции. Снимается вопрос.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2871
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.09.19 11:06. Заголовок: PS Можно сделать при..
PS Можно сделать при выделении текста F3 и блоковом по Ctrl+F3 при повторном нажатии (конец выделения) не выбрасывать меню с предложением выбрать буфер клавиатуры (к примеру, по переменной в TEdit .T.\.F.) ? Режим удобен при работе одной рукой
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 меню с одной строкой вываливается
|
|
|
SergKis
|
| постоянный участник
|
Пост 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) ) } Может не очень красиво, но работает.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2874
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.09.19 13:36. Заголовок: alkresin При создан..
alkresin При создании под окна Ctrl-w,s и Ctrl-w,o (полное окно) меняется поведение клавиши Esc и не переключаются окна по Ctrl-w,w. Так должно быть ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2875
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.09.19 14:56. Заголовок: alkresin Как вызват..
alkresin Как вызвать из подключаемого блока кода плагин, вызываемый по Alt-L (Function list) ? TEdit():bNew := ... постом выше. Исходный текст обработки тут Скрытый текст
STATIC FUNCTION h_KeyInit() h_Key := { ; 1004 => {| | Nil }, ; // K_RBUTTONDOWN 30101 => {| | edi_KeyCToN( "Shift-F4" ) }, ; // New file 30102 => {| | edi_KeyCToN( "Ctrl-F4" ) }, ; // Open file 30103 => {| | edi_KeyCToN( "F2" ) }, ; // Save 30104 => {| | edi_KeyCToN( "Shift-F4" ) }, ; // Save as 30105 => {| | edi_KeyCToN( "Shift-F8" ) }, ; // Code page 30109 => {| | edi_KeyCToN( "F9" ) }, ; // F9-Menu 30201 => {| | edi_KeyCToN( "F7" ) }, ; // Find... 30202 => {| | edi_KeyCToN( "Shift-F7" ) }, ; // Find Next 30203 => {| | edi_KeyCToN( "Alt-F7" ) }, ; // Find Prev 30204 => {| | edi_KeyCToN( "Ctrl-F7" ) }, ; // Replace... 30205 => {| | edi_KeyCToN( "Alt-F8" ) }, ; // Goto... 30206 => {| | edi_KeyCToN( "Alt-B" ) }, ; // Goto the previous position 30207 => {| | edi_KeyCToN( "Alt-L" ) }, ; // Function list 30301 => {| | edi_KeyCToN( "F12" ) }, ; // List of open files 30302 => {|o,n| Window_OnKey(o, n) }, ; // Split window horizontally 30303 => {|o,n| Window_OnKey(o, n) }, ; // Split window vertically 30304 => {|o,n| Window_OnKey(o, n) }, ; // Switch window 30305 => {|o,n| Window_OnKey(o, n) }, ; // Open window fully 30306 => {|o,n| Window_OnKey(o, n) }, ; // Close window 30999 => {| | (-1) } ; // dummy } RETURN Nil STATIC FUNCTION Window_OnKey( o, n ) LOCAL r := -1 IF n == 30302 // Split window horizontally j := edi_AddWindow( o, MemoRead(o:cFileName), o:cFileName, 2, Int( (o:y2-o:y1)/2 ) ) j:lReadOnly := .T. ELSEIF n == 30303 // Split window vertically j := edi_AddWindow( o, MemoRead(o:cFileName), o:cFileName, 3, Int( (o:x2-o:x1)/2 ) ) j:lReadOnly := .T. ELSEIF n == 30304 // Switch window IF Len(o:aWindows) > 1 r := edi_KeyCToN( "Ctrl-Tab" ) // mnu_ToBuf( o, edi_FindWindow( o, .T. ) ) ENDIF ELSEIF n == 30305 // Open window fully IF o:oParent != Nil edi_CloseWindow( o, .F. ) o:oParent := Nil o:y1 := o:aRect[1] := o:aRectFull[1] o:x1 := o:aRect[2] := o:aRectFull[2] o:y2 := o:aRect[3] := o:aRectFull[3] o:x2 := o:aRect[4] := o:aRectFull[4] IF o:lTopPane o:y1 ++ ENDIF o:TextOut() edi_SetPos( o ) __KeyBoard( chr(K_RIGHT)+chr(K_LEFT) ) ENDIF ELSEIF n == 30306 // Close window ( fully window ) IF o:oParent != Nil mnu_Exit( o ) ELSEIF Len(o:aWindows) > 1 r := K_ESC ENDIF ENDIF RETURN r FUNCTION EdOnKey( o, n ) LOCAL m := n, b, i, j, k LOCAL s := hb_BitAnd( n, SHIFT_PRESSED ) != 0 LOCAL a := hb_BitAnd( n, ALT_PRESSED ) != 0 LOCAL c := hb_BitAnd( n, CTRL_PRESSED ) != 0 LOCAL p := hb_keyStd( n ) LOCAL r := -1 // ToLog(.T., n, s, a, c, p) IF p == K_F1 // help RETURN r ELSEIF p == K_F8 // colored syntaxis enabled\disabled RETURN r ELSEIF p == K_F10 // exit RETURN r ENDIF b := hb_HGetDef( h_Key, n, Nil ) If b != Nil If HB_ISBLOCK( b ) .and. ( k := EVal( b, o, n ) ) != Nil n := k Else n := b EndIf EndIf RETURN n
| Цветом выделена попытка вернуть Alt+L в обработчик, не срабатывает попытка через __Keyboard(chr(K_ALT_L)) и возврат -1 в обработчик, не срабатывает Как правильно надо ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6439
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.09.19 17:56. Заголовок: SergKis пишет: Раск..
SergKis пишет: цитата: | Раскрасил hmg команды (получилось хорошо), но не хватает цвета поярче от #define ..., #include ..., т.е. startline для некоторых слов |
| Я посмотрел раскраску под МиниГуи. Что то блеклая она какая то ... А поярче нельзя ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2876
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.09.19 17:59. Заголовок: alkresin При работе..
alkresin При работе с xml, html файлами, возможно, надо читать кодировку и при Utf-8 включать автоматом utf8 в hbedit
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6440
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.09.19 18:20. Заголовок: https://i.imgur.com/..
Можно сделать переход на редактирование сразу в меню ?
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 самостоятельно и довольно не трудно.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6441
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.09.19 18:25. Заголовок: Ещё по умолчанию хот..
Ещё по умолчанию хотелось бы иметь выход из редактора по Alt+X и Alt+Q (с сохранением всех файлов) как в ME7.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2878
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.09.19 18:25. Заголовок: Andrey пишет Можно с..
Andrey пишет цитата: | Можно сделать переход на редактирование сразу в меню ? |
| Стремлюсь к мах возможному переносу в меню windows режимов hbedit. То что кидал теме и выкладывал тут выше - состояние на сегодня
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6442
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.09.19 18:52. Заголовок: В ME7 очень удобное ..
В ME7 очень удобное меню по правому Ctrl+Enter В нём можно сделать свои настройки по компиляции и запуску проекта. Всё сразу сохраняется в настройках и при переносе ничего заново настраивать не надо. Вот такое меню по по правому Ctrl+Enter: Можно ли сделать такое же меню запуска ?
|
|
|
SergKis
|
| постоянный участник
|
Пост 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 ) в цикле
|
|
|
SergKis
|
| постоянный участник
|
Пост 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) ) } Может не очень красиво, но работает. |
| Оказалось не везде работает. Обработка сообщений меню Скрытый текст
STATIC FUNCTION Window_OnKey( o, n ) LOCAL r := -1 IF n == 30302 // Split window horizontally j := edi_AddWindow( o, MemoRead(o:cFileName), o:cFileName, 2, Int( (o:y2-o:y1)/2 ) ) j:lReadOnly := .T. // работает показ координат правильно ELSEIF n == 30303 // Split window vertically j := edi_AddWindow( o, MemoRead(o:cFileName), o:cFileName, 3, Int( (o:x2-o:x1)/2 ) ) j:lReadOnly := .T. // работает показ координат правильно ELSEIF n == 30304 // Switch window IF Len(o:aWindows) > 1 // r := edi_KeyCToN( "Ctrl-Tab" ) mnu_ToBuf( o, edi_FindWindow( o, .T. ) ) __KeyBoard( chr(K_RIGHT)+chr(K_LEFT) ) // переключение работает правильно из меню. Ctrl+Tab, Ctrl+w,w - показ // неверный координат после переключения, после стрелки - все правильно ENDIF ELSEIF n == 30305 // Open window fully IF o:oParent != Nil edi_CloseWindow( o, .F. ) o:oParent := Nil o:y1 := o:aRect[1] := o:aRectFull[1] o:x1 := o:aRect[2] := o:aRectFull[2] o:y2 := o:aRect[3] := o:aRectFull[3] o:x2 := o:aRect[4] := o:aRectFull[4] IF o:lTopPane o:y1 ++ ENDIF o:TextOut() edi_SetPos( o ) __KeyBoard( chr(K_RIGHT)+chr(K_LEFT) ) // работает показ координат правильно ENDIF ELSEIF n == 30306 // Close window ( fully window ) IF o:oParent != Nil mnu_Exit( o ) ELSEIF Len(o:aWindows) > 1 r := K_ESC ENDIF ENDIF RETURN r
| Как это побороть ?
|
|
|
SergKis
|
| постоянный участник
|
Пост 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)
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2882
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.09.19 12:09. Заголовок: SergKis пишет Как эт..
SergKis пишет Ларчик просто открывался Поменялись способы добычи Row, Col в :WriteTopPane() (еле высмотрел) Перенес в свою процедуру. Убрал добавки с __keyBoard() тоже, все заработало Блин столько времени ... УРА!
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2883
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.09.19 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 ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2885
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.09.19 11:25. Заголовок: PS На окне "Open..
PS На окне "Open file" может есть клавиши, для вызова списка файлов ? Как то удобно хвататься за мышь. Если нет назначенной клавиши, может, сделать как у combobox кл. F4 - развертка списка
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2887
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.09.19 11:48. Заголовок: PPS По F4 и через ме..
PPS По F4 и через меню F9 вкл. режим списка файлов истории. Пожелания: - сделать, как где то уже делали, если длина массива <= 3, то список с ключом слева (как сейчас), при > 3 список с поиском. - увеличить правую границу с 67 (стоит в некоторых местах кода) до MaxCol() - x1 - 1, тогда больше файлов (возможно все) пойдут с нормальным именем, а не с укороченным через функцию
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6444
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.09.19 12:11. Заголовок: alkresin Большое по..
alkresin Большое пожелание сделать удобное меню по правому Ctrl+Enter. Как писал в Пост N: 6442 Заранее большое спасибо !
|
|
|
alkresin
|
| moderator
|
Пост N: 1385
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.09.19 15:30. Заголовок: Andrey пишет: Файлы..
Andrey пишет: цитата: | Файлы проекта в хХарборе имеют расширение .bc |
| Тогда в том же командном режиме: !z:\xHarbour\bin\hbmake MyPrj4.bc Исполненные команды сохраняются, так что в следующий раз жмете стрелку вверх для выбора команды из истории.
|
|
|
alkresin
|
| moderator
|
Пост N: 1386
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.09.19 15:44. Заголовок: SergKis пишет: defm..
SergKis пишет: цитата: | defmode=-1 Vim режим отключен и не будет командной строки |
| Ну так включите, ничего плохого с вами не случится - он же не по умолчанию будет. цитата: | "Хорошо бы пива", что бы окошечко было, т.к. консоли нет, есть wvt совсем чуть-чуть и hmg |
| Согласитесь, это более чем странно - добавлять альтернативный интерфейс для уже реализованной функции. В крайнем случае, если не можете жить с мыслью о том, что при нажатии Ctrl-Q может появиться Vim-режим, в ваш обработчик :bOnKey добавьте клавишу какую-нибудь, чтобы напрямую в командный режим переходить. В принципе, я могу сделать, чтобы при defmode=-1 Ctrl-Q переключала в командный режим. цитата: | Можно добавить, п о ж а л у й с т а ? Раскрасил hmg команды (получилось хорошо), но не хватает цвета поярче от #define ..., #include ..., т.е. startline для некоторых слов |
| Ok.
|
|
|
alkresin
|
| moderator
|
Пост N: 1387
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.09.19 16:04. Заголовок: SergKis пишет: Вот ..
SergKis пишет: Прямо сейчас transfiles.ru не отзывается, может позже. цитата: | сделать список his по F4 с поиском, а не с ключом слева |
| Пожалуй, да. Сам подумывал об этом. цитата: | вынести меню с текстами и тексты с запросов окон в hbedit.prg для языковых вариантов |
| Не получится. Hbedit используется и как встроенный редактор для других приложений, а hbedit.prg туда не включается. Если нужно свое меню, сажайте его на F9 в своем :bOnKey.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2890
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.09.19 16:15. Заголовок: alkresin пишет Ну та..
alkresin пишет цитата: | Ну так включите, ничего плохого с вами не случится - он же не по умолчанию будет. |
| Vim режим надо отключать, при включенном, что то нажал, случайно и попал в него и он начинает жить ..., т.е. пытаешься делать одно, а он что то свое, пока не выключишь. По поводу командной строки, по мне она не нужна (есть и хорошо для кого то), т.к. bat\cmd файлов, как правило, несколько и подходит, скорее, вариант от Андрея Ctrl+Enter ( меню запусков ) больше нравится для работы. Я просил (ранее) сделать для функции edi_SeleFile( oEdit, cPath, y1, x1, y2, x2 ) сделать cPath параметр и массивом именно с целью масками самому собирать список, к примеру, cmd+bat файлов (есть еще варианты списков) и его отрабатывать в :bOnKey.
|
|
|
alkresin
|
| moderator
|
Пост N: 1388
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.09.19 16:27. Заголовок: SergKis пишет: Vim ..
SergKis пишет: цитата: | Vim режим надо отключать, при включенном, что то нажал, случайно |
| Довольно сложно, мне кажется, случайно нажать Ctrl-Q. цитата: | подходит, скорее, вариант от Андрея Ctrl+Enter |
| Я еще не добрался до варианта от Андрея, но мое предложение переключаться в командный режим по Ctrl-Q напрямую при defmode=-1 остается в силе. Учитывая, что можно ходить по истории команд, это то же самое меню, к тому же пополняемое в процессе эксплуатации.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2892
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.09.19 16:29. Заголовок: PS Вот тестовый вари..
PS Вот тестовый вариант, правда, только для одной маски, но получил, что хотел Скрытый текст
STATIC FUNCTION bkDir( o, n, cMask ) LOCAL cDir := hb_DirBase()+cMask LOCAL y1 := 2 LOCAL x1 := 6 LOCAL y2 := o:aRectFull[3]-2 LOCAL x2 := 67 LOCAL i := y2 - y1 - 1 LOCAL aDir := edi_Directory( cDir ) LOCAL xFil, cWnd, k, l := 0, m := 12 AEval(aDir, {|a,p| l := Max( Len(a[1]), l ) }) l := Max( m, l ) l += 4 * 2 + 1 k := iif( Len(aDir) < i, Len(aDir), i ) + 1 y2 := iif( y1 + k > y2, y2, y1 + k ) x2 := iif( x1 + l > x2, x2, x1 + l ) cWnd := sv_wnd( y1-1, x1-1, y2+1, x2+1 ) xFil := edi_SeleFile( o, cDir, y1, x1, y2, x2 ) rs_wnd(cWnd) RETURN Nil
|
|
|
|
alkresin
|
| moderator
|
Пост N: 1389
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.09.19 16:32. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно сделать при выделении текста F3 и блоковом по Ctrl+F3 при повторном нажатии (конец выделения) не выбрасывать меню с предложением выбрать буфер клавиатуры |
| Нет необходимости повторно нажимать F3/Ctrl-F3. Закончили выделение - забираете в буфер (Ctrl-C, Ctrl-Ins) и все.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2893
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.09.19 16:38. Заголовок: alkresin пишет Учиты..
alkresin пишет цитата: | Учитывая, что можно ходить по истории команд, это то же самое меню, к тому же пополняемое в процессе эксплуатации. |
| У меня в базовом варианте работы уже стоит 100 строк истории и это не предел, потому просил увеличить ширину окна списка до MaxCol()-x1-1 или до самой правой границы (по коротким именам файлов ничего не понять по проектам одинаково организованным). Стоят настройки окна hbedit fontheight=21 fontwidth=10 screen_width=129 screen_height=32 по размеру шрифта и размерам очень близко к Akelpad и Notepad3.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2894
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.09.19 16:41. Заголовок: alkresin пишет Нет н..
alkresin пишет цитата: | Нет необходимости повторно нажимать F3/Ctrl-F3. Закончили выделение - забираете в буфер (Ctrl-C, Ctrl-Ins) и все. |
| Без повторного нажатия продолжает красить блок, нажав esc вылетаешь из окна с текстом.
|
|
|
alkresin
|
| moderator
|
Пост N: 1390
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.09.19 16:46. Заголовок: SergKis пишет: При ..
SergKis пишет: цитата: | При создании под окна Ctrl-w,s и Ctrl-w,o (полное окно) меняется поведение клавиши Esc и не переключаются окна по Ctrl-w,w. |
| После Ctrl-w,o окно перестает быть дочерним, это обычное, равноправное окно, переключение по Ctrl-Tab. А Ctrl-w,w - только для дочерних окон.
|
|
|
alkresin
|
| moderator
|
Пост N: 1391
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.09.19 16:49. Заголовок: SergKis пишет: Без ..
SergKis пишет: цитата: | Без повторного нажатия продолжает красить блок, нажав esc вылетаешь из окна с текстом. |
| Хм... Действительно, после Ctrl-C продолжает красить, а после Ctrl-Ins (я им обычно пользуюсь) - все нормально. Проверю, в чем дело.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2895
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.09.19 16:58. Заголовок: alkresin пишет После..
alkresin пишет цитата: | После Ctrl-w,o окно перестает быть дочерним, это обычное, равноправное окно, переключение по Ctrl-Tab. А Ctrl-w,w - только для дочерних окон. |
| Да, увидел по текстам. Только возникает "визуальная" путаница окна Edit и копии View. В моем полно экранном варианте при горизонтальном делении и перевода доч. окна в полный экран, остается в 0 строке полоса разделения, что очень хорошо для понимания доч.окна.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2896
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.09.19 17:13. Заголовок: alkresin пишет Не по..
alkresin пишет цитата: | Не получится. Hbedit используется и как встроенный редактор для других приложений, а hbedit.prg туда не включается. Если нужно свое меню, сажайте его на F9 в своем :bOnKey. |
| Я имел ввиду ваши меню + тексты вынести, к примеру, в PUBLIC (hbedit.prg) STATIC переменные в каждом своем prg файле с функциями получения адреса, чтобы в своеем варианте, ключи (значения) "родных" значений можно было подменить языковыми данными из языковых файлов utf8 кодировки. Т.е. нужен доступ к данным, чтобы не трогать базовые тексты hbedit цитата: | Прямо сейчас transfiles.ru не отзывается, может позже. |
| С ситуацией неправильной подсветки разобрался. В WriteTopPane поменялся вариант отображения row, col, а у меня остался старый, расчетный. Смотрел, но глаз замылился и не как не мог увидеть изменения. Сейчас поправил и все ok!
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2897
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.09.19 17:30. Заголовок: alkresin пишет Я еще..
alkresin пишет цитата: | Я еще не добрался до варианта от Андрея, но мое предложение переключаться в командный режим по Ctrl-Q напрямую при defmode=-1 остается в силе |
| Привычнее, Notepad3, Ctrl+R => окно запроса запуска, но лучше список запусков без окна, Ctrl+Q будет занята, наверно, списком проекта, т.к. hbp не использую
|
|
|
alkresin
|
| moderator
|
Пост N: 1392
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.09.19 11:55. Заголовок: SergKis пишет: Как ..
SergKis пишет: цитата: | Как вызвать из подключаемого блока кода плагин, вызываемый по Alt-L (Function list) ? |
| Горячие клавиши для плагинов хранятся в hKeyMap - там же, где переназначения клавиш, и обрабатываются в :Edit() до вызова :onKey(), поэтому ваши варианты не сработают. Надо просто напрямую запустить нужный плагин.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2898
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.09.19 12:16. Заголовок: alkresin пишет Горяч..
alkresin пишет цитата: | Горячие клавиши для плагинов хранятся в hKeyMap - там же, где переназначения клавиш, и обрабатываются в :Edit() до вызова :onKey(), поэтому ваши варианты не сработают. Надо просто напрямую запустить нужный плагин. |
| Возможно, это не очень хорошо, т.к. я повторил (ф-я Window_OnKey()) для Ctrl-w,.. (они тоже не срабатывают замену на Alt-1,.. по той же причине) часть кода из меню mnu_Windows() по обработке, т.е. я повторяю ваши алгоритмы обработчика и если, в какой то, версии hbedit они изменятся, то будет "мило", с начала определить изменения и потом перенести\перестроить алгоритмы в свою часть. Может, :OnKey, сможет определить возврат (команды) из :bOnKey и выполнить плагины и др. не исполняемые сейчас команды ?
|
|
|
alkresin
|
| moderator
|
Пост N: 1393
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.09.19 12:33. Заголовок: SergKis пишет: Може..
SergKis пишет: цитата: | Может, :OnKey, сможет определить возврат (команды) из :bOnKey и выполнить плагины и др. не исполняемые сейчас команды ? |
| :onKey() отрабатывает после того, как будет разобран hKeyMap и переопределенные клавиши преобразуются в предопределенные. :onKey() получает предопределенные в программе клавиши - такова логика программы. Alt-L и прочие определены в ini-файле, :onKey() о них ничего не знает.
|
|
|
alkresin
|
| moderator
|
Пост N: 1394
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.09.19 12:41. Заголовок: Andrey пишет: Можно..
Andrey пишет: цитата: | Можно сделать переход на редактирование сразу в меню ? |
| Не понял, что означает "переход на редактирование" ? "Попасть в редактирование этой настройки" - тоже не понял, что имеется ввиду. цитата: | Ещё по умолчанию хотелось бы иметь выход из редактора по Alt+X и Alt+Q (с сохранением всех файлов) как в ME7. |
| Вы можете переопределить клавиши в ini-файле: Alt-X=>F10
|
|
|
alkresin
|
| moderator
|
Пост N: 1395
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.09.19 12:46. Заголовок: Andrey пишет: В ME7..
Andrey пишет: цитата: | В ME7 очень удобное меню по правому Ctrl+Enter В нём можно сделать свои настройки по компиляции и запуску проекта. ... |
| В hbedit для таких вещей есть плагины. Напишите свой плагин, который реализует такое меню (помогу, если надо) и пропишите его в ini-файле с нужной горячей клавишей.
|
|
|
alkresin
|
| moderator
|
Пост N: 1396
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.09.19 12:56. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно сделать, чтобы edi_SeleFile() понимала массив на входе ? |
| Я так понимаю, что нужен массив масок, а не путей?
|
|
|
alkresin
|
| moderator
|
Пост N: 1397
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.09.19 12:57. Заголовок: SergKis пишет: При ..
SergKis пишет: цитата: | При выделенном блоке Shift+стрелки, Ctrl+C и вставка в Far этого блока, происходит искажение данных, |
| А что искажается? Я из вашего примера ничего не увидел.
|
|
|
alkresin
|
| moderator
|
Пост N: 1398
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.09.19 12:59. Заголовок: SergKis пишет: На о..
SergKis пишет: цитата: | На окне "Open file" может есть клавиши, для вызова списка файлов ? Как то удобно хвататься за мышь |
| Ctrl+стрелка вниз.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2899
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.09.19 13:56. Заголовок: alkresin пишет Я так..
alkresin пишет цитата: | Я так понимаю, что нужен массив масок, а не путей? |
| Со списком масок не надо, т.к. кроме строк от масок, можно подсунуть ключевые слова и после меню их отрабатывать. Скорее, общий вариант вызова меню на массив с поиском, какой это будет массив, от путей полученный или др. способом, это не важно. Надо что бы он формировался по координатам от max длины строк и кол-ва строк массива, не выходя за пределы MaxRow(), MaxCol(). К примеру у меня будет (если дойдет до этого по планам) hbedit.cfg формата ini utf8 кодировки, с языковыми секциями и секциями, которые хочет Андрей на Ctrl+Enter, т.е. Название пункта меню и что выполнить (bat,cmd,...) и как выполнить типа RunWait или Run цитата: | В hbedit для таких вещей есть плагины. Напишите свой плагин, который реализует такое меню (помогу, если надо) и пропишите его в ini-файле с нужной горячей клавишей. |
| По мне, плагин тут не нужен, нужно просто меню выше описанное, команда меню и гор. клавиша. Понял, а то жму все время стрелку вверх (типа получить пред. значение) или F4. По стрелке вниз идет переключение фокуса (это еще надо увидеть - не очень наглядно) на [^] и надо еще жать SPACE для получения списка, по мне лишнее тело движение. В задачах делаю Enter на пустом поле или F5 -> сразу список. цитата: | А что искажается? Я из вашего примера ничего не увидел |
| Искажалась подсветка Row, Col при первом входе и переключении окон Crtl-Tab. После любого перемещения подсветка становилась правильной. Сейчас это исправлено, новыми вариантами из WriteTopPane (у меня был вариант из первых версий) цитата: | Вы можете переопределить клавиши в ini-файле: Alt-X=>F10 |
| Имеется ввиду алгоритм выхода из всех загруженных окон сразу цитата: | :onKey() отрабатывает после того, как будет разобран hKeyMap и переопределенные клавиши преобразуются в предопределенные. :onKey() получает предопределенные в программе клавиши - такова логика программы. Alt-L и прочие определены в ini-файле, :onKey() о них ничего не знает. |
| Может можно перестроить, сначала исполнить :bOnKey и потом возврат и исполнение того о чем написали.
|
|
|
alkresin
|
| moderator
|
Пост N: 1400
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.09.19 14:04. Заголовок: Обновлен hbedit. Доб..
Обновлен hbedit. Добавлена опция keywords5 и еще разные исправления и улучшения, сделанные за прошедшее время.
|
|
|
alkresin
|
| moderator
|
Пост N: 1401
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.09.19 14:17. Заголовок: SergKis пишет: Имее..
SergKis пишет: цитата: | Имеется ввиду алгоритм выхода из всех загруженных окон сразу |
| В vim-режиме для этого есть команды ZZ (выход из всех окон с сохранением) и ZQ (без сохранения). Можно добавить в keymap в ini, например: Alt-F10=>Ctrl-Q|Z|Z Ну и разрешить активацию vim-режима, конечно.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2902
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.09.19 16:10. Заголовок: alkresin пишет Добав..
alkresin пишет цитата: | Добавлена опция keywords5 |
| Спасибо, работает
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2903
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.09.19 17:02. Заголовок: alkresin Поправьте ..
alkresin Поправьте у себя METHOD WriteTopPane( lClear ) CLASS TEdit LOCAL y := ::y1 - 1, nCol := Col(), nRow := Row(), nF9 := 0 LOCAL cLen := Ltrim(Str(Len(::aText))), nchars := Len(cLen) 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 Eval( ::bWriteTopPane, Self, lClear, y ) ELSE IF ::lTopPane DispBegin() // Scroll( y, ::x1, y, ::x2 ) IF Empty( lClear )
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2904
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.09.19 22:26. Заголовок: PS или так IF ::b..
PS или так IF ::bWriteTopPane != Nil IF ::lTopPane Scroll( y, ::x1, y, ::x2 ) ENDIF Eval( ::bWriteTopPane, Self, lClear, y ) ELSE
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2905
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.09.19 00:36. Заголовок: alkresin SergKis пи..
alkresin SergKis пишет: цитата: | При выделенном блоке Shift+стрелки, Ctrl+C и вставка в Far этого блока, происходит искажение данных, |
| alkresin пишет цитата: | А что искажается? Я из вашего примера ничего не увидел. |
| 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 ) // должно быть LOCAL cProvPr := gProp( ProvPr ) // kod provodki na pribilj LV LOCAL cProvPrE := gProp( ProvPrE ) // kod provodki na pribilj ES LOCAL cProvPrO := gProp( ProvPrO ) // kod provodki na pribilj OT LOCAL cProvPvn := gProp( ProvPvn ) // kod provodki Pvn синим цветом искажение, строки вставки справа за // разорвали последовательность 4х строк, образовав новые строки
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2906
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.09.19 00:42. Заголовок: PS Akelpad, Notepad3..
PS Akelpad, Notepad3 делают операцию правильно + в Far блок выделенный, как выше, из них переносится тоже правильно, т.е. получаем строки как "должно быть" без искажений
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2907
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.09.19 00:53. Заголовок: PPS Far между собой,..
PPS Far между собой, по F4 делает правильно, в hbedit, akelpad, notepad3 переносит искажая hbedit искажает и между собой, 2а запуска hbedit, и в akelpad, notepad3, far переносит искажая
|
|
|
alkresin
|
| moderator
|
Пост N: 1402
Зарегистрирован: 06.07.06
|
|
Отправлено: 12.12.19 09:54. Заголовок: Обновлен hbedit. Нес..
Обновлен hbedit. Несколько мелких правок. Добавлено два плагина, игра Сокобан (передвигаем ящики по лабиринту в конечные позиции) и игра StarTrek (помнится, лет 35 назад мы резались в нее еще на СМ-4).
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3006
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.01.20 15:28. Заголовок: SergKis пишет F..
SergKis пишет цитата: | 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 ) // должно быть LOCAL cProvPr := gProp( ProvPr ) // kod provodki na pribilj LV LOCAL cProvPrE := gProp( ProvPrE ) // kod provodki na pribilj ES LOCAL cProvPrO := gProp( ProvPrO ) // kod provodki na pribilj OT LOCAL cProvPvn := gProp( ProvPvn ) // kod provodki Pvn |
| синим цветом искажение, строки вставки справа за // разорвали последовательность 4х строк, образовав новые строки Такая правка в fedit.prg FUNCTION cb2Text( oEdit, nReg, lToText, s, lVert ) ... IF Chr(13) $ s s := Strtran( s, Chr(13), "" ) ENDIF lVert := lVert .or. oEdit:nPos > 1 IF lVert oEdit:Undo( oEdit:nLine, oEdit:nPos,,, UNDO_OP_START ) ... исправила ситуацию. Из Far так же правильно столбиком переносит.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3007
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.01.20 13:46. Заголовок: PS Правка небольшая ..
PS Правка небольшая lVert := lVert .or. ( oEdit:nPos > 1 .and. chr(10) $ s )
|
|
|
alkresin
|
| moderator
|
Пост N: 1409
Зарегистрирован: 06.07.06
|
|
Отправлено: 10.02.20 16:44. Заголовок: Выделяю Far'ом в..
Выделяю Far'ом вертикальный блок, вставляю в Akelpad и в Notepad3 (взял тексты из вашего примера) - и вставляется как обычный блок, не как вертикальный. Или я что-то не так понял? В предложенной вами правке есть та проблема, что любой многострочный блок будет вставляться как вертикальный, если он вставляется не с первой позиции, что в общем случае неправильно. Возможно, стоит еще посчитать количество символов в каждой строке блока - если оно одинаково, то считать блок вертикальным.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3048
Зарегистрирован: 17.02.12
|
|
Отправлено: 10.02.20 19:08. Заголовок: alkresin пишет Выдел..
alkresin пишет цитата: | Выделяю Far'ом вертикальный блок, вставляю в Akelpad и в Notepad3 |
| То же происходит и из hbedit в Akelpad и в Notepad3, а между Akelpad и Notepad3 и Notepad2 вставки вертикальных блоков происходят нормально, без эффекта как из Far. Сделанные мной изменения, работаю с того времени и решили проблему, для меня на все 100%, т.е. Если курсор в позиции > 1 - вставка вертикального блока от позиции курсора и ниже, даже если явзял не вертикальный блок, а блок строк, главное, нет искажения, типа с середины строки пошла первая строка вставки, а остальные прыгнули с первой позиции в след. строках, которые в большинсве случаев надо исправлять.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3049
Зарегистрирован: 17.02.12
|
|
Отправлено: 10.02.20 19:14. Заголовок: PS И такая вставка в..
PS И такая вставка в hbedit, текст, который правим, правильно происходит и из Far, из Akelpad и Notepad3
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3050
Зарегистрирован: 17.02.12
|
|
Отправлено: 10.02.20 19:25. Заголовок: PPS Т.к. уже ~70% ра..
PPS Т.к. уже ~70% работу делаю в hbedit, то перенос из hbedit в Akelpad, Notepad3 почти не актуален, обратный перенос работает как мне надо. В проектах подключен вызов 2х редакторов Akelpad и hbedi.t + hbedit в Far подключен на Alt+F4, на новой pc и на Enter. Родной Far редактор на F4 - привычка. Словом спасибо за hbedit !
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3055
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.02.20 07:49. Заголовок: alkresin Можно доба..
alkresin Можно добавить\разделить в палитру цвет режима readonly, т.е. на примере palette=solarized light тот фон на котором работаем отнести к режиму readonly, другой, более светлый, сделать фоном работы редактора ?
|
|
|
alkresin
|
| moderator
|
Пост N: 1410
Зарегистрирован: 06.07.06
|
|
Отправлено: 12.02.20 14:17. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно добавить\разделить в палитру цвет режима readonly, |
| Т.е., добавить в ini опцию типа palette_ro=solarized dark ? Можно.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3058
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.02.20 15:19. Заголовок: alkresin пишет Т.е.,..
alkresin пишет цитата: | Т.е., добавить в ini опцию типа palette_ro=solarized dark |
| Возможно так [PALETTE_4] name=solarized light ; ReadOnly как было colors= #?????? #002B36, #073642, #586E75, #657B83, #839496, #93A1A1, #EEE8D5, #FDF6E3, #B58900, #CB4B16, #DC322F, #D33682, #6C71C4, #268BD2, #2AA198, #859900 ... т.е. опция как была name=solarized light, так и осталась, но при запуске hbedit.exe -ro ... цвет фона берется для указанного под ?????, в режиме edit как было или как вариант colorROnly=RB/B colormain=RB/B ...
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3059
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.02.20 15:26. Заголовок: PS Т.е. делаем 17 pa..
PS Т.е. делаем 17 palette цветов (берем всегда 16), только меняем цвет для фона при -ro из 1го элемента, иначе со 2го
|
|
|
alkresin
|
| moderator
|
Пост N: 1411
Зарегистрирован: 06.07.06
|
|
Отправлено: 19.02.20 14:54. Заголовок: 17-й цвет добавить в..
17-й цвет добавить в палитру нельзя, не может быть в харборовской палитре больше 16 цветов, это ограничение gt-системы. Если мы определяем 17-й цвет - это значит, что мы добавляем новую палитру. По сути, это то, что я предлагал (palette_ro=solarized xxx ). Можно вместо этого в определение палитры в ini добавить, например, bgReadOnly=W т.е., цвет фона для ro режима меняем на W, но этот W - один из 16 цветов текущей палитры.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3068
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.02.20 15:35. Заголовок: alkresin пишет 17-й ..
alkresin пишет цитата: | 17-й цвет добавить в палитру нельзя, не может быть в харборовской палитре больше 16 цветов ... т.е., цвет фона для ro режима меняем на W, но этот W - один из 16 цветов текущей палитры. |
| Режим ReadOnly с цветом это повторный запуск hbedit и 17 цвет может быть, его как раз и использовать вместо фона режима Edit, т.е. харбору мы скармливаем всегда 16 цветов палитры, подменяя цвет фона. Режим ReadOnly в подокнах hbedit не меняет цвет фона. Т.е. работа как было. Смена цвета для ReadOnly только для др. запуска hbedit. Можно, конечно, дублировать полностью секции и запускать экз. hbedit для ReadOnly с новой секцией, но очень плодятся секции в ini
|
|
|
alkresin
|
| moderator
|
Пост N: 1412
Зарегистрирован: 06.07.06
|
|
Отправлено: 19.02.20 16:38. Заголовок: SergKis пишет: Режи..
SergKis пишет: цитата: | Режим ReadOnly с цветом это повторный запуск hbedit и 17 цвет может быть, его как раз и использовать вместо фона режима Edit, ... Режим ReadOnly в подокнах hbedit не меняет цвет фона. |
| Т.е., это все только для запуска с переключателем -ro? Вводить 17-й цвет в палитры, который будет использоваться только при определенном параметре командной строки? Это как-то странно, на мой взгляд. Тогда уж логичнее при запуске с -ro и -f задать - с другим ini-файлом, в котором будет определена спец.палитра.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3069
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.02.20 17:09. Заголовок: alkresin пишет Тогда..
alkresin пишет цитата: | Тогда уж логичнее при запуске с -ro и -f задать - с другим ini-файлом, в котором будет определена спец.палитра. |
| Из за одного цвета фона, создавать отдельные ini или секции + доп. параметры запуска, по мне, это лишнее, но возможное.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3070
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.02.20 17:43. Заголовок: PS Хочу сделать поис..
PS Хочу сделать поиск handle окна с именем загруженного файла в hbedit и если есть, запускать в режиме readonly и др.цветом Наличие др. ini или секций тут лишнее, т.к. ini могут быть относительными по отношению к проекту
|
|
|
alkresin
|
| moderator
|
Пост N: 1415
Зарегистрирован: 06.07.06
|
|
Отправлено: 15.09.20 10:27. Заголовок: Выложен новый релиз ..
Выложен новый релиз HbEdit: http://www.kresin.ru/hbedit.html В него вошли разные мелкие исправления и дополнения, сделанные за прошедшее время. Сделано автодополнение - пока для Harbour и частично для C файлов. В hbedit.ini должен стоять 'autocomplete=on', можно также включить/выключить это через меню View. Работает это так: набираем пару или больше символов и жмем Tab - выскакивает список для выбора вариантов, если они есть. Для prg постоянная часть списка формируется из набора ключевых слов ( "FUNCTION", "RETURN", ... ) и списка функций в plugins/hb_funcs.txt. Дополнительная часть списка формируется из названий функций в текущем файле, статических переменных, #define и Memvar в начале файла, Local, Memvar, Static в текущей функции.
|
|
|
alkresin
|
| moderator
|
Пост N: 1416
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.09.20 10:41. Заголовок: Выложен новый релиз ..
Выложен новый релиз HbEdit: http://www.kresin.ru/hbedit.html Поправлено кое-что. В ini добавлена опция autodelay, она задает время в секундах (можно и нецелое - 0.8, например), после которого появляется список вариантов. Сейчас она закомментирована. Если ее раскомментировать, то для появления подсказки можно не жать Tab, а подождать заданное время.
|
|
|
alkresin
|
| moderator
|
Пост N: 1417
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.09.20 13:43. Заголовок: Кстати, в состав HbE..
Кстати, в состав HbEdit включена маленькая библиотека - хотя это, наверное сильно сказано - скорее, модуль, написанный на С, который реализует prefixed tree (trie), структуру хранения строк, облегчающую их поиск. Здесь он используется для хранения ключевых слов, используемых в автодополнении, но может применяться и в других случаях, когда требуется хранилище строк с быстрым поиском.
|
|
|
Dima
|
| |
Пост N: 7244
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.09.20 14:20. Заголовок: alkresin Можно паро..
alkresin Можно парочку примеров для понимания работы этой библиотеки ? Спасибо !
|
|
|
alkresin
|
| moderator
|
Пост N: 1418
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.09.20 14:46. Заголовок: Dima пишет: Можно п..
Dima пишет: цитата: | Можно парочку примеров для понимания работы этой библиотеки ? |
| Ну например, FUNCTION Main() LOCAL arr := { "FUNCTION", "PROCEDURE", "RETURN", "hb_FNameName", "hb_FNameDir", "hb_FNameExt" } LOCAL trie LOCAL i, iCou, cBuff ? "Start" trie := trie_Create() ? "Trie created" FOR i := 1 TO Len( arr ) ? i, arr[ i ] trie_Add( trie, arr[ i ] ) NEXT ? "-------------" // Проверяем, есть ли эти слова в хранилище ? trie_Exist( trie, "FUNCTION" ), trie_Exist( trie, "PROCEDURE" ), trie_Exist( trie, "RETURN" ), trie_Exist( trie, "hb_FNameName" ), trie_Exist( trie, "hb_FNameDir" ), trie_Exist( trie, "hb_FNameExt" ) ? trie_Exist( trie, "GONE" ) // Проверяем, сколько имеется слов с заданным префиксом ? trie_Count( trie, "hb_FNameDir" ), trie_Count( trie, "hb_FNam" ) // Выводим строку - список слов, разделенных \n с заданным префиксом cBuff := trie_List( trie, "hb_", @iCou ) ? iCou IF iCou > 0 ? cBuff ENDIF // Закрываем хэндл хранилища, освобождаем соответствующие ресурсы trie_Close( trie ) ? "End" RETURN Nil
|
|
|
alkresin
|
| moderator
|
Пост N: 1419
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.09.20 14:52. Заголовок: Квадратные скобки съ..
Квадратные скобки съедает почему-то, там должно быть в цикле arr и в квадратных скобках i
|
|
|
Dima
|
| |
Пост N: 7245
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.09.20 14:57. Заголовок: alkresin пишет: Ква..
alkresin пишет: цитата: | Квадратные скобки съедает почему-то |
| Поправил ...... а писать в коде надо так [ i ]
|
|
|
alkresin
|
| moderator
|
Пост N: 1420
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.09.20 15:24. Заголовок: Спасибо. Боюсь, что ..
Спасибо. Боюсь, что все-равно забуду до следующего раза.
|
|
|
Dima
|
| |
Пост N: 7246
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.09.20 16:35. Заголовок: alkresin Есть тег IT..
alkresin Есть тег ITALIC для строки [ i ][ /i ] (без пробелов разумеется) , так вот если в выложенном сырце встречается [ i ] (без пробелов) то движок форума это понимает как начало шрифта ITALIC
|
|
|
alkresin
|
| moderator
|
Пост N: 1421
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.09.20 13:00. Заголовок: Выложен новый релиз ..
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3370
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.09.20 17:32. Заголовок: alkresin пишет Вылож..
alkresin пишет цитата: | Выложен новый релиз HbEdit |
| Выделение верт. блока и вставка его в позицию больше 1, как и раньше, работает (вставляет) неправильно, я раньше писал об этом. Far делает эту операцию правильно.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3371
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.09.20 17:59. Заголовок: PS При работе с одни..
PS При работе с одним файлом (из одного места в другое) верт. блок вставка работает правильно, но между 2-мя запусками hbedit нет и если выйти из hbedit и перезапуститься, то блок из буфера так же будет вставлен неправильно.
|
|
|
alkresin
|
| moderator
|
Пост N: 1422
Зарегистрирован: 06.07.06
|
|
Отправлено: 24.09.20 09:42. Заголовок: Т.е., проблема именн..
Т.е., проблема именно при работе с разными сеансами (копиями, запусками) редактора? Это понятно, ведь информация о том, что блок - вертикальный, хранится только во время сеанса. Я раскопал, как это делает Far. Он регистрирует новый формат Clipboard: Far_VerticalBlock_Unicode, в Winapi есть такая возможность, и сохраняет блок в этом формате, т.е. данные хранятся вместе с соответствующей пометкой в системном буфере Windows. Мне не хотелось бы идти по этому пути, т.к. он только для Windows, ну и возни много. Можно при копировании в буфер вертикального блока помещать перед текстом какой-нибудь непечатный символ, типа Chr(31). Тогда hbedit будет это дело обрабатывать правильно и между запусками, а в другие редакторы вертикальный блок попадет как обычный и с лишним символом. Может, это и нормально - вряд ли кто часто передает вертикальный блок между разными редакторами, да и удалить лишний символ нетрудно.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3375
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.09.20 12:08. Заголовок: alkresin пишет Может..
alkresin пишет цитата: | Может, это и нормально - вряд ли кто часто передает вертикальный блок между разными редакторами, да и удалить лишний символ нетрудно. |
| Иметь в работе 3 Far с ассоциацией на запуск редакторов (F4 - родной, Alt+F4 - Akelpad, Enter - hbedit) вполне нормальная практика + прогр. ведения проекта с запуском hbedit. Для меня это нормальный процесс. Потому просил когда то и режим подсветки фона для readonly запуска, как доп. опция, а не полностью новая секция цветов. Сейчас для различия source и target prg сдвигаю один из hbedit, к примеру, в правый угол экрана. С akelpad и far этого делать не надо, т.к. цветовые гаммы разные. У себя решил проблему верт. блока (писал об этом ранее) добавкой строки (хотелось бы иметь текст оригинал без моих правок, иначе трудно вести свою версию с LV866 кодировкой) FUNCTION cb2Text( oEdit, nReg, lToText, s, lVert ) ... IF Chr(13) $ s s := Strtran( s, Chr(13), "" ) ENDIF lVert := lVert .or. ( oEdit:nPos > 1 .and. chr(10) $ s ) IF lVert oEdit:Undo( oEdit:nLine, oEdit:nPos,,, UNDO_OP_START ) ... т.е. вставка не с 1ой позиции - это верт. блок вставка. Это работает правильно во всех случаях и с akelpad, far нет конфликта по переносу от них верт. блоков.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3376
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.09.20 12:18. Заголовок: PS Если делать встав..
PS Если делать вставку из буфера не с первой позиции, в вашей версии (разные запуски), будет искажение как для строк так и для верт. блока, т.е. по любому надо делать Ctrl+Z и мудрить как что делать, для строк перемещаться в 1ю позицию, для блока ... сейчас не работает, т.е не вставить
|
|
|
alkresin
|
| moderator
|
Пост N: 1423
Зарегистрирован: 06.07.06
|
|
Отправлено: 24.09.20 13:49. Заголовок: SergKis пишет: т.е...
SergKis пишет: цитата: | т.е. вставка не с 1ой позиции - это верт. блок вставка. |
| Я помню, вы это предлагали - и я тогда же ответил, что мне не кажется логичным такое предположение, для среднестатистического пользователя оно просто неверно. Не с 1-ой позиции можно вставлять и не вертикальный блок, в программном коде - реже, в обычном тексте - чаще. цитата: | Если делать вставку из буфера не с первой позиции, в вашей версии (разные запуски), будет искажение как для строк так и для верт. блока, |
| Только для вертикального блока. Я предлагал вставить Chr(31) только для него - если вы об этом. Впрочем, это, конечно, "грязное" решение. Можно еще, конечно, каждый раз при copy вертикального блока сохранять его в спец.файле, а при каждом paste читать оттуда - и, если содержимое совпадает с текстом в буфере - значит это вертикальный блок.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3377
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.09.20 14:00. Заголовок: alkresin пишет оно п..
alkresin пишет цитата: | оно просто неверно. Не с 1-ой позиции можно вставлять и не вертикальный блок, в программном коде - реже, в обычном тексте - чаще. |
| Не очень понимаю, что можно вставлять не 1-ой позиции ? Если во вставке есть chr(10) -> верт. блок, нет -> строка с позиции. Какие еще варианты ? Просто строки, так они сработают так же как и раньше, первая строка с позиции курсора, остальные вставятся с 1-ой позиции. Это обработка есть в команде lVert := lVert .or. ( oEdit:nPos > 1 .and. chr(10) $ s ) Если такое не катит, то лучше ничего не делать
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3378
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.09.20 14:05. Заголовок: SergKis пишет Просто..
SergKis пишет цитата: | Просто строки, так они сработают так же как и раньше, первая строка с позиции курсора, остальные вставятся с 1-ой позиции. |
| Это без команды добавленной и это "плохая" вставка, логичнее ее превращать в верт. блок и вставлять ровненько
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3379
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.09.20 14:11. Заголовок: PS2 в Akelpad из Far..
PS2 в Akelpad из Far верт. блок так же правильно переносится, т.е. если SergKis пишет цитата: | то лучше ничего не делать |
| Но осадочек остается
|
|
|
alkresin
|
| moderator
|
Пост N: 1424
Зарегистрирован: 06.07.06
|
|
Отправлено: 24.09.20 15:33. Заголовок: Ладно, уговорили. До..
Ладно, уговорили. Добавлю опцию в ini, которая разрешит подобное поведение.
|
|
|
alkresin
|
| moderator
|
Пост N: 1425
Зарегистрирован: 06.07.06
|
|
Отправлено: 25.09.20 11:15. Заголовок: Выложен новый релиз ..
Выложен новый релиз hbedit - v2.0-17, http://www.kresin.ru/hbedit.html. В ini добавлена опция autovertical. Если ее раскомментировать и установить в On, то при вставке многострочного блоке не в первой позиции строки он будет рассматриваться как вертикальный. Эту опцию можно включить/отключить во время работы в меню View. Расширена база слов для автодополнения для Harbour и С: теперь туда включаются и все вызовы функций, найденные в редактируемом файле. Расширена база слов для автодополнения для Golang: теперь туда включаются методы и типы из импортируемых пакетов. Кроме того, для Golang - файлов теперь доступна помощь по пакетам и их функциям (Alt-I, как и для Harbour).
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3380
Зарегистрирован: 17.02.12
|
|
Отправлено: 25.09.20 13:35. Заголовок: alkresin У меня ост..
alkresin У меня остался вопрос, как из OnKey вызвать работу скрипта конкретного plugins и списка по Alt+L ? У меня есть свои события для работы в ф-ии обработчике STATIC FUNCTION EdOnKey( o, n ) LOCAL m := n, b, i, j, k LOCAL s := hb_BitAnd( n, SHIFT_PRESSED ) != 0 LOCAL a := hb_BitAnd( n, ALT_PRESSED ) != 0 LOCAL c := hb_BitAnd( n, CTRL_PRESSED ) != 0 LOCAL p := hb_keyStd( n ) LOCAL r := -1 // ToLog(.T., n, s, a, c, p) IF p == K_F1 // help RETURN r ELSEIF p == K_F8 // colored syntaxis enabled\disabled bkDir( o, n, '*.prg' ) RETURN r ELSEIF p == K_F10 // exit RETURN r ELSEIF p == K_ALT_X // close all n := 30110 ENDIF // мои события b := hb_HGetDef( h_Key, n, Nil ) If b != Nil If HB_ISBLOCK( b ) .and. ( k := EVal( b, o, n ) ) != Nil n := k Else n := b EndIf EndIf RETURN n // Список событий STATIC FUNCTION h_KeyInit() h_Key := { ; 1004 => {| | Nil }, ; // K_RBUTTONDOWN 30001 => {| | hb_keyPut( {K_RIGHT, K_LEFT} ) }, ; // 30101 => {| | edi_KeyCToN( "Shift-F4" ) }, ; // New file 30102 => {| | edi_KeyCToN( "Ctrl-F4" ) }, ; // Open file 30103 => {| | edi_KeyCToN( "F2" ) }, ; // Save 30104 => {| | edi_KeyCToN( "Shift-F4" ) }, ; // Save as 30105 => {| | edi_KeyCToN( "Shift-F8" ) }, ; // Code page 30109 => {| | edi_KeyCToN( "F9" ) }, ; // F9-Menu 30110 => {|o,n| Window_OnKey(o, n) }, ; // Close all window Alt+X 30201 => {| | edi_KeyCToN( "F7" ) }, ; // Find... 30202 => {| | edi_KeyCToN( "Shift-F7" ) }, ; // Find Next 30203 => {| | edi_KeyCToN( "Alt-F7" ) }, ; // Find Prev 30204 => {| | edi_KeyCToN( "Ctrl-F7" ) }, ; // Replace... 30205 => {| | edi_KeyCToN( "Alt-F8" ) }, ; // Goto... 30206 => {| | edi_KeyCToN( "Alt-B" ) }, ; // Goto the previous position 30207 => {| | edi_KeyCToN( "Alt-L" ) }, ; // Function list 30301 => {| | edi_KeyCToN( "F12" ) }, ; // List of open files 30302 => {|o,n| Window_OnKey(o, n) }, ; // Split window horizontally 30303 => {|o,n| Window_OnKey(o, n) }, ; // Split window vertically 30304 => {|o,n| Window_OnKey(o, n) }, ; // Switch window 30305 => {|o,n| Window_OnKey(o, n) }, ; // Open window fully 30306 => {|o,n| Window_OnKey(o, n) }, ; // Close window 30999 => {| | (-1) } ; // dummy } // 30110 => {|o,n| Window_CloseAll(o, n) }, ; // Close all window Alt+X RETURN Nil ... Выделенное цветом не работает, т.к. у вас работа плагина инициируется до ::OnKey()
|
|
|
alkresin
|
| moderator
|
Пост N: 1426
Зарегистрирован: 06.07.06
|
|
Отправлено: 25.09.20 14:57. Заголовок: А edi_RunPlugin( oEd..
А edi_RunPlugin( oEdit, xPlugin ) не пробовали? Здесь xPlugin - номер плагина в списке или его имя.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3383
Зарегистрирован: 17.02.12
|
|
Отправлено: 25.09.20 15:16. Заголовок: alkresin пишет А edi..
alkresin пишет цитата: | А edi_RunPlugin( oEdit, xPlugin ) не пробовали? |
| Спасибо, попробую
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3471
Зарегистрирован: 17.02.12
|
|
Отправлено: 10.10.20 12:10. Заголовок: alkresin пишет А edi..
alkresin пишет цитата: | А edi_RunPlugin( oEdit, xPlugin ) не пробовали? Здесь xPlugin - номер плагина в списке или его имя. |
| Работает, но надо обвешивать кодом от расширения загруженных файлов Сделал так CLASS TEdit ... DATA nKeyExt INIT 0 ... METHOD Edit() CLASS TEdit ... DO WHILE ::lShow SetCursor( Iif( ::lIns, SC_NORMAL, SC_SPECIAL1 ) ) IF Empty( ::nKeyExt ) nKeyExt := Inkey( 0, HB_INKEY_ALL + HB_INKEY_EXT ) ELSE nKeyExt := ::nKeyExt ::nKeyExt := 0 ENDIF IF !Empty( hKeyMap ) .AND. !Empty( i := hb_hGetDef( hKeyMap, nKeyExt, 0 ) ) ... Тогда в своем боке кода делаю так, для работы ваших обработчиков STATIC FUNCTION h_KeyInit() h_Key := { ; 1004 => {| | Nil }, ; // K_RBUTTONDOWN 30001 => {| | hb_keyPut( {K_RIGHT, K_LEFT} ) }, ; // ... 30207 => {|o | o:nKeyExt := edi_KeyCToN( "Alt-L"), -1 }, ; // Function list ... 30999 => {| | (-1) } ; // dummy } ...
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3472
Зарегистрирован: 17.02.12
|
|
Отправлено: 10.10.20 18:40. Заголовок: alkresin Попытался ..
alkresin Попытался собрать последнюю версию, получил .\cfuncs.c(321) : warning C4996: 'freopen': This function or variable may be unsafe. Consider using freopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. C:\BK32\MSVC\include\stdio.h(252): см. объявление 'freopen' c:\bk32\test\hbedit-master\source\trie.h(15) : error C2011: trieITEM: переопределение типа "struct" c:\bk32\test\hbedit-master\source\trie.h(15): см. объявление 'trieITEM' c:\bk32\test\hbedit-master\source\trie.h(25) : error C2011: trieBASE: переопределение типа "struct" c:\bk32\test\hbedit-master\source\trie.h(25): см. объявление 'trieBASE' Как с этим бороться ? А можно ли вкл. trie технику в сборку по переменной. Я в VO не пользовался, считал лишним, мешающим работе и мнение не поменялось (это нужно в незнакомом языке)
|
|
|
alkresin
|
| moderator
|
Пост N: 1433
Зарегистрирован: 06.07.06
|
|
Отправлено: 12.10.20 11:08. Заголовок: Пока даже не знаю, ч..
Пока даже не знаю, что и сказать. Это обычная конструкция, она и в Harbour во многих местах. У меня без проблем компилится и с bcc и с gcc под Линукс. цитата: | А можно ли вкл. trie технику в сборку по переменной. |
| Ну это, наверное, неправильный подход к решению проблемы. Надо выяснить, в чем причина. Может, хоть это и диковато звучит, MSVS хочет, чтобы в typedef struct XXXX это XXXX было обязательно в верхнем регистре или начиналось с знака подчеркивания. цитата: | Я в VO не пользовался, считал лишним, мешающим работе и мнение не поменялось (это нужно в незнакомом языке) |
| По мне, автодополнение - чтоб по клавишам меньше бить. Меня, например, достало FUNCTION и RETURN целиком набивать)
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3473
Зарегистрирован: 17.02.12
|
|
Отправлено: 13.10.20 13:48. Заголовок: alkresin пишет Может..
alkresin пишет цитата: | Может, хоть это и диковато звучит, MSVS хочет, чтобы в typedef struct XXXX это XXXX было обязательно в верхнем регистре или начиналось с знака подчеркивания. |
| Не помогло. Сообщение c:\bk32\test\hbedit-master\source\trie.h(15) : error C2011: TRIEITEM: переопределение типа "struct" c:\bk32\test\hbedit-master\source\trie.h(15): см. объявление 'TRIEITEM' c:\bk32\test\hbedit-master\source\trie.h(25) : error C2011: TRIEBASE: переопределение типа "struct" c:\bk32\test\hbedit-master\source\trie.h(25): см. объявление 'TRIEBASE' MSVC208. Подключаю к сборке через prg файл trie.prg #pragma BEGINDUMP #include "trie.c" #pragma ENDDUMP hbtrie.prg #pragma BEGINDUMP #include "hbtrie.c" #pragma ENDDUMP trie.h ... typedef struct TRIEITEM { char letter; struct TRIEITEM * right; struct TRIEITEM * next; char suffix[SUFFIX_LEN]; } TRIEITEM; typedef TRIEITEM TRIEPAGE[TRIE_PAGE_SIZE]; typedef struct TRIEBASE { //struct trieITEM ** [TRIE_PAGE_SIZE] pages; TRIEPAGE ** pages; int iPages; int iLastPage; int iLastItem; unsigned int iWords; int bUtf8; int bCase; } TRIE; ... цитата: | Меня, например, достало FUNCTION и RETURN целиком набивать |
| Посмотрел работу на вышей версии. При выборе по trie (клавиша TAB) менять надо все слово с первой позиции, иначе получаются funCTION retURN, для ф-ий также вместо MyGotFocus( получаем mygotFocus( и т.д. В список показа так же получается с искажением, т.е. Если берем по 2м буквам my... получаем myBrw1( myBrw2( ... Если берем по 3м буквам myb... получаем mybrw1( mybrw2( ... Функции набраны реально MyBrw1( MyBrw2( ... цитата: | По мне, автодополнение - чтоб по клавишам меньше бить |
| Это дело привычки. Еси работать событиями, то исп. имени ф-ии где то 2а раза 1. тело самой ф-ии 2. ф-я в событии, т.е. написав тело, переносим имя в событие (Ctrl+C, Ctlr+V) и далее исп. только событие Alt+L и потом Alt+B так же помогают в вопросе имен, Far на ваш файл hb_funcs.txt (или сайт) так же решают прав. написание имен Альтернатива есть для trie
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3474
Зарегистрирован: 17.02.12
|
|
Отправлено: 13.10.20 14:28. Заголовок: PS Если работать в к..
PS Если работать в классе, к примеру TEdit, то ::writ + TAB не работает, а writ + TAB дает writeTopPane( надо :: отдельно добавлять, что не есть удобно.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3475
Зарегистрирован: 17.02.12
|
|
Отправлено: 13.10.20 15:43. Заголовок: SergKis пишет А можн..
SergKis пишет цитата: | А можно ли вкл. trie технику в сборку по переменной |
| Наверно, включать в hbedit trie надо через plugins, как и предусмотрено схемой работы, т.е. редактор сам по себе, а дополнения через plugins. Не подключил плагин и нет trie, подключил, есть. Разборка со struct в C будет, если понадобится trie.
|
|
|
alkresin
|
| moderator
|
Пост N: 1434
Зарегистрирован: 06.07.06
|
|
Отправлено: 14.10.20 09:07. Заголовок: SergKis пишет: trie..
SergKis пишет: цитата: | trie.prg #pragma BEGINDUMP #include "trie.c" #pragma ENDDUMP hbtrie.prg #pragma BEGINDUMP #include "hbtrie.c" #pragma ENDDUMP |
| Вот тут, наверное, и причина. У вас дважды грузится trie.h, и на второй раз компилятор ругается, что trieITEM уже определен. Или собирайте нормальным способом, или добавьте в trie.h в самом начале #ifndef _TRIE_API #define _TIE_API и в конце: #endif чтобы предотвратить повторную компиляцию того, что между этими строками. P.S. Я тут приболел, похоже на корону.
|
|
|
alkresin
|
| moderator
|
Пост N: 1435
Зарегистрирован: 06.07.06
|
|
Отправлено: 14.10.20 09:10. Заголовок: SergKis пишет: Наве..
SergKis пишет: цитата: | Наверно, включать в hbedit trie надо через plugins |
| C-вставки не компилятся в hrb, там только p-cod.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3478
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.10.20 10:34. Заголовок: alkresin пишет чтобы..
alkresin пишет цитата: | чтобы предотвратить повторную компиляцию того, что между этими строками. |
| Сделал в hbtrie.c //#include "trie.h" и trie.prg #pragma BEGINDUMP #include "trie.c" #include "hbtrie.c" #pragma ENDDUMP Собрался hbedit.exe. Спасибо и выздоравливайте
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3479
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.10.20 10:57. Заголовок: alkresin пишет C-вст..
alkresin пишет цитата: | C-вставки не компилятся в hrb, там только p-cod. |
| Поступать как с языками, trie -> lib и request при использовании trie. Тогда можно иметь сборку "чистый" редактор
|
|
|
alkresin
|
| moderator
|
Пост N: 1438
Зарегистрирован: 06.07.06
|
|
Отправлено: 16.11.20 10:42. Заголовок: Выложен новый релиз ..
Выложен новый релиз hbedit: v2.0-49, http://www.kresin.ru/hbedit.html. Кое-какие исправления, в т.ч. порядок смены окон по Ctrl-Tab, Shift-Tab при наличии дочерних окон, работа Alt-B (переход на предыдущую позицию). Добавлена поддержка lisp-синтаксиса и простенький lisp-интерпретатор. В hbedit.ini в языковые секции добавлена опция 'quotes', определяющая допустимые виды кавычек в языке, если они отличаются от стандартных. Для prg-файлов добавлена возможность перехода между ключевыми словами конструкций ( IF...ENDIF, FOR...NEXT, DO WHILE...ENDDO, SWITCH...ENDCASE ) по Ctrl-b (реализовано в плагине plug_prg_init).
|
|
|
alkresin
|
| moderator
|
Пост N: 1457
Зарегистрирован: 06.07.06
|
|
Отправлено: 13.10.21 15:50. Заголовок: Выложил новый релиз ..
Выложил новый релиз hbedit: v2.1-1 Частично переписан модуль подсветки синтаксиса - кое-что переведено на С. Благодаря этому на больших файлах заметно существенное ускорение прорисовки (у меня есть большие fb2 - там была начальная задержка в несколько секунд, теперь ее практически нет). Мелкие исправления, уже не помню какие. Добавлена пара новых плагинов - игры life и шахматы. Выложена Linux-версия, собранная с GTHWG. Windows версию с GTHWG не выкладывал, т.к. она не имеет особых преимуществ.
|
|
|
alkresin
|
| moderator
|
Пост N: 1458
Зарегистрирован: 06.07.06
|
|
Отправлено: 03.11.21 13:59. Заголовок: Выложил новый релиз ..
Выложил новый релиз hbedit: v2.1-11 Важные исправления в модуле подсветки синтаксиса. Исправления в плагине для golang (plug_go_run). Добавлена поддержка Java, в т.ч. плагин со списком функций, компиляцией и запуском на исполнение.
|
|
|
alkresin
|
| moderator
|
Пост N: 1462
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.11.21 15:02. Заголовок: Выложил новый релиз ..
Выложил новый релиз hbedit: v2.1-18 Модифицированы диалоги выбора и сохранения файла. Добавлены init-плагины для .bat и .sh файлов с запуском на выполнение, добавлена подсветка .sh файлов. Добавлена поддержка для многострочных комментариев как в Питоне (""" ... """) - раньше это отображалось как кавычки.
|
|
|
alkresin
|
| moderator
|
Пост N: 1464
Зарегистрирован: 06.07.06
|
|
Отправлено: 27.12.21 11:21. Заголовок: Выложил новый релиз ..
Выложил новый релиз hbedit: v2.1-36 Исправлены некоторые ошибки. Добавлен плагин для создания и сопровождения андроид-проектов, в первую очередь - с HDroidGUI
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4021
Зарегистрирован: 17.02.12
|
|
Отправлено: 29.12.21 13:27. Заголовок: alkresin В методе ..
alkresin В методе METHOD ToString( cEol, cp ) CLASS TEdit ... IF cp != Nil .AND. !( cp == ::cp ) s += hb_strToUtf8( Iif( ::lTabs, Strtran(::aText[ i ],cTabStr,cTab), ::aText[ i ] ), ::cp ) + cEol ELSE s += Iif( ::lTabs, Strtran(::aText[ i ],cTabStr,cTab), ::aText[ i ] ) + cEol ENDIF ... заложено искажение данных при tabtospaces=On, т.к. не зависимо были на входе chr(9) или нет, при сохранении произойдет замена пробелов на chr(9). Работа без chr(9) в текстах, но если он был, то заменился на входе, а надо и сохранять так же, как работали внутри. Заменяю в местах, отмеченных цветом, на LOCAL lTabs := .F. вместо ::lTabs, но ... Может режим в ini ?
|
|
|
alkresin
|
| moderator
|
Пост N: 1465
Зарегистрирован: 06.07.06
|
|
Отправлено: 29.12.21 16:00. Заголовок: SergKis пишет: зало..
SergKis пишет: цитата: | заложено искажение данных при tabtospaces=On, т.к. не зависимо были на входе chr(9) или нет, при сохранении произойдет замена пробелов на chr(9). |
| ::lTabs устанавливается только если включен tabtospaces=On и символы табуляции уже имеются в тексте: METHOD SetText( cText, cFileName ) CLASS TEdit ... LOCAL lT2Sp := hb_hGetDef( TEdit():options,"tabtospaces", .F. ) ... IF lT2Sp .AND. cTab $ ::aText ::aText := Strtran( ::aText, cTab, cTabStr ) ::lTabs := .T. Так что искажения данных не должно быть.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4022
Зарегистрирован: 17.02.12
|
|
Отправлено: 29.12.21 16:30. Заголовок: alkresin пишет ::lTa..
alkresin пишет цитата: | ::lTabs устанавливается только если включен tabtospaces=On и символы табуляции уже имеются в тексте: |
| Ситуация такая, что на выходе НЕ ДОЛЖНО быть TAB, даже если они были на входе, т.е. беру тексты с TAB, правлю их и надо сохранять без TAB с установкой trimspaces=on и tabtospaces=On. цитата: | Так что искажения данных не должно быть. |
| Искажения происходят, т.к. на входе был TAB (::lTabs == .T.), а на выходе не надо TAB. Если брать текст др. редактором (TAB замена на пробелы исп. другие числа 4,8,... ) выглядит все кривовато
|
|
|
alkresin
|
| moderator
|
Пост N: 1467
Зарегистрирован: 06.07.06
|
|
Отправлено: 10.01.22 12:25. Заголовок: Да, пожалуй, вы прав..
Да, пожалуй, вы правы. Переделаю этот момент.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4165
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.10.22 23:51. Заголовок: alkresin пишет 13/10..
alkresin пишет цитата: | 13/10/2022 - Вышел новый релиз HbEdit. |
| Что нового, какие изменения ? Нет файла change.log и трудно понимание новой версии
|
|
|
alkresin
|
| moderator
|
Пост N: 1480
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.10.22 11:25. Заголовок: В основном - мелкие ..
В основном - мелкие правки, накопившиеся за истекшее время. Я их и не помню. Последняя - исправлена проблема с кодировкой при операциях с Clipboard в hbedit, собранном под Линукс и gthwg. Ну и добавлены новые плагины, игры Уголки и Судоку.
|
|
|
alkresin
|
| moderator
|
Пост N: 1481
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.10.22 13:22. Заголовок: Выложил очередную ве..
Выложил очередную версию. Небольшие исправления. В режиме редактирования добавлены команды Alt-3, Alt-8 - аналоги Vim-команд # и * - поиск, соответственно, предыдущего и следующего вхождения слова, на котором стоит курсор. Очень удобная, кстати, вещь, я часто пользуюсь.
|
|
|
alkresin
|
| moderator
|
Пост N: 1483
Зарегистрирован: 06.07.06
|
|
Отправлено: 10.04.23 11:36. Заголовок: Вышел очередной рели..
Вышел очередной релиз - 2.2-8 Основное новшество - добавлен интегрированный модуль hbCommander - менеджер файлов. Его окно открывается или из меню, или, в том случае, если в редакторе открыто только одно - при старте, например, по Ctrl-Tab. Настройки - в hbc.ini F1 - help, F9 - меню Этот HbCommander я сделал для себя лет 7 назад для того, чтобы работать с файлами на сервере через netio. Расшаривать папки на серверах я не хотел - чтобы вирусы, в случае чего, не распространялись через них, ну и вообще, для большей безопасности.
|
|
|
alkresin
|
| moderator
|
Пост N: 1484
Зарегистрирован: 06.07.06
|
|
Отправлено: 13.04.23 14:53. Заголовок: Обновил бинарники дл..
Обновил бинарники для Windows, v2.2-13 Переписал подсистему реализации консоли под Windows- теперь она работает гораздо лучше, почти как надо. Кстати, окно консоли доступно в HbCommander, как и в других коммандерах, по Ctrl-O. Все, что было выведено в консоль, можно потом посмотреть в специальном окне редактора, доступном из меню Stdout window.
|
|
|
alkresin
|
| moderator
|
Пост N: 1485
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.04.23 13:48. Заголовок: Выпустил новую верси..
Выпустил новую версию, v2.2-26 Основные изменения - в файловом менеджере. Добавлена поддержка zip-архивов, расширена функциональность некоторых операций. В общем, приближается по возможностям к таким столпам индустрии, как Far)
|
|
|
alkresin
|
| moderator
|
Пост N: 1486
Зарегистрирован: 06.07.06
|
|
Отправлено: 24.04.23 11:03. Заголовок: Еще обновление: v2.2..
Еще обновление: v2.2-33 Изменения в файловом менеджере: исправления, изменения в меню, переписана подсистема реализации консоли под Linux.
|
|
|
alkresin
|
| moderator
|
Пост N: 1487
Зарегистрирован: 06.07.06
|
|
Отправлено: 24.04.23 15:50. Заголовок: В консоли теперь мож..
В консоли теперь можно запускать интерактивные приложения, например, питон ( python -i ), или даже gpt4all-lora-quantized-win64.exe. Удобно то, что, выбрав пункт меню Stdout window, который появляется после использования консоли, мы получаем консольный вывод в окне редактора, откуда его можно сохранить или скопипастить. С некоторыми консольными приложениями это, увы, не удается - например, с написанными на Harbour, если только вывод там не сделан через outStd(), потому что ввод/вывод реализован не через стандартные stdin/stdout.
|
|
|
alkresin
|
| moderator
|
Пост N: 1488
Зарегистрирован: 06.07.06
|
|
Отправлено: 28.04.23 09:44. Заголовок: Новое обновление, v2..
Новое обновление, v2.2-47 Небольшие исправления и улучшения. В том числе, из того, что помню сейчас: консоль по Ctrl-O можно открывать прямо из редактора, из консоли можно использовать Ctrl-Tab, Shift-Tab для переключения в окна редактора, Ctrl-Q - для показа Stdout window.
|
|
|
alkresin
|
| moderator
|
Пост N: 1489
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.05.23 12:41. Заголовок: Новое обновление, v2..
Новое обновление, v2.2-63 Всякие исправления и улучшения в менеджере файлов
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 849
Зарегистрирован: 13.10.05
|
|
Отправлено: 06.05.23 18:28. Заголовок: https://postimg.cc/P..
|
|
|
alkresin
|
| moderator
|
Пост N: 1490
Зарегистрирован: 06.07.06
|
|
Отправлено: 07.05.23 13:52. Заголовок: Это вы, наверное, на..
Это вы, наверное, на [D] нажали - при пустой истории, действительно, вылетает ошибка. Спасибо, исправил. А вообще при нажатии в этом диалоге на [D] (можно Ctrl-D) выводится список каталогов, в которых были редактированные файлы (берется из истории, hbedit.his) - для ускорения поиска того, что нужно.
|
|
|
alkresin
|
| moderator
|
Пост N: 1492
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.05.23 09:57. Заголовок: Вышла версия v2.3. П..
Вышла версия v2.3. Помимо исправлений и улучшений в файловом менеджере добавлена поддержка libssh2 - а, значит, возможность связываться с серверами по sftp. Собирать hbedit можно как с поддержкой libssh2 ( bld_gcc_ssh.bat, bld_edit_hwg_ssh.sh ), так и без нее. Бинарники под Windows у меня на сайте - http://www.kresin.ru/hbedit.html - с поддержкой. Для тестирования можно использовать test.rebex.net - соответствующая строчка включена в hbc.ini и доступна по Alt-D. В числе прочих улучшений - история команд, help и меню в консоли, автодополнение в консоли, ... Описания разных возможностей редактора и файлового менеджера планирую выкладывать время от времени в заметках на сайте.
|
|
|
alkresin
|
| moderator
|
Пост N: 1498
Зарегистрирован: 06.07.06
|
|
Отправлено: 25.05.23 09:38. Заголовок: Выложена новая верси..
Выложена новая версия, v2.3-22. Всякие исправления и улучшения в HbCommander. Сделан доступ к ftp-серверам, это оформлено в виде плагина plug_hbc_ftp.prg. Я его сделал на основе прямых вызовов hb_inet... функций. Можно было бы и через curl по той же общей схеме реализации плагина, но в этом случае пришлось бы заново коннектиться к серверу каждый раз при смене каталога или загрузки/выгрузки файла. Ничего страшного, конечно, но...
|
|
|
alkresin
|
| moderator
|
Пост N: 1499
Зарегистрирован: 06.07.06
|
|
Отправлено: 26.05.23 11:00. Заголовок: Краткое описание тек..
Краткое описание текущего состояния HbCommander на текущий момент, скопировано из заметок. Итак, HbCommander - двухпанельный файловый менеджер а ля Far, встроенный в текстовый редактор HbEdit. Хотя, что во что встроено - это довольно спорный вопрос). В HbCommander'е реализован набор стандартных функций для такого класса программ: копирование файлов и каталогов, перемещение, переименование, удаление, просмотр и редактирование файлов, поиск файлов по названию и по содержанию. С помощью меню и горячих клавиш реализована удобная навигация между каталогами - это и список предопределенных каталогов, установленный в hbc.ini, и список каталогов, где были последние редактируемые файлы, а также возможность установки закладок на каталоги. Полный список горячих клавиш доступен по F1. Реализована также поддержка zip-архивов. В HbCommander, помимо навигации по локальным каталогам и файлам, обеспечен доступ к удаленным ресурсам по sftp и ftp протоколам, а также по netio (Harbour-программисты знают, что это такое). Есть также немного ограниченная поддержка консоли, подробнее см. в HbCommander: Консоль. HbCommander поддерживает плагины, написанные на Harbour. Это позволяет автоматизировать ряд действий над файлами. Так, например, уже готовый плагин plug_hbc_latin осуществляет преобразование имен файлов из кириллицы в латиницу - текущего файла, отмеченных файлов или всех файлов в каталоге. Доступ по ftp тоже реализован в виде плагина plug_hbc_ftp. По такой же схеме можно реализовать, например, плагины для разных типов архивов. Еще один готовый плагин, plug_hbc_menu, расширяет контекстное меню, добавляя туда команды для git, fossil, компиляции. Вы можете дописать этот плагин пол свои нужды. Удобство Harbour как языка для плагинов в том, что они не требуют наличия компилятора. Harbour-код компилируется прямо из редактора (HbEdit) с помощью встроенного компилятора. Ну и еще следует отметить, что HbCommander, как и HbEdit, кросс-платформенное приложение, выглядит и работает одинаково под Windows и Linux. Для тех, кто, как и я, регулярно работает на обех платформах, это может быть особенно удобно. Настройки программы осуществляются прямым редактированием файла hbc.ini. Выбор палитры, цветов, действий над файлами по Ctrl-F3, Ctrl-F4, список предопределенных каталогов и удаленных компьютеров для быстрого доступа, список программ для быстрого запуска, список плагинов - все там. В заключение - набор "killer features" - особенностей, которые отсутствуют в других аналогичных программах и могут подтолкнуть вас к использованию HbCommander: - доступ к удаленным компьютерам по netio; - удаленное выполнение команд на sftp серверах; - возможность написания и простой компиляции плагинов на Harbour; - закладки на каталоги; - окно Stdout, где собирается консольный вывод, который можно просмотреть целиком, сохранить и/или скопировать из него нужные фрагменты; - кроссплатформенность.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4276
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.05.23 14:48. Заголовок: alkresin Попытка за..
alkresin Попытка запустить версию для windows выдает "... libgcc_s_dw2-1.dll was not found"
|
|
|
alkresin
|
| moderator
|
Пост N: 1500
Зарегистрирован: 06.07.06
|
|
Отправлено: 26.05.23 17:16. Заголовок: Хм... Я и не знал, ч..
Хм... Я и не знал, что она требуется. Оказывается, есть такая в каталоге bin от Mingw. Надо будет включить ее в дистрибутив
|
|
|
Dima
|
| |
Пост N: 7761
Зарегистрирован: 17.05.05
|
|
Отправлено: 26.05.23 18:02. Заголовок: Если запускать как е..
Если запускать как есть , у меня выпало вот так
|
|
|
alkresin
|
| moderator
|
Пост N: 1501
Зарегистрирован: 06.07.06
|
|
Отправлено: 26.05.23 19:15. Заголовок: Мда... Эта libssh2 м..
Мда... Эта libssh2 много за собой потянула.
|
|
|
alkresin
|
| moderator
|
Пост N: 1502
Зарегистрирован: 06.07.06
|
|
Отправлено: 26.05.23 19:35. Заголовок: Но, если что, hbedit..
Но, если что, hbedit можно по-прежнему собрать и без поддержки ssh2. Собственно, все старые bat'ники, sh, hbp собирают без ssh2, только bld_gcc_ssh.bat и bld_edit_hwg_ssh.sh - с ssh2
|
|
|
Dima
|
| |
Пост N: 7762
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.05.23 16:39. Заголовок: Александр , почему б..
|
|
|
alkresin
|
| moderator
|
Пост N: 1503
Зарегистрирован: 06.07.06
|
|
Отправлено: 27.05.23 16:53. Заголовок: Да я так и сделаю. В..
Да я так и сделаю. В понедельник.
|
|
|
Dima
|
| |
Пост N: 7763
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.05.23 17:24. Заголовок: :sm36:..
|
|
|
alkresin
|
| moderator
|
Пост N: 1504
Зарегистрирован: 06.07.06
|
|
Отправлено: 29.05.23 09:46. Заголовок: Выложил очередную ве..
Выложил очередную версию, v2.23-31 В Windows-дистрибутиве все нужные dll. Кое-какие исправления, в HbCommander добавлены 2 плагина - сравнение файлов и сравнение каталогов
|
|
|
alkresin
|
| moderator
|
Пост N: 1505
Зарегистрирован: 06.07.06
|
|
Отправлено: 30.05.23 11:31. Заголовок: Выложил v2.23-34 Нек..
Выложил v2.23-34 Некоторые важные исправления, доработан плагин сравнения каталогов.
|
|
|
alkresin
|
| moderator
|
Пост N: 1506
Зарегистрирован: 06.07.06
|
|
Отправлено: 31.05.23 12:08. Заголовок: v2.23-37 Всякие "..
v2.23-37 Всякие "улучшизмы" в sftp и ftp.
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|