user108

Ansys для проектировщика КЖ-КМ

519 posts in this topic

Отлично, остается понять как брать активную страницу :)

Share this post


Link to post
Share on other sites


16 минут назад, Fedor сказал:

Отлично, остается понять как брать активную страницу :)

по-умолчанию, document и есть ссылка на активную страницу, иначе rtfm.

Share this post


Link to post
Share on other sites

ID: 283   Posted (edited)

Да что-то не выводило в нее. Причем если делал ошибку специально, то выпрыгивало окно и говорило об ошибке. А без ошибки похоже отрабатывало и куда-то выводило. В этом то и загвоздка...  Меня интересует активная страница в N++

 

В UE  это делалось так например   UltraEdit.activeDocument.write(' k ,, '+ strx +' , '+ stry + ' , m_z , $ \n ' );

 

и выводилось в положение курсора в активном окне. Хочется иметь аналог... :)

Edited by Fedor

Share this post


Link to post
Share on other sites

ID: 284   Posted (edited)

@Fedor

А плагин какой юзаете? для nppjavascript ваще всё не так.

https://www.fesevur.com/nppjavascript/

beginUndoAction();
insertText("We started here.");
var i;
for (i = 0; i < 3; i++)
    lineUp();
insertText("We went up three lines.");
endUndoAction();
alert("done");

доки

https://www.fesevur.com/nppjavascript/docs/

Edited by frei

Share this post


Link to post
Share on other sites

Увидел, для jN верхний объект Editor

попробуйте юзать Editor.currentView.Write();

Share this post


Link to post
Share on other sites

Спасибо. В понедельник попробую. Пока в бане напарился, в снегу повалялся. Пива попил. Сейчас водку со щами вкушаю :)

Share this post


Link to post
Share on other sites

ID: 287   Posted (edited)

embarcadero.com/ru/products/cbuilder - на любителя, для небольших команд все таки лучше кьют, тк у embarcadero достаточно жесткая политика борьбы с пиратами, хотя и у qt не все бесплатно. Но в нем достаточно быстро можно сделать интерфейс к своим программкам на плюсах. Есть бесплатная версия, для студентов вообще рай, удобно прикручивать интерфейс к своим курсовым и лабам. 

Edited by Chardash

Share this post


Link to post
Share on other sites
Цитата

Увидел, для jN

А где-нибудь методы для него есть ?  Описание

Share this post


Link to post
Share on other sites
22 минуты назад, Fedor сказал:

А где-нибудь методы для него есть ?  Описание

Проект на GitHub

https://github.com/KOLANICH/jN-npp-scripts

в нем файл API/api.xml выкачать весь проект смотреть через ie, edge.

Share this post


Link to post
Share on other sites

Спасибо. К сожалению ответа на вопрос который меня интересует не нашел.  :)

Share this post


Link to post
Share on other sites

ID: 291   Posted (edited)

2 часа назад, Fedor сказал:

ответа на вопрос который меня интересует не нашел

скорее всего нет такой возможности, управлять вкладками нотепада js ом. Для этого в js есть, например роуты. Но даже в этом случае мне пока непонятно, как с помощью js управлять вкладками нотепада, они (роуты) для вкладок браузера. На видео по ссылке @frei https://www.youtube.com/watch?feature=player_embedded&v=3r3Bq_ceEQA тоже работают через меню и F5 c вариациями)

 

Нашел плагин для np++ File Switcher, до этого я с np++ сильно не работал, плагин тоже древний. Поставил, субъективно есть и более удобные и современные инструменты, где установка дополнений проходит быстро и на автомате. Здесь же для начала пришлось установить менеджера плагинов, в x64 он не устанавливается с np дефолтом.

 

Кроме того для установки плагинов, нужно каждый выбрать по отдельности из этого длинного списка, если я все верно понял. Но по названиям, для js в других средах тоже самое, из основных JSHint. Под каждым описание, возможно нужно просто читать... В общем и я, 

 

Ответа тоже 

Цитата

не нашел.  (

5c8440b100fe0_Image1.thumb.jpg.28a89c06c410aa129bf7714255c1e584.jpg

Edited by Chardash

Share this post


Link to post
Share on other sites

ID: 292   Posted (edited)

7 часов назад, Fedor сказал:

Спасибо. К сожалению ответа на вопрос который меня интересует не нашел.  :)

От точности поставленной задачи...

Поюзайте плагин nppjavascript он попроще.

JN управляет вкладками через file и files. Можно перечислитель сделать.

 Свойство text представляет весь текст документа, line- строку, lines - массив строк, а дальше работа со строками функциями самого JavaScript. В апи  все есть.

 

с хабра  
В глобальной области видимости из JavaScript доступен обьект Editor. Доступ к его свойствам и методам возможен так же и без указания его имени.
/* Properties of Editor */
/* read only */
firstView; // a View object
currentView;// a View object
secondView;// a View object
clipBoard;
langs; // Array of language names
pluginConfigDir;
nppDir;

/* read write, bool */
tabBarHidden;
toolBarHidden;
menuHidden;
statusBarHidden;

/* Methods */
alert(/**String*/value);
saveAll();
open(/**String*/value);
addMenu(/**String*/ text); // returns a Menu object
decodeFrom(/** Number*/ codepage, /**String*/ value);
encodeTo(/** Number*/ codepage, /**String*/ value);
runMenuCmd(/** Number*/ cmd); // Runs a standart Menu command (see MenuCmds.js)
setListener(/** Object */ cfg); // see GlobalListener in start.js
addSystemHotKey(/** Object */ cfg); // adds system hotkey (see example in run.js)

Для работы с текстовыми редакторами Editor предоставляет свойства [first|current|second]View.
/* Properties of View */
/* read write*/
text;
file; // number of current file
selection; // currently selected text
codepage; // Number of current codepage
lang; // Number of current language (see Editor.langs)
line; // Number of current line of text
pos; // Cursor position
column; // Cursor position from line begin
anchor; // Helps to set a selection. Selection is text in interval [anchor, pos]

/* read only */
files; // Array of strings

 

Hide  
https://habr.com/ru/post/86626/
Edited by frei

Share this post


Link to post
Share on other sites
Цитата

От точности поставленной задачи

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

Share this post


Link to post
Share on other sites
8 минут назад, Fedor сказал:

 как выводить в активное окно редактора

currentView.text+="added text";

Share this post


Link to post
Share on other sites

ID: 295   Posted (edited)

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

 

https://github.com/KOLANICH/jN-npp-scripts/blob/master/start.js  вот тут вроде можно что-то подстроить... Но надо разбираться. Так что надежда жива  :)

Edited by Fedor

Share this post


Link to post
Share on other sites
В ‎09‎.‎03‎.‎2019 в 09:09, frei сказал:

js пишет в документ методами document.write(), document.writeln(), нужно получить ссылку на активную страницу. Для браузеров еще есть element.innerHTML(), но вряд ли разрабы включили это в текстовый редактор.

Об ошибках пишет Microsoft JScript   программеры просто его используют видимо, так что скорее всего все есть что предусмотрено .

 

function main() {
  //  return 'Hello, World!';
    //  return 'Hello, World!';
   alert("hello world js");    // это работает нормально
 
}

main();

 

Это работает штатно. Поеду дальше :)

Share this post


Link to post
Share on other sites
В ‎09‎.‎03‎.‎2019 в 09:09, frei сказал:

js пишет в документ методами document.write(), document.writeln(), нужно получить ссылку на активную страницу. Для браузеров еще есть element.innerHTML(), но вряд ли разрабы включили это в текстовый редактор.

Об ошибках пишет Microsoft JScript   программеры просто его используют видимо, так что скорее всего все есть что предусмотрено .

 

function main() {
  //  return 'Hello, World!';
    //  return 'Hello, World!';
   alert("hello world js");    // это работает нормально
 
}

main();

 

Это работает штатно. Поеду дальше :)

 

tests.menu.js   есть интересный файл с кучей примеров.

 

http://docs.notepad-plus-plus.org/  и документация. Шансы на успех растут :)

Share this post


Link to post
Share on other sites
В ‎09‎.‎03‎.‎2019 в 21:21, frei сказал:

Увидел, для jN верхний объект Editor

попробуйте юзать Editor.currentView.Write();

 

alert(Editor.langs[ currentView.lang]);    // это работает нормально 
  Editor.currentView.Write('Hello, World!');   

 

Это не работает, пишет что не поддерживается этот метод...

 

currentView.Write('Hello, World!');    //  это тоже не срабатывает

Share this post


Link to post
Share on other sites

наверное 

editor.currentView.Write('Hello, World!');   

Share this post


Link to post
Share on other sites

    function main() {
      //  return 'Hello, World!';
        //  return 'Hello, World!';
      alert("hello world js");    // это работает нормально
     
   Editor.currentView.file  + 'Hello, World!'  ;    // все отрабатывает, а куда выводит не понятно
  
     alert(Editor.langs[ currentView.lang]);    // это работает нормально 
  
 
    }
   
    main();

 

Это отрабатывает нормально, а куда выводит не понятно...

 

 

  Editor.currentView.Write('Hello, World!');    // не работает
 // currentView.Write('Hello, World!');

 

Это все дает ошибки...

 

Share this post


Link to post
Share on other sites

А если просто

   editor.write("текст")

?

У меня вставляет "текст" на курсор.

Share this post


Link to post
Share on other sites

 Editor.write("текст");   // не работает пишет что объект не поддерживает свойство или метод ...

Share this post


Link to post
Share on other sites

C:\Program Files\Notepad++\plugins\jN\jN\API\api.xml   Тут есть api  разобраться бы еще в нем ...

Share this post


Link to post
Share on other sites

ID: 304   Posted (edited)

1 час назад, Fedor сказал:

 Editor.write("текст");   // не работает пишет что объект не поддерживает свойство или метод ...

Поставьте в editor строчную е. Питон чувствителен к написанию, у меня работает editor.write.

Edited by AlexKaz

Share this post


Link to post
Share on other sites

Ставил...  

 

                    editor.write("текст");   // не работает пишет что объект не поддерживает свойство или метод
 
     Editor.alert(Editor.langs[ currentView.lang]);    // это работает нормально 

 

Просто в других написано с заглавной

 

editor.alert(Editor.langs[ currentView.lang]);    //  выдает ошибку при строчной ...

Share this post


Link to post
Share on other sites

ID: 306   Posted (edited)

2 часа назад, Fedor сказал:

 Editor.write("текст");   // не работает пишет что объект не поддерживает свойство или метод ...

попробуйте так

Editor.currentView.text = 'hello js';

+ запись в файл

 

var fso  = new ActiveXObject("Scripting.FileSystemObject"); 
var fh = fso.CreateTextFile("c:\\temp\\cccp\\txt.txt", 2, true);
fh.WriteLine("hello js"); 
fh.Close(); 

 все методы даны тут habr.com/ru/post/86626/ - write не вижу

Edited by Chardash

Share this post


Link to post
Share on other sites

ID: 307   Posted (edited)

     Editor.currentView.text = 'hello js  пробую ';   

Получилось. :)   но только все убивает и пишет в начало файла.  Теперь надо научиться чтобы в позицию курсора. Спасибо. :)

 

 

                  Editor.currentView.text +='hello js  пробую   \n   ';
              //  Editor.currentView.text += ' \n ';    
                Editor.currentView.text +='hello js  пробую 2  '; 

 

     Так дописывает в конец.   Уфф .

Надо найти теперь методы для text 

   :)

Edited by Fedor

Share this post


Link to post
Share on other sites
19 минут назад, Chardash сказал:

попробуйте так


Editor.currentView.text = 'hello js';

+ запись в файл

 


var fso  = new ActiveXObject("Scripting.FileSystemObject"); 
var fh = fso.CreateTextFile("c:\\temp\\cccp\\txt.txt", 2, true);
fh.WriteLine("hello js"); 
fh.Close(); 

 все методы даны тут habr.com/ru/post/86626/ - write не вижу

Видимо у нас разные интерпретаторы. У Вас JavaScript, я же юзал Python, примеры http://npppythonscript.sourceforge.net/index.shtml

Share this post


Link to post
Share on other sites
2 минуты назад, AlexKaz сказал:

Видимо у нас разные интерпретаторы. У Вас JavaScript, я же юзал Python, примеры http://npppythonscript.sourceforge.net/index.shtml

да js https://github.com/sieukrem/jn-npp-plugin/releases/tag/2.2.185.5 , с питоном в плагине с первого взгляда функций больше + документация есть.

Share this post


Link to post
Share on other sites

ID: 310   Posted (edited)

text  - надо найти его методы. + работает, но должны быть и другие. Например работа с буфером, позиционирование по тексту и т.д. :)

 

 

 currentView.text +='//hello js  пробую   \n   ';
       Editor.currentView.text += ' \n ';    
               currentView.text +='//hello js  пробую 2  \n  ';    

 

работает и так

Edited by Fedor

Share this post


Link to post
Share on other sites
2 часа назад, Fedor сказал:

text 

Вижу, что работа идет полным ходом. К currentView.text и currentView.selection применимы все методы для строк в Javascript 

https://www.w3schools.com/js/js_string_methods.asp

3 часа назад, Fedor сказал:

C:\Program Files\Notepad++\plugins\jN\jN\API\api.xml   Тут есть api  разобраться бы еще в нем ...

я ж писал

В 10.03.2019 в 00:56, frei сказал:

Проект на GitHub

https://github.com/KOLANICH/jN-npp-scripts

в нем файл API/api.xml выкачать весь проект смотреть через ie, edge.

Скрытый текст

2019-03-11.thumb.jpg.483c315ee00d88c2608a100dbded720d.jpg

Gets or Sets - значит можно писать(устанавливать значение) в свойство и также считывать текующее значение.

 

file имеет тип числа - номер активного открытого документа.

а вот files - это массив который хранит уже имена открытых файлов.

Share this post


Link to post
Share on other sites

Спасибо, завтра поэкспериментирую. Надо еще с буфером разобраться :)

Share this post


Link to post
Share on other sites

ID: 313   Posted (edited)

https://ru.wikipedia.org/wiki/Visual_Studio_Code    вроде хорошая вещь и бесплатная. Все методы показывает  через  IntelliSense . Может и получше N++ если еще и со столбиками работает   :) 

Edited by Fedor

Share this post


Link to post
Share on other sites

Провозился с VSC , не понравилось. Вернулся к N++ и затычка как взять содержимое буфера обмена ? 

 

var buf = UltraEdit.clipboardContent;   // взять список из буфера  так бралось раньше в UE ...

Share this post


Link to post
Share on other sites


Editor.clipBoard;

alert(clipBoard);       // вот так показывает содержимое буфера. То есть доступ есть остается научиться читать как текст :)

Share this post


Link to post
Share on other sites

var cl=clipBoard;      alert(  cl);    

 

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

Share this post


Link to post
Share on other sites

ID: 317   Posted (edited)

1 час назад, Fedor сказал:

var cl=clipBoard;      alert(  cl);    

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

System.clipBoard можно просто clipBoard

currentView.text+="\n"+clipBoard.ToString();//стопудово в строку а потом в конец текста документа, с новой строки.

2 часа назад, Fedor сказал:

VSC

Это среда для программирования. У вас же задача разбора текста.

если построчно как-нибудь так попробуйте:

for (i = 0; i < currentView.lines.count; i++)
{

var cl=currentView.lines.get(i);

cl.text+="some text in line #"+i.ToString();

}

 

 
Edited by frei

Share this post


Link to post
Share on other sites

ID: 318   Posted (edited)

Все получилось. Такое  в буфере   


                  ТОЧКА     Слой: "ren.mtr.bar"
                           Пространство: Пространство листа
                           Лист: 503
                   Метка = 6be30
                 в точке. X=   0.0000  Y=  -2.0000  Z=   0.0000

                  ТОЧКА     Слой: "ren.mtr.bar"
                           Пространство: Пространство листа
                           Лист: 503
                   Метка = 6be34
                 в точке. X=  39.3000  Y=  -2.0000  Z=   0.0000

                  ТОЧКА     Слой: "ren.mtr.bar"
                           Пространство: Пространство листа
                           Лист: 503
                   Метка = 6be31
                 в точке. X=  98.0000  Y=   0.0000  Z=   0.0000

.....

 

 

переваривает в такое для APDL

 

/PREP7 
      m_z =0  ! точки 
     k ,,           0 ,          0 ,  m_z ,   $  
      k ,,          40 ,          0 ,  m_z ,   $  
      k ,,         100 ,          0 ,  m_z ,   $  
      k ,,           5 ,         55 ,  m_z ,   $  
      k ,,          90 ,         45 ,  m_z ,   $  
      k ,,         100 ,         55 ,  m_z ,   $  
      k ,,          45 ,         85 ,  m_z ,   $    

.....

 ЧТД    :)

Edited by Fedor

Share this post


Link to post
Share on other sites

Моменты что ль? Я тему не читал так что пардон.

Share this post


Link to post
Share on other sites

Координаты точек из автогада в apdl  :)  

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.